Как я минимизирую использование дискового пространства

Отобразите подсказку, где имя хоста является полужирным. Я попробовал цветные подсказки некоторое время, но цвет будет иногда выглядеть плохо в зависимости от фона. Полужирные работы для меня для светлого фона, темного фона, синих фонов, и т.д.

Это находится в моем .bashrc:

    bold=$(tput bold)
    reset=$(tput sgr0)
    export PS1="\u@\[$bold\]\h\[$reset\]:\w \$ "
30
09.07.2011, 13:07
5 ответов

Вот некоторые точки, с которых Вы могли запустить:

  • Взгляните на пакеты, установленные в Вашей системе с pacman -Q и удалите тех, Вам не нужно. Хорошее начало может быть должно добавить -t переключатель:

    Ограничьте или отфильтруйте вывод к пакетам, не требуемым любым в настоящее время устанавливаемым пакетом.

  • Уберите кэш пакета pacman с pacman -Sc

  • Всегда используйте pacman -Rs удалить также неиспользованные зависимости от пакета.

  • Найти "большие файлы" и папки, которые используют значительные части диска, хорошего дополнения к du xdiskusage. Этот небольшой инструмент позволяет Вам быстро просмотреть свою файловую систему и видеть графическое представление использования диска папок.

19
27.01.2020, 19:38
  • 1
    pacman -cc для очистки всего кэша включая установленные пакеты, я думаю. Не обычно рекомендуемый, поскольку можно хотеть тех как резервные копии позже. –  xenoterracide 15.09.2010, 00:22
  • 2
    @xeno, я уже монтирую diretory на своем рабочем столе для --cachedir, таким образом, я не должен сохранять pkg файлы. –  Stefan 15.09.2010, 01:35
  • 3
    Для того, чтобы освободить место на /, Я нашел pacgraph действительно полезный. Это может отсортировать Ваши установленные пакеты по размеру, таким образом, можно лучше расположить по приоритетам то, что имеет смысл удалять. (Это может даже нарисовать графы зависимостей SVG, но полезно из просто командной строки.) –  Anko 14.01.2014, 12:34
  • 4
    ncdu прохладная альтернатива командной строки xdiskusage. Баобаб является безусловно лучшим графическим приложением с этой целью все же. –  Zaz 09.05.2015, 21:27

На диске на 4 ГБ в моем Eeepc с Ubuntu это помогло удалить некоторые файлы локали (из/usr/share/locale) и справочные файлы Gnome (от/usr/share/gnome/help/). Оба были установлены для языков, которые я не использую. Не уверенный, если Дуга Linux даже устанавливает все те файлы, все же.

3
27.01.2020, 19:38
  • 1
    да... du -hs /usr/share/locale приблизительно 300 МБ... может я просто rm -rf ненужные файлы? –  Stefan 15.09.2010, 18:45
  • 2
    @Stefan wiki.archlinux.org/index.php/Locale, Если Вы редактируете /etc/locale.gen и повторно выполненный locale-gen, у Вас должно быть меньше предварительно скомпилированных локалей. Если Вы хотите освободить больше пространства автоматизированным способом, Вы могли бы хотеть попробовать aur.archlinux.org/packages.php?ID=11975 также. (Но это не поддерживается и если это повреждает Вашу систему, Вы добираетесь для хранения частей.) –  ephemient 16.09.2010, 05:13
  • 3
    localepurge является сценарием для удаления дискового пространства, потраченного впустую для ненужных локализаций. Отредактируйте/etc/locale.nopurge сначала :) Это вымылось в первый раз на ~300 МБ, когда у меня есть runned это и десятки МБ каждые несколько месяцев. Доступно в АУРЕ. –  tuk0z 28.07.2015, 19:36

Я предложил бы АВТОМАТИЗИРОВАТЬ рассмотрение Ваших собственных очень старых файлов и видел бы, удаляют ли его необходимые и их. Это может сделанный с двумя вещами. Одна запись a find команда для поиска очень старых файлов. и использование этого вывода (возможно, канал) к lograte в сценарии к архивным файлам, более старым, чем, говорятся 3 месяца, и удалите файлы, более старые, чем 3 месяца в архиве, и отправьте почту в 1 день прежде, чем удалить его. Так, чтобы можно было быть уверены, что Вы не потеряли важного файла. Таким образом в наконец Вас нуждался бы в следующих командах для выполнения вышеупомянутого:

find , | , logrotate , mail, crontab

Я не собираюсь черпать, подают Вас. Я сделал это, прежде чем было довольно успешно с этим и был позже фрагментирован, потому что мы решили пойти с nagios для контроля, поскольку это было более настроено, чтобы сделать такой материал в сервере корпорации. Я думаю если mail команда уже не настроена для Вас, Вы могли бы найти, что самый жесткий отдых должен быть прямым. Это все потребности к сделанному через сценарии удара и помещение это в задании крона и работать каждый x дни. Изучите сценарии удара, это будет очень полезно не только для этого, но и сделать Вашу жизнь легче с *отклоняют. Так используйте свой любимый интернет-поисковик и чтение о вышеупомянутых командах и сценариях удара. И свяжите их и протестируйте его. После того, как удовлетворенный помещенный в регулярное использование. Я гарантирую, что это будет забавное выполнение этого. Вы изучите много, если Вы не сделали этого отчасти прежде.

  • Надежда, которая помогает
0
27.01.2020, 19:38
  • 1
    Fro мой опыт, я нашел, что большинством дисковых вещей занятия не являются связанные с ОС файлы, но мои собственные файлы, накопленные в течение времени, следовательно я предложил вышеупомянутое. –  bagavadhar 09.07.2011, 13:33

ВНИМАНИЕ: Эти идеи предназначены только для пользователей, хорошо разбирающихся как в Linux в целом, так и в Arch Linux.

Если вы готовы вступить на опасную территорию, вы можете уменьшить базовую установку Arch до менее чем 500 МБ. Для этого нужно сделать несколько очень опасных вещей:

  1. удалить все ненужные локали (уже описано)
  2. удалить все файлы прошивки, не нужные для работы системы (из /usr/lib/firmware)
  3. удалить все модули ядра, не нужные для работы системы (из /usr/lib/modules/. ...)
  4. удаление любых файлов .a в /usr/lib (только если вы никогда не используете систему для компиляции программного обеспечения. примечание: это включает использование makepkg)
  5. удаление всего в /usr/include (только если вы никогда не используете систему для компиляции программ)
  6. удаление ненужной документации из /usr/share/doc /usr/share/info
  7. (ОЧЕНЬ плохая идея, разве что для сервера) удаление man-страниц из /usr/share/man
  8. (тоже плохая идея) удаление ненужных дескрипторов терминала из /usr/share/terminfo и ненужные файлы временных зон из /usr/share/zoneinfo
  9. (ОПАСНО) выполнение strip * на всех папках, содержащих исполняемые двоичные файлы (/usr/bin и /usr/sbin)
  10. (в в экстремальных ситуациях) с помощью такого инструмента, как 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-сервером на 512 Мб диске-на-модуле в течение нескольких месяцев, используя эти методы, однако они не для слабонервных. (Я также использовал LinuxFromScratch для создания аналогичного проекта на 128 Мб памяти, но это уже другая история...)


EDIT/ADD:

Вот еще несколько методов, которые вы можете использовать, чтобы попытаться получить немного дополнительного места:

  • Избавление от libgo. Библиотека libgo поставляется с gcc-libs и AFAIK используется только приложениями, написанными на языке Go. Я не могу вспомнить ни одного приложения, которое я использую, которому нужна эта библиотека. На моей системе ее размер составляет 40 МБ. Когда вы пытаетесь уменьшить размер, это очень много места. Я удалил его из своих "мини" установок без каких-либо последствий для всего, что я делаю (но опять же, это я, YMMV!)

  • Уменьшение libicudata.so. В моей системе он занимает 27 МБ. По сути, это тонна данных unicode/locale, сжатых в библиотечный объект. В Интернете есть инструмент, который может создавать уменьшенные версии этого файла, но он не был обновлен для текущей версии (и вы не можете использовать старые файлы в новых версиях). Я не пробовал делать это вручную, но если вы сможете понять, как это сделать, вы сможете сэкономить около 20-22 МБ от этого файла.

  • Если вы используете Python, вы можете сэкономить 37 МБ или около того, удалив библиотеку test из python2: rm -r /usr/lib/python2.7/test и около 66 МБ, удалив ее для 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 и удаление всего остального сэкономило около 80 МБ.

Теперь я хочу увидеть инструмент, который анализирует вашу систему и определяет, какие модули ядра вам нужны, а также какие файлы прошивки вам нужны. Это был бы хороший способ "безопасно" очистить эти папки...

Или, может быть, кто-то должен собрать "дистрибутив" Arch, который использует uClibc или diet-libc или что-то подобное. Это может быть забавный летний проект. :-)

.
11
27.01.2020, 19:38

TL; DR

journalctl --vacuum-size=100M #remove all logs, only retain 100mb
pacman -Scc #remove all package installation files (obsolete and current)
pacman -S bleachbit
bleachbit -c system.*

Во-первых, что важного в системе

du -d1 -h / 2>/dev/null | sort -h

Здесь показан отсортированный список самых больших каталогов в / { {1}} Вы можете сделать два уровня ниже:

du -d2 -h / 2>/dev/null | sort -h

Мой результат:

0       /proc
0       /sys
0       /tmp
12K     /dev
12K     /srv
16K     /lost+found
632K    /run
4.3M    /boot
13M     /opt
15M     /etc
75M     /root
93M     /home
2.4G    /var
3.2G    /usr
221G    /mnt
227G    /

Я игнорирую / mnt (потому что это внешний диск) На ум приходят две директории: var и usr . Давайте посмотрим, что внутри:

du -d1 -h /var /usr 2>/dev/null | sort -h

Затем, немного глубже:

du -d1 -h /var/log /usr/share /usr/lib /var/cache 2>/dev/null | sort -h

Давайте начнем с журналов

У меня 717 МБ в / var / log .

Я не поклонник случайного удаления каталогов, поэтому давайте сделаем это чисто:

$ journalctl --disk-usage
Archived and active journals take up 728.7M on disk.

Оставим только 100 МБ журналов:

journalctl --vacuum-size=100M
...
Deleted archived journal /var/log/journal/ba5391...b.journal (8.0M).
...
Vacuuming done, freed 616.6M of archived journals on disk.

Подробнее о настройке journalctl здесь .

Пакеты

У меня 660M / var / cache / pacman . Это было 1,8 ГБ, но я запустил pacman -Sc , чтобы удалить неиспользуемые пакеты. Давайте удалим остальное:

pacman -Scc

/ usr / share / locale

Многие пользователи удаляют его или, по крайней мере, очищают. Но я мог бы быть проблемой . Но оформить заказ bleachbit (следующий абзац).

Bleachbit

Автоматический очиститель . Удаляю много всего, но для этого в основном были локации.

$ pacman -S bleachbit
$ bleachbit -p system.*
Disk space to be recovered: 488.8MB
$ bleachbit -c system.*

Вы можете найти дополнительные данные для удаления:

bleachbit --list
bleachbit -p thunderbird.*
5
27.01.2020, 19:38

Теги

Похожие вопросы