Одной из моих машин является EeePC Surf объемом 2 ГБ , аккуратный нетбук с очень ограниченными ресурсами. Настолько ограниченный, что сейчас у меня осталось 22 МБ свободного места.
На нем я использую Arch Linux с Openbox DE и набором необходимых приложений для его работы в качестве мобильного ПК.
Какие методы доступны для удаления ненужного пространства?
arch-linux
openbox
efficiency
Стефан
источник
источник
du -sh /
чтобы увидеть, где используется большая часть вашего пространства.du -sh /*
?cd /
и бегать,du -sh *
и сверлить ... (у вас на самом деле недостаточно баранов для хранения вещей в нем)Ответы:
Вот несколько моментов, с которых вы могли бы начать:
Посмотрите на пакеты, установленные в вашей системе,
pacman -Q
и удалите те, которые вам не нужны. Хорошим началом может быть добавление-t
переключателя:Очистите кеш пакетов от pacman
pacman -Sc
Всегда используйте
pacman -Rs
для удаления также неиспользуемые зависимости пакета.Хорошим дополнением
du
является поиск «больших файлов» и папок, которые используют большие части дискаxdiskusage
. Этот небольшой инструмент позволяет быстро просматривать файловую систему и видеть графическое представление использования папок диском.источник
pacman -cc
очистить весь кеш, включая установленные пакеты, я думаю. Обычно не рекомендуется, так как вы можете захотеть сделать это позже.--cachedir
, поэтому мне не нужно хранить какие-либо файлы pkg./
я нашелpacgraph
действительно полезным. Он может сортировать установленные пакеты по размеру, чтобы вы могли лучше расставить приоритеты в том, что имеет смысл удалять. (Он может даже рисовать графики зависимостей SVG, но полезен только из командной строки.)ncdu
это крутая альтернатива командной строкиxdiskusage
. Баобаб - безусловно, лучшее графическое приложение для этой цели.ВНИМАНИЕ: Эти идеи предназначены только для пользователей, которые хорошо разбираются как в Linux в целом, так и в Arch Linux.
Если вы хотите проникнуть на опасную территорию, вы можете уменьшить базовую установку Arch до менее 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-firmware, вернув все прошивки
/usr/lib/firmware
.)Наконец, следите за тем,
/var/log
как файлы журнала со временем будут расти. Вы можете удалить прошлые журналы, но сохранить текущие, выполнив что-то вродеrm *\@*.journal
своей папки журнала.Я успешно запускал NAS-сервер с устройства Disk-on-Module объемом 512 МБ в течение нескольких месяцев, используя эти методы, однако они все еще не для слабонервных. (Я также использовал LinuxFromScratch для создания аналогичного проекта только на 128 МБ памяти, но это другая история ...)
EDIT / ADD:
Вот еще несколько методов, которые вы можете использовать, чтобы получить дополнительное пространство:
Избавляемся от
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
или что - то подобное. Это может быть веселый летний проект. :-)источник
upx
, он не играть хорошо со всеми типами exectuables, ех: он оставил туздЫ & MongoDB segfaultingNoExtract
определениями (могут быть определены несколько раз), вы можете навсегда решить эту проблему. Один пример обновления только драйверов Realtek nic:NoExtract = usr/lib/firmware/* !usr/lib/firmware/rtl_nic/*
find /usr/lib/firmware -atime +30
найдет файлы прошивки, к которым нет доступа в течение 30 дней. Это должно быть безопасно удалить эти файлы.TLDR
Во-первых, что хорошего в системе
Это показывает отсортированный список самых больших каталогов в
/
Вы можете сделать два уровня вниз:Мой результат:
Я игнорирую
/mnt
(потому что это внешний диск) На ум приходят два режиссера:var
иusr
. Давайте посмотрим, что внутри:Затем немного глубже:
Начнем с логов
У меня есть 717mb
/var/log
.Я не фанат случайного удаления каталогов, поэтому давайте сделаем это чистым способом:
Оставим только 100 Мб логов:
Больше информации здесь о том, как настроить journalctl здесь .
пакеты
У меня есть
660M /var/cache/pacman
. Это было 1.8gb, но я побежал,pacman -Sc
чтобы удалить неиспользованные пакеты. Давайте удалим остальное:/ USR / доли / локали
Многие пользователи удаляют его или, по крайней мере, очищают. Но у меня может быть проблема . Но оформить заказ bleachbit (следующий абзац).
BleachBit
Автоматический очиститель . Удаляю много чего, но это были в основном локали.
Вы можете искать больше вещей для удаления:
источник
Total Installed Size: 209.70 MiB
du -xkd1
в/
каталоге, он не сойдет в другие точки монтирования.На 4 ГБ диске в моем Eeepc с Ubuntu он помог удалить некоторые файлы локали (из / usr / share / locale) и файлы справки Gnome (из / usr / share / gnome / help /). Оба были установлены для языков, которые я не использую. Не уверен, что Arch Linux даже установит все эти файлы.
источник
du -hs /usr/share/locale
это около 300 МБ ... я могу простоrm -rf
ненужные файлы?/etc/locale.gen
и перезапускаетеlocale-gen
, у вас должно быть меньше предварительно скомпилированных локалей. Если вы хотите освободить больше места в автоматическом режиме, вы можете попробовать aur.archlinux.org/packages.php?ID=11975 . (Но он не поддерживается, и если он сломает вашу систему, вы сохраните его.)Я бы посоветовал АВТОМАТИЗИРОВАТЬ просмотр ваших очень старых файлов и посмотреть, если это необходимо, и удалить их. Это может быть сделано с двумя вещами. Один пишет
find
команду для поиска очень старых файлов. и используя этот вывод (возможно, конвейер) дляlograte
сценария архивирования файлов старше 3 месяцев, удаления файлов старше 3 месяцев в архиве и отправки письма за 1 день до его удаления. Так что вы можете быть уверены, что не потеряли ни одного важного файла. Таким образом, в конце концов вам понадобятся следующие команды для выполнения вышеуказанного:Я не собираюсь кормить тебя ложкой. Я делал это до того, как с этим справился, и позже его отменили, потому что мы решили пойти
nagios
на мониторинг, так как он был более настроен на подобные вещи на сервере corp. Я думаю, что еслиmail
команда еще не настроена для вас, вы можете обнаружить, что самый жесткий отдых должен быть прямым. Все это необходимо сделать с помощью сценариев bash, а также помещать их в работу cron и запускать каждые x дней. Изучите скрипты bash, это будет очень полезно не только для этого, но и для облегчения вашей жизни с * nix. Так что используйте вашу любимую поисковую систему в Интернете и читайте о вышеупомянутых командах и скриптах bash. И свяжите их вместе и проверьте это. После того, как доволен, положить в регулярное использование. Уверяю, это будет весело. Вы многому научитесь, если раньше этого не делали.источник