ПОПЕРЕДЖЕННЯ. Ці ідеї призначені лише для користувачів, які добре розбираються як в Linux, так і в Arch Linux.
Якщо ви готові в'їхати на небезпечну територію, ви можете зменшити встановлення базової арки до менш ніж 500 Мб. Для цього потрібно зробити дуже небезпечні речі:
- видалення всіх непотрібних локалів (вже охоплене)
- видалення файлів мікропрограмного забезпечення, не потрібних для запуску вашої системи (з
/usr/lib/firmware
)
- видалення будь-яких модулів ядра, не потрібних для запуску вашої системи (з
/usr/lib/modules/...
)
- видалення будь-яких
.a
файлів /usr/lib
(лише якщо ви ніколи не використовуєте систему для збирання програмного забезпечення. Примітка: це включає використання makepkg
)
- видалення всього в
/usr/include
(лише якщо ви ніколи не використовуєте систему для збирання програмного забезпечення)
- видалення непотрібної документації з
/usr/share/doc
і/usr/share/info
- (ДУЖЕ БАД ІДЕЯ, якщо, можливо, для сервера) видалення чоловічих сторінок з
/usr/share/man
- (також погана ідея) видалення непотрібних дескрипторів терміналів із
/usr/share/terminfo
та непотрібних файлів часового поясу з/usr/share/zoneinfo
- (НЕБЕЗПЕЧНО), що працює
strip *
на всіх папках, що містять виконувані файли ( /usr/bin
та /usr/sbin
)
- (В екстремальних ситуаціях) з допомогою такого інструменту, як
upx
для стиснення великих двійкових файлів (виконавчі файли Samba піддаються на це добре , оскільки вони мають тенденцію бути досить великим , так як вони часто скомпільовані статично.) Крім того, зверніть увагу , що використання upx
означає , що весь нестислого довічного має вписуватися в ОЗУ під час виконання, тому будьте втомлені в системах з низькою оперативною пам’яттю.
Перш ніж робити що-небудь з цього, Створіть повну копію вашої системи. На щастя, Linux робить це порівняно просто - якщо ви можете приєднати та встановити зовнішній гучність (наприклад, USB-накопичувач), ви можете зробити щось на кшталт cd / && tar -cf /mnt/usb/mySystem.tar /
резервного копіювання всієї системи.
Ще раз зауважте, що я фактично не рекомендую робити вищезазначене (особливо 7 - 9), якщо ви не маєте глибоких знань, досвіду та розуміння внутрішніх справ Linux та Arch Linux . Гра з майже будь-яким із перерахованих вами файлів може жахливо пошкодити систему, тому вас попередили. Якщо ви не знаєте, чи потрібна вашій системі певний файл вбудованого програмного забезпечення, модуль тощо, то зробіть дослідження, перш ніж зіткнутися з ним. (Будьте попереджені, що видалення модулів ядра, необхідних вашій системі, може призвести до незавантаженої системи, або до системи, яка не підтримує клавіатуру / мережеву карту / звук / дисплей тощо), або всілякі інші незрозумілі поведінки.)
Також зверніть увагу, що будь-яке оновлення пакета може і відновить багато файлів, які ви видалили вище. Якщо ви все-таки вирішите піти цим маршрутом, ви, можливо, захочете в кінцевому рахунку скрипт видалити непотрібні файли та запустити свій скрипт після кожного основного оновлення пакету. (Приклад: оновлення ядра поверне всі модулі ядра, а також оновить через залежність пакет Linux-прошивки, який поверне всю прошивку /usr/lib/firmware
.)
Нарешті, слідкуйте за тим, /var/log
як файли журналу будуть рости з часом. Ви можете видаляти минулі журнали, але зберігати поточні, виконуючи щось на зразок rm *\@*.journal
у своїй папці журналів.
Месяцями я успішно запускав NAS-сервер із пристрою диска на модуль 512 Мб, використовуючи ці методи, однак вони все ще не для слабкого серця. (Я також використовував LinuxFromScratch для створення подібного проекту лише у 128 Мб сховища, але це вже інша історія ...)
Змінити / додати:
Ось ще кілька методів, якими ви можете скористатись додатковим простором:
Позбавлення libgo
. libgo
Бібліотека поставляється з gcc-libs
і AFAIK використовується тільки додатків , написаних на мові Go. Я не можу придумати жоден додаток, який я використовую для цієї бібліотеки. У моїй системі розмір 40 Мб. Коли ви намагаєтеся зробити тонкий шлях вниз, це багато місця. Я видалив його з моїх "міні" встановлень, не маючи негативних наслідків на що-небудь, що я роблю (але знову ж таки, це я, YMMV!)
Зменшуючи libicudata.so
. В моїй системі це 27 Мб. Це, в основному, тонна даних унікоду / локалі, стиснуті в об'єкт бібліотеки. В Інтернеті є інструмент, який може робити менші версії цього файлу, але він не оновлювався для поточної версії (і ви не можете використовувати старіші файли в новіших випусках.) Я не намагався це робити вручну, але якщо ви можете зрозуміти, як ви можете поголити цей файл приблизно на 20-22 Мб.
Якщо ви використовуєте Python, ви можете зберегти 37MB або так видаленням test
бібліотеки з python2: rm -r /usr/lib/python2.7/test
і про 66MB, видаливши його Python3: rm -r /usr/lib/python3.6/test
.
Знову для Python ви можете позбутися .pyo
файлів і .py
файлів. Ці .pyo
файли «оптимізовані» файли, але Python ніколи дійсно не використовує їх. Ці .py
файли є сирим вихідним кодом стандартної бібліотеки. Єдині файли, які Python зазвичай читає під час запуску коду Python, - це .pyc
файли (компільовані python). cd /usr/lib/python2.7 && find . -name "*.pyo" -exec rm -v {} \;
іcd /usr/lib/python3.6 && find . -name "*.pyo" -exec rm -v {} \;
Видалення непотрібних даних про локалі. Є пакет AUR, який називається, localepurge
який автоматизує це. Інакше вам доведеться пограти /usr/share/locale
. Вам потрібно зберегти свою локальну мову та locale.alias
. Для мене тут , в США, зберігаючи en_US
і locale.alias
і видалити все інше збрив про 80MB.
Тепер я хочу побачити інструмент, який аналізує вашу систему та визначає, які модулі ядра вам потрібні, а також які файли прошивки вам потрібні. Це був би хороший спосіб "безпечно" очистити ці папки ...
Або, може бути , хто - то повинен зібрати арку «дистрибутивом» , яка використовує uClibc
або diet-libc
або що - щось подібне. Це може бути веселий літній проект. :-)