Мы довольно часто устанавливаем новые пакеты в свою систему, например, нам нужно решить определенную задачу и мы ставим все программы, которые могут помочь и проверяем их по очереди, но будет лучше если в системе не будет ненужных программ.
Это повысит вашу безопасность. В этой статье мы рассмотрим как выполняется удаление пакетов Debian различными способами, рассмотрим как удалить пакет имя которого вы знаете, а также как удалить все ненужные пакеты из системы.
Содержание статьи
Удаление пакетов Debian
Самый простой способ удалить программу Debian, которая вам больше не нужна - это воспользоваться пакетным менеджером apt. Просто используйте команду apt remove:
$ sudo apt-get remove имя_программы
Или можно удалить все пакеты, которые касаются этой программы, например:
$ sudo apt-get remove имя_программы*
Например, удалим установленный по умолчанию почтовый клиент evolution. Если бы мы использовали звездочку, то были бы удаленны все пакеты, имя которых начинается на evolution, например, evolution-data и evolution-plugins.
sudo apt-get remove evolution
Но при таком способе удаления в системе могут оставаться конфигурационные файлы программы, а также дополнительные пакеты. Чтобы удалить конфигурационные файлы можно использовать опцию --purge или команду purge:
sudo apt-get --purge remove evolution
А чтобы выполнить удаление пакетов debian, которые больше не нужны после установки используйте опцию --auto-remove, она аналогична запуску apt с командой autoremove:
sudo apt-get --purge --auto-remove remove evolution
Или просто:
sudo apt-get purge --auto-remove evolution
Последняя команда выполняет полное удаление пакета из системы. Но чтобы удалить пакет вам нужно сначала знать его имя. Имя пакета можно узнать с помощью утилиты dpkg. Сначала ищем какие-либо файлы программы по ее названию, например, тот же evolution:
find / -name evolution
Дальше смотрим имя пакета, которому принадлежит выбранный файл:
sudo dpkg -S /usr/bin/evolution
А дальше, уже на основе полученной информации вы можете удалить лишний пакет. Рассмотрим как удалить пакет Debian с помощью dpkg, для этого есть опция -r или --remove. Но тут вам придется указать все зависимости:
sudo dpkg --remove evolution evolution-plugins
У dpkg есть свой аналог команды purge, это опция -p или --purge, которая позволяет удалить пакет Debian полностью и не оставлять никаких конфигурационных файлов в системе:
sudo dpkg --purge evolution evolution-plugins
Если пакет не удаляется потому что был поврежден или была повреждена база пакетов, а вы считаете что удаление именно этого пакета может спасти ситуацию, то используйте опцию --force-remove-reinstreq:
sudo dpkg --remove --force-remove-reinstreq имя_пакета
Также можно использовать опцию --force-depends, чтобы не удалять пакеты, которые зависят от удаляемого:
sudo dpkg -r --force-depends имя_пакета
Иногда, во время удаления пакетов, некоторые зависимости остаются в системе, например, рекомендованные пакеты. Их тоже можно удалить чтобы освободить место и не держать лишнего на компьютере. Для этого используется программа deborphan. Для начала вам нужно будет ее установить:
sudo apt-get install deborphan
Затем для поиска всех пакетов, которые можно удалить наберите:
deborphan
Дальше вы можете удалить каждый пакет из списка вручную с помощью apt-get или dpkg. Если вы уже знаете, что все пакеты, которые будут удалены не нужны, то можно объединить команду deborphan с xargs и автоматически их все сразу удалить:
deborphan | xargs sudo apt-get -y remove --purge
Имя каждого пакета будет подставлено в конец строки.
Удаление пакетов в GUI
Пакеты можно удалять не только через терминал, но и через графический интерфейс. В Debian используется окружение рабочего стола Gnome, поэтому там доступен центр приложений Gnome Software. Вы можете запустить его из главного меню системы:
Затем перейдите на вкладку "Установлено":
Вам осталось выбрать приложение, которое хотите удалить, а затем нажать кнопку "Удалить":
После этого вам нужно будет ввести пароль пользователя, а затем дождаться завершения удаления. Как видите, все очень просто.
Выводы
В этой статье мы рассмотрели как выполняется удаление программ debian несколькими способами. Как видите, это достаточно просто. Если вы имеете немного опыта использования терминала, то сможете получить все его преимущества, в противном же случае можете использовать графический интерфейс. Если у вас остались вопросы, спрашивайте в комментариях!
https://youtu.be/xA7n1xxgrHc
Спасибо!Знал, но всё равно прикольно(полезно) почитать!
Привет комунити, привет Admin. Вопрос - например у меня поставилась программа с lib библиотеками. Как удалить программу и библиотеки от которых она зависела?
Система на дебиане. remove удаляет только программу. Получается только руками вычищать?
Привет, САША! У меня не Debian, но кое-что похожее. Попробуйте следующее:
# apt-get --autoremove
Если надо удалить все более не нужные зависимости вместе с пакетом, то так:
# apt-get remove --autoremove имя_пакета
Я слышал, что в Debian уже давно можно задавать в командной строке не apt-get, а просто apt.
САША, я посмотрел сейчас, как это работает в моём стареньком Debian 8 на другой машине, под Debian надо так:
# apt-get autoremove
Именно apt-get.
Привет msugar. Спасибо за ответ. Сижу на Астра линуксе 1.7.4. Не помню уже как решил проблему, возможно и autoremove в apt. Сейчас как раз ищу команду через dpkg как удалить определенный пакет.
Баэлдунг говорит следующее:
dpkg provides two primary methods for uninstalling packages:
dpkg -r : removes the package and its associated files, but leaves configuration files.
dpkg –purge : not only removes the package but also purges its configuration files and leftover data.
-r просто удаление, -purge удаление с конфигами.
Про apt-get. На старом дебиане не знаю, не могу подсказать, но Астра вроде как на 10 дебиане и там работают оба варианта - и apt и apt-get. Но я в основном пользуюсь обычным apt.
Спасибо большое за помощь.
Здравствуйте! А как удалить скаченные, но не установленные пакеты? А то они не нужны, а места много занимают. Спасибо!
sudo dpkg -r ZIP (ZIP как пример, попробуй)
Наверное очисткой кэша пакетов в apt
sudo apt-get clean
sudo apt-get autoclean
В отличие от clean, autoclean удаляет только те пакеты, которые невозможно загрузить из репозиториев.