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

Обновлено: 07.07.2024

Любая, даже самая совершенная операционная система со временем накапливает в себе мусор в виде неиспользуемых пакетов, ненужных файлов, давних логов, кеша уже устаревших пакетов и т д. Не исключение и зарекомендовавшая себя как самую стабильную систему - Debian. Этот дистрибутив Linux чаще всего используется на серверах, поэтому и проблемы с засорением здесь немного иные. Здесь меньше пользовательских файлов, но зато больше внимания нужно уделять безопасности и работе с пакетами.

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

Очистка Debian 10

1. Найдите большие пакеты

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

dpkg --get-selections | cut -f1 | while read pkg; do dpkg -L $pkg | xargs -I'<>' bash -c 'if [ ! -d "<>" ]; then echo "<>"; fi' | tr '\n' '\000' | du -c --files0-from - | tail -1 | sed "s/итого/$pkg/"; done

Если запустить команду от root, а именно это нужно сделать, то в директории /root появится файл packages.log со списком всех пакетов, упорядоченных по размеру.

Также вы можете использовать команду:

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

2. Удалите конфигурационные файлы

Это важный процесс, когда проводится очистка Debian 8. Если вы устанавливали много пакетов с помощью apt-get, то скорее всего, их конфигурационные файлы не были удаленны и все еще занимают место на диске. Конечно, можно использовать для удаления команду apt-get purge, но многие просто забывают об этом. Следующая команда выведет список всех пакетов, которые были удаленны, но оставили конфигурационные файлы в вашей системе:

dpkg --list | grep '^rc '

Теперь, вы можете отфильтровать вывод и удалить все эти конфигурационные файлы, такой командой:

dpkg --list | grep '^rc ' | awk '< print $2 >' | xargs dpkg -P

3. Очистка лишних пакетов

С зависимостями в систему устанавливается большое количество пакетов. Но при удалении ранее установленных пакетов их зависимости не удаляются. Таким образом, все это может накапливаться в системе. Чтобы удалить лишние пакеты и освободить место на диске выполните:

apt-get autoremove
apt-get clean

Опция autoremove используется для удаления ненужных пакетов, как раз тех, которые были установлены раньше как зависимости, но больше не нужны в вашей системе. А вторая команда просто удаляет все пакеты из кеша apt.

4. Очистка рекомендуемых пакетов

На удалении зависимостей очистка Debian 8 не заканчивается. Кроме зависимостей, вместе с программой устанавливаются рекомендуемые пакеты. Но поскольку они не находятся в зависимостях, то не удаляются вышеописанным способом. Такие пакеты можно найти с помощью следующей команды:

aptitude search '?and( ?automatic(?reverse-recommends(?installed)), ?not(?automatic(?reverse-depends(?installed))))'

Утилита отобразит список пакетов с описаниями:

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

aptitude search '?and( ?automatic(?reverse-recommends(?installed)), ?not(?automatic(?reverse-depends(?installed))))' | awk '< print $3 >' | xargs dpkg -P

5. Удалите лишние файлы

Очистка системы Debian 8 не будет полной, если не удалить засоряющие систему файлы. Дело в том, что не все файлы в файловой системе Linux принадлежат каким-либо пакетам. Файлы могли быть созданы вручную вами самими и забыть о них, а могли остаться после установки программ через make install. Так или иначе, многие из них больше не нужны.

Чтобы найти все такие файлы используйте утилиту cruft. Она сравнивает вашу файловую систему с базой данных менеджера пакетов и выводит файлы которых там нет.

Чтобы проверить файловую систему исключая /home, /tmp и /var используйте команду:

sudo cruft -d / -r report --ignore /home --ignore /var --ignore /tmp

Результат работы команды будет сохранен в файле report. Обратите внимание, что обработка выполняется только в пределах одной файловой системы, и если ваш /usr примонтирован как другой раздел используйте опцию -d /usr/.

Теперь вы можете переходить к анализу отчета. Но будьте аккуратны не удаляйте файлы, если не знаете откуда они там взялись, многие файлы будут создаваться служебными программами и библиотеками, например Grub создает несколько файлов в каталоге /boot, а openssl сохраняет свои сертификаты в /etc/.

6. Удаление файлы логов

Со временем в системе накапливаются файлы логов. Они могут занимать по несколько сотен мегабайт, поэтому логи тоже нужно вовремя удалять. Все логи находятся в папке /var/log. Просто удалите те, которые занимают много места и вам не нужны:

7. Удалите большие файлы

Нам нужно оценить насколько успешно прошла очистка диска Debian. Сначала давайте посмотрим сколько места занимают все файлы на жестком диске вашего сервера:

Теперь отсортируем все файлы по размеру, с помощью одной из следующих команд:

du -h | grep ^[0-9.]*M | sort -rn
du -h | grep ^[0-9.]*G | sort -rn

Первая отбирает файлы, размер которых исчисляется в мегабайтах, а вторая - в гигабайтах. Кроме того, вы можете воспользоваться утилитой ncdu. Но её надо сначала усстановить:

sudo apt install ncdu

Выводы

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

Конечно, Ubuntu, как и любая другая операционная система Linux засоряется намного меньше Windows, здесь нет реестра, и архитектура системы рассчитана так, чтобы оставлять мусор по минимуму. Но кроме системных недочетов, в файловой системе могут накапливаться ненужные файлы пользователей и программ. Поэтому очистка ubuntu от мусора необходима.

Как очистить Ubuntu

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

1. Использование дискового пространства

Очистка системы Ubuntu 20.04 должна начаться с выяснения, какие файлы потребляют больше всего пространства на диске. В этом вам поможет программа ncdu. Это консольная утилита с псевдографическим интерфейсом, но мне она нравится больше всего. Сначала её надо установить. Для этого выполните в терминале:

sudo apt install ncdu

Затем запустите программу:


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

2. Дубликаты файлов

Со временем могло накопиться несколько копий одного файла в системе. Если нужна очистка памяти в Ubuntu, то такие файлы важно найти и удалить, прежде чем они заполнят весь жесткий диск.

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

Для установки программы используйте команду:

sudo apt install fslint

Запустить программу можно из главного меню. В главном окне нужно указать путь, по которому следует искать дубликаты файлов с помощью кнопки Add, затем перейти на вкладку Дубликаты и нажать в самом низу Найти:


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

Еще одним отличным решением для поиска дублей есть утилита BleachBit, кроме поиска дубликатов файлов, здесь есть специальные приложения для нахождения дублей фото и аудиофайлов по специальным алгоритмам. Подробнее о работе с программой я писал в отдельной статье - как освободить место в Linux.

3. Очистка пакетов

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

Удалить неиспользуемые пакеты из кэша

sudo apt autoclean

Очистка кэша в Ubuntu, утилиты apt:

Удаление ненужных зависимостей:

sudo apt autoremove

Вообще хорошей практикой будет удалять зависимости сразу при удалении приложения:

sudo apt autoremove приложение

4. Старые версии snap пакетов

В новых версиях Ubuntu используется пакетный менеджер snap, он тоже оставляет в системе кэш, а также старые версии пакетов после обновления. Эти версии уже не используются но всё ещё занимают место. По умолчанию, это три, это значение можно изменить на две с помощью такой команды:

sudo snap set system refresh.retain=2

Если вы хотите полностью удалить неиспользуемые версии пакетов, для этого понадобится использовать небольшой скрипт:

sudo vi /usr/local/bin/remove_old_snaps.sh

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

sudo chmod ugo+x /usr/local/bin/remove_old_snaps.sh

5. Старые пакеты программ

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

Откройте менеджер пакетов Synaptec, нажмите кнопку Состояние, затем откройте пункт Не установленные (остались файлы конфигурации). Здесь и будут те пакеты, которые, остались в системе после обновления или неполного удаления.

Поставьте галочки напротив всех таких пакетов, и выберите опцию Отметить для полного удаления. Затем нажмите Правка -> Применить для применения действия.

Аналогичное действие можно выполнить в терминале. Для этого используйте команду:

dpkg -l | awk '/^rc/ ' | xargs sudo dpkg --purge

Можно воспользоваться и командой попроще если у вас установлен aptitude:

sudo aptitude purge

6. Неиспользуемые пакеты

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

Для этого будет очень полезной программа GTKOrphan. Для ее установки выполните:

sudo apt install gtkorphan

Как обычно, открыть программу вы можете из главного меню.


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

7. Файлы локализации

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

Установите утилиту localepurege:

sudo apt install localepurge

На этапе установки пакета выберите те локали, которые вам нужны, все остальные будут удалены. По умолчанию выбраны en_US и ru_RU для кодировки UTF-8, вы можете выбрать и другие.


8. Никому не принадлежащие файлы

При неправильной установке программ из исходников в системе могут накопляться файлы, не принадлежащие ни одному пакету, после удаления этих программ они могут просто оставаться в системе. Также такие файлы накапливаются при установке программ из бинарных файлов или создаются вами вручную. Одним словом, такие файлы нужно удалять. Для этого будем использовать программу cruft. Для установки выполните:

sudo apt install cruft

Для запуска программы просто выполните её с опцией -r и путём к файлу, куда надо сохранить отчёт:

sudo cruft -r cruftreport

Затем просто откройте полученный файл в с помощью less или cat:


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

9. Старые ядра

После обновления ядра, особенно в старых версиях Ubuntu старые ядра всё ещё остаются и занимают место в папке /boot. Чтобы из удалить можно использовать утилиту Ubuntu Cleaner. Для её установки выполните:

sudo apt install ubuntu-cleaner

Откройте программу из главного меню или через терминал, затем отметьте пункт Old Kernel. В правой части окна появится список пакетов ядер, которые можно удалить:


Отметьте нужные и нажмите кнопку Clean. Другие способы удалить старые ядра описаны в отдельной статье.

Выводы

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

APT кеш – это то место, куда сохраняются файлы с каждого обновления.

Для определения количества места, занимаемого APT кешем, нужно ввести команду в терминале:

Очистка APT кеша. Определение количества места, занимаемого APT кешем

Очистка APT кеша. Определение количества места, занимаемого APT кешем

Для того, чтобы отчистить APT кеш, нужно ввести в терминале следующую команду:

Очистка APT кеша

Удаление ненужных пакетов и зависимостей

Для удаления пакетов, которые больше не требуется, нужно ввести в терминале следующую команду:

Для удаления зависимостей, которые больше не требуется, нужно ввести в терминале следующую команду:

Подтверждение удаления ненужных зависимостей

Удаление ненужных зависимостей

Команда для удаления ненужных зависимостей, оставшихся от Flatpak пакетов:

Подтверждение удаления ненужных зависимостей, оставшихся от Flatpak пакетов

Подтверждение удаления ненужных зависимостей, оставшихся от Flatpak пакетов Ненужные зависимости, оставшихся от Flatpak пакетов, удалены

Удаление неиспользуемых программ

Скорее всего у вас есть программы и игры, которыми вы не пользуетесь или используете очень редко.

Программы и игры в дистрибутивах Linux можно удалить через центр программ или посредством команды в терминале.

Удаление через центр программ Discover (можно удалять программы и игры, установленные посредством Deb и Snap пакетов):

Удаление программы (установленной посредством Deb пакета) через центр программ Discover

Удаление программы (установленной посредством Deb пакета) через центр программ Discover

Удаление программы (установленной посредством Snap пакета) через центр программ Discover

Удаление программы (установленной посредством Snap пакета) через центр программ Discover

Удаление программы (установленной посредством Snap пакета) через центр программ Discover 2

Удаление программы (установленной посредством Snap пакета) через центр программ Discover 2

Удаление программы, установленной посредством Deb пакета

Команда для удаления программы/игры посредством терминала:

package – название программы

Удаление программы посредством терминала. Подтверждение удаления программы

Удаление программы посредством терминала. Подтверждение удаления программы

Удаление программы посредством терминала. Программа удалена

Удаление программы посредством терминала. Программа удалена

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

Удаление сразу нескольких программ посредством терминала. Подтверждение удаления программ

Удаление сразу нескольких программ посредством терминала. Подтверждение удаления программ

Удаление сразу нескольких программ посредством терминала. Программы удалены

Удаление сразу нескольких программ посредством терминала. Программы удалены

Удаление программы, установленной посредством Snap пакета

Команда для удаления сразу нескольких программ/игр (Snap) посредством терминала:

Процесс удаления Snap пакета

Snap пакеты удалены

Удаление программы, установленной посредством Flatpak пакета

Команда для удаления программы/игры (Flatpak) посредством терминала:

Подверждение удаления Flatpak пакета

Flatpak пакет удалён

Удаление старых пакетов программ

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

Удаление старых пакетов программ посредством менеджера пакетов Synaptic

Для того чтобы удалить старые пакеты программ, нужно открыть менеджер пакетов Synaptic, далее нажмите на кнопку “Состояние”, далее выберите вкладку “Неустановленные (остались файлы настроек)”

Удаление старых пакетов программ посредством Synaptic

Удаление старых пакетов программ посредством Synaptic

Далее нужно выбрать все пакеты: нажимаем на любой пакет, а потом CTRL+A (выделяем все пакеты). Далее нужно нажать правой кнопкой мыши для вызова контекстного меню, далее выбираем пункт “отметить для полного удаления”. Далее нужно нажать на кнопку “Применить” или Правка —> Применить отмеченные изменения

Удаление старых пакетов программ посредством Synaptic. Отметка всех выделенных пакетов через контекстное меню

Удаление старых пакетов программ посредством Synaptic. Отметка всех выделенных пакетов через контекстное меню

Удаление старых пакетов программ посредством Synaptic. Пакеты отмечены для удаления

Удаление старых пакетов программ посредством Synaptic. Пакеты отмечены для удаления

Удаление старых конфигурационных файлов программ посредством терминала

Команда для просмотра списка всех пакетов, от которых остались старые конфигурационные файлы:

Просмотр списка всех пакетов, от которых остались старые конфигурационные файлы

Просмотр списка всех пакетов, от которых остались старые конфигурационные файлы

Команда для удаления старых конфигурационных файлов определённой программы:

Удаление конфигурационных файлов определённой программы

Удаление конфигурационных файлов определённой программы

Команда, чтобы удалить все старые конфигурационные файлы:

Удаление всех старых конфигурационных файлов

Поиск дубликатов файлов

Поиск и удаление дубликатов файлов с помощью графической программы FSlint (имеются и другие инструменты для очистки системы от мусора)

Для начала нужно выбрать папку для сканирования на наличие дубликатов, нажав на кнопку “Add”. Далее нужно выбрать вкладку “Дубликаты” и нажать на кнопку “Найти”.

После завершения поиска дубликатов, будут отображены найденные дубликаты файлов, вы можете их удалить или объединить:

Поиск дубликатов файлов посредством графической программы FSlint

Поиск дубликатов файлов посредством графической программы FSlint

Очистка системы посредством графических программ

Программа BleachBit позволяет производить очистку: APT кеша, данные различных программ (Firefox, Thunderbird, LibreOffice и других), временных файлов и прочего мусора.

BleachBit. Очистка APT кеша

BleachBit. Очистка данных программы Firefox

BleachBit. Очистка системы в целом

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

Чистка системы в Линуксе

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

sudo apt-get autoclean
рекомендуется делать эту команду периодически, очищая систему от .deb пакетов, которые более не нужны,

sudo apt-get autoremove
данная команда удаляет неудалённые зависимости от уже удалённых пакетов,

sudo apt-get clean
очистка каталога /var/cache/apt/archives/ .

Ubuntu Tweak

После обновления ядер старые ядра никуда не деваются, а мирно покоятся рядом с новым ядром. Поэтому их тоже нужно удалять и лучше всего это делать очень полезной программой Ubuntu Tweak. Кроме очистки системы, программа имеет еще очень разных полезностей.
С помощью данного твикера можно:

  1. Устанавливать программы.
  2. Узнать информацию о системе.
  3. Управлять элементами автозагрузки.
  4. Настроить логин и логаут.
  5. Настроить различные параметры рабочего стола.
  6. Подстроить Компиз Фьюжн.
  7. Управлять питанием и безопасностью.
  8. И др.

Установка программы:
sudo add-apt-repository ppa:tualatrix/ppa
sudo apt-get update
sudo apt-get install ubuntu-tweak

BleachBit

Еще одна полезная программа для очистки системы называется BleachBit. Она есть в репозиториях Ubuntu и установить ее можно прямо из Центра приложений Ubuntu.

"Софтина" позволяет удалять неиспользуемые языки интерфейса.
С помощью BleachBit можно очистить оперативную и swap память.
Программа может удалять временные файлы, cookles, список закачанных файлов и паролей всевозможных браузеров (Opera, Safari, Firefox, Chrome и другие). Кроме этого программа оптимизирует используемые базы данных.
Программа также чистит историю и кэш Gnome, Nautilus, Adobe Flash.
BleachBit дает возможность удалить все файлы Thumbs.db, которые появляются в следствии работы ОС Windows.

Еще в репозиториях Убунты есть такие программы для чистки системы как: Sweeper, FSlint, Gtkorphan.

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