Linux удаляет неиспользуемые пакеты

Обновлено: 03.07.2024

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

  1. Уменьшение размера области установки Debian
    1. Удалить некритические пакеты
    2. Перенастройте apt, чтобы он не устанавливал дополнительные пакеты
    3. Замените пакеты меньшими эквивалентами
    4. Удаляйте ненужные файлы во время установки
    5. Удалите ненужные пакеты вообще
    6. Удалите ненужные файлы локали.
    7. Удалить man-файлы на иностранном языке
    8. Удалите ненужные модули ядра.
    9. Создайте меньшее ядро, используя меньше опций
    10. Уменьшить размер установки X.
    11. Уменьшите размер файлов initramfs
    12. Удалите ненужные файлы ipv6
    13. Удалить файл /etc/alternatives
    14. Замените процессы getty демоном единого процесса ngetty
    15. Используйте встроенные функции busybox вместо полных пакетов
    16. Пересборка пакетов с помощью Tiny C Compiler
    17. Сжатие двоичных файлов/библиотек с помощью UPX
    18. Сжатие векторных шрифтов с помощью woff2

    Удалить некритические пакеты

    Перенастройте apt, чтобы он не устанавливал дополнительные пакеты

    Добавьте следующие записи в файл конфигурации /etc/apt/apt.conf:

    APT::Install-Recommends "0" ; APT::Install-Suggests "0" ;

    Замените пакеты эквивалентами меньшего размера

    Удаляйте ненужные файлы во время установки

    Нежелательные файлы, как и большинство файлов из следующих разделов, можно удалить во время установки с помощью фильтров dpkg, см. параметры dpkg(1) --path-exclude и --path-include.

    Удалите ненужные пакеты вообще

    Apt имеет встроенную функцию удаления файлов, которые больше не нужны вашей системе. Выполните следующую команду, чтобы удалить ненужные пакеты:

    К сожалению, apt не всегда удается найти и удалить все неиспользуемые файлы. Это может быть проблемой, особенно если программа была установлена ​​вне apt (например, с помощью make install). Поэтому лучшее решение по удалению ненужных пакетов — вообще не устанавливать их.

    deborphan — полезный пакет для поиска других ненужных пакетов в системе. Чтобы найти такие пакеты, выполните:

    Будьте осторожны при удалении предлагаемых пакетов, так как они могут иметь зависимости от пакетов, которые могут по-прежнему требоваться вашей системой.

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

    При удалении пакетов следите за тем, чтобы не сломать Debian!

    Удалите ненужные файлы локали

    Примечание. См. фильтры dpkg.

    Удалить man-файлы на иностранном языке

    При наличии соответствующих привилегий можно удалить чужие справочные страницы следующим образом:

    Примечание. См. фильтры dpkg.

    Удалите ненужные модули ядра

    Создайте меньшее ядро, используя меньше опций

    Уменьшить размер установки X

    • Вы можете удалить пакеты xserver-xorg-video-*, которые не используете. вы все равно должны сохранить xserver-xorg-video-vesa.

    Уменьшить размер initramfs

    создайте /etc/initramfs-tools/conf.d/compress с содержимым

    Удалите ненужные файлы ipv6

    • /lib/xtables/libip6t_ah.so
    • /lib/xtables/libip6t_dst.so
    • /lib/xtables/libip6t_eui64.so
    • /lib/xtables/libip6t_frag.so
    • /lib/xtables/libip6t_hbh.so
    • /lib/xtables/libip6t_hl.so
    • /lib/xtables/libip6t_HL.so
    • /lib/xtables/libip6t_icmp6.so
    • /lib/xtables/libip6t_ipv6header.so
    • /lib/xtables/libip6t_LOG.so
    • /lib/xtables/libip6t_mh.so
    • /lib/xtables/libip6t_REJECT.so
    • /lib/xtables/libip6t_rt.so
    • /lib/xtables/libip6t_DNAT.so
    • /lib/xtables/libip6t_DNPT.so
    • /lib/xtables/libip6t_MASQUERADE.so
    • /lib/xtables/libip6t_NETMAP.so
    • /lib/xtables/libip6t_REDIRECT.so
    • /lib/xtables/libip6t_SNAT.so
    • /lib/xtables/libip6t_SNPT.so

    Удалить файл /etc/alternatives

    Если ваши приложения были сопоставлены традиционными методами, можно удалить каталог /etc/alternatives.

    Выигрыш крайне незначительный, и особого смысла в этом нет.

    Замените процессы getty демоном единого процесса ngetty

    Процессы getty можно заменить демоном единого процесса ngetty, чтобы сократить использование виртуальной памяти:

    Используйте встроенные модули busybox вместо полных пакетов

    Вы можете использовать крошечные инструменты busybox вместо установки полных пакетов. Запустите busybox, чтобы узнать, какие апплеты доступны. man busybox предоставляет подробную информацию о каждом апплете и поддерживаемых параметрах. например busybox df запускает апплет df из busybox.

    Добавить busybox less в систему альтернатив Debian в качестве пейджера

    Решение состоит в том, чтобы создать сценарий оболочки с именем busybox.less, который вызывает "busybox less $@".

    Пересборка пакетов с помощью Tiny C Compiler

    Пересборка пакетов с помощью Tiny C Compiler не уменьшает размер пакетов. Различия между tcc и gcc

    Когда мы устанавливаем пакет или программное обеспечение в Linux, оно также устанавливает множество его зависимостей. Когда мы удаляем это программное обеспечение из нашей системы Linux, эти пакеты всегда остаются позади. Со временем наша система загромождается такими потерянными пакетами, и они занимают много места на диске. Поэтому рекомендуется регулярно удалять неиспользуемые пакеты в Linux. Существует множество сторонних утилит, позволяющих автоматически находить и удалять такие неиспользуемые пакеты. В этой статье мы рассмотрим несколько способов удаления неиспользуемых пакетов в Linux. Вы можете использовать эти шаги для удаления нежелательных пакетов из систем Ubuntu/Debian, а также RHEL/Fedora/CentOS.

    Как удалить неиспользуемые пакеты в Linux

    Вот различные инструменты для удаления неиспользуемых пакетов в Linux.

    1. Использование Деборфана

    Deborphan — это командная утилита, позволяющая находить неиспользуемые пакеты в системах Ubuntu/Debian. Вот команда для его установки.

    После установки запустите его с помощью следующей команды.

    В нем будут перечислены все неиспользуемые пакеты

    Вы можете удалить эти пакеты с помощью следующей команды.

    Если откроется окно со списком всех неиспользуемых пакетов, которые вы можете выбрать, и нажмите кнопку ОК для удаления.


    2. Использование Gtkorphan

    Gtkorphan — это графический инструмент, позволяющий выбирать и удалять неиспользуемые пакеты из Linux. Для этого требуется система Linux с окружением рабочего стола, и это не утилита командной строки. Если в вашем Linux нет рабочего стола, используйте вместо него Deborphan.

    Вот команда для установки Gtkorphan.

    После установки выполните следующую команду, чтобы запустить Gtkorphan.

    Появится следующее окно со списком потерянных пакетов в разделе libs. Если вы хотите видеть потерянные пакеты во всех папках, просто установите флажок «Показать все потерянные пакеты…».


    Внимательно просмотрите список. Если вы хотите сохранить пакет, щелкните правой кнопкой мыши его имя и выберите параметр «Hibernate Package». С другой стороны, если вы хотите удалить пакет, щелкните правой кнопкой мыши его имя и выберите «Выбрать для удаления».

    После просмотра списка нажмите "ОК", чтобы удалить неиспользуемые пакеты.

    3. Использование автоочистки и автоудаления

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

    Однако он не будет запрашивать подтверждения или указывать имя пакета. Он просто автоматически найдет и удалит неиспользуемые пакеты в Linux.

    4. Использование рапморфана

    Rpmorphan похож на Deborphan. Это утилита командной строки для поиска и удаления неиспользуемых пакетов в RHEL/Fedora/CentOS Linux.

    Вот команда для его установки. Сначала нам нужно установить пакеты perl и perl-tk.

    Затем загрузите пакет RPM по этой ссылке. Для нашего примера мы скачали версию 1.16. Выполните следующую команду, чтобы установить его.

    После установки выполните следующую команду, чтобы получить список неиспользуемых пакетов.

    Как и deborphan, он выводит список всех неиспользуемых пакетов. Если вы хотите отобразить потерянные пакеты, которые были установлены несколько дней назад, используйте аргумент времени установки, как показано ниже.

    Точно так же, если вы хотите вывести список всех неиспользуемых пакетов, к которым не обращались за последние 2 дня, используйте аргумент времени доступа.

    Получив список пакетов, вы можете использовать команду rm для их удаления.

    Вот и все. В этой статье мы узнали 4 разных способа найти и удалить неиспользуемые пакеты в Linux. В зависимости от вашего дистрибутива Linux вы можете использовать любой из перечисленных выше инструментов.

    Удалите зависимости пакетов, которые больше не нужны, и настройте систему для автоматического выполнения этой задачи.

    Я буду использовать приложение dict в качестве примера, чтобы показать вам, как удалить пакеты, которые были автоматически установлены, чтобы удовлетворить зависимости для других пакетов и теперь больше не нужны.

    Установите пакет dict.

    Дополнительные пакеты libmaa3, librecode0, m4 и recode будут установлены автоматически.

    Командная строка

    Выполните команду удаления, будет удален только пакет dict, зависимости будут упомянуты и оставлены без изменений.

    Чтобы удалить неиспользуемые зависимости, выполните действие автоматического удаления.

    Вы можете инициировать это действие во время процесса удаления, но помните, что оно будет действовать так же, как приведенная выше команда, и удалит все неиспользуемые зависимости, поскольку не делает различий между неиспользуемыми пакетами, связанными с этим или другими пакетами.

    Отображать или скрывать пакеты, которые больше не требуются

    Не скрывать информацию о пакетах, которые больше не требуются.

    Это настройка по умолчанию.

    Отображать только краткую информацию без упоминания конкретных пакетов.

    Скрыть информацию о пакетах, которые больше не требуются.

    Защитить неиспользуемые пакеты

    Вы можете защитить пакеты, которые больше не нужны, от удаления.

    Приведенная выше конфигурация защитит пакет m4 и libmaa3 от автоматического удаления.

    Автоматически удалять неиспользуемые пакеты

    Включить автоматическое удаление неиспользуемых пакетов.

    Отладка процесса автоматического удаления

    В случае возникновения проблем или сомнений включите отладочную информацию во время автоматического удаления неиспользуемых пакетов.

    Отметить пакет как установленный вручную

    Автоматическое удаление позаботится об автоматически установленных пакетах.

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

    Дополнительные примечания

    Это выходит за рамки данной статьи, но вы можете использовать дополнительный параметр --purge, чтобы также удалить файлы конфигурации, связанные с удаленными пакетами.

    В этом руководстве вы научитесь автоматически удалять все неиспользуемые пакеты в Ubuntu. Я также покажу вам, как этот простой прием увеличивает производительность вашей системы.

    Примечание. Это руководство будет работать в дистрибутивах Debian, LinuxMint и Ubuntu Linux. В основном это работает для всех систем Linux DEB, которые используют подходящий инструмент управления пакетами.

    Почему вы должны удалить или удалить все неиспользуемые пакеты в Ubuntu?

    Управление установленными пакетами — очень утомительная работа. Очень часто нам приходится устанавливать ненужные пакеты, которые больше не используются.

    Когда вы устанавливаете какой-либо пакет Linux в своей системе, также устанавливаются многие другие зависимые пакеты. Теперь, даже если вы удалите исходный пакет, некоторые зависимые пакеты останутся.

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

    Давайте рассмотрим пример:

    Я попытался установить пакет Python python3-venv.

    (Это пакет для создания виртуальной среды для Python. Если вы не знаете об этом, не волнуйтесь. Это всего лишь пример.)

    В моей системе уже установлен python3-env. После выполнения этой команды это то, что я вижу на своем терминале.

    Вы можете увидеть текст "Следующие пакеты были установлены автоматически и больше не требуются".

    Я обновил пакет python3-venv. Он не требует некоторых зависимых пакетов, которые требовались для более раннего пакета python3-venv.

    Имеет ли смысл хранить эти неиспользуемые пакеты?

    Нет. Это создает беспорядок и потребляет много памяти. Сохранение этих ненужных пакетов также снижает производительность вашей системы.

    Как можно удалить пакеты, которые больше не требуются?

    Команда для удаления всех неиспользуемых пакетов в Ubuntu (Linux)

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

    С помощью этой простой команды вы удалили все ненужные пакеты. Он проверяет все пакеты и находит пакеты, которые больше не используются. И удалять их по одному. Это очень упрощает вашу работу.

    Если вы обнаружите какие-либо бесполезные пакеты, установленные в вашей системе, заведите привычку удалять их. Вам не нужно идти на компромисс с производительностью вашей системы.

    Читайте также: