Удаление пакета ubuntu dpkg

Обновлено: 04.07.2024

На самом деле всё очень просто. Существуют два основных инструмента работы с пакетами: aptitude и dpkg 1) . dpkg - это низкоуровневая программа управления пакетами, единственная полезная её функция для обычного пользователя - это прямая установка пакета из deb-файла. Выполняется она командой

Для того, чтобы команда успешно выполнилась, в системе должны присутствовать все зависимости устанавливаемого пакета, поскольку dpkg не умеет их разрешать и скачивать что-либо из репозиториев. Можно так же ставить несколько пакетов за раз, передавая их все как аргументы команде dpkg -i . Больше я пожалуй ничего про dpkg рассказывать не буду, да и вряд ли вам как-либо ещё понадобится использовать эту утилиту.

Утилита aptitude

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

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

Начнём с того, что установить пакеты из репозиториев можно командой

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


Обратите внимание, aptitude предлагает вам в квадратных скобочках три возможных варианта ответа на поставленный вопрос:

Y означает Yes, то есть согласие, n - это No, то есть отказ, а ? - это просьба вывести справку. Вам нужно ввести символ, соответствующий вашему выбору и нажать Enter . Однако часто есть вариант по умолчанию, выделенный в списке большой буквой, и если вам нужен именно он, то вы можете ничего не вводить, просто нажать Enter .

Аналогично установке, удалить пакеты можно одной из двух команд:

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

Посмотреть описание конкретного пакета можно командой

Произвести поиск нужного пакета по доступным источникам приложений можно командой

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

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


Несмотря на неприглядный вид работать с этим очень удобно, но всё-таки обычно пользователю более привычны инструменты вроде Synaptic, поэтому подробно описывать работу с графической оболочкой aptitude я не буду.

И напоследок хочется заметить, что обычно в разнообразных инструкциях для установки пакетов предлагается как раз использовать команду

Это ни в коей мере не значит, что кровь из носу надо исполнять эту команду. Вы спокойно можете поставить указанные пакеты через тот же Synaptic. Просто авторы инструкций обычно экономят своё время на объяснении куда и как надо нажимать в Synaptic, давая вместо всего этого одну маленькую команду. Но в конечном итоге aptitude и Synaptic выполняют одни и те же действия, так что используйте тот инструмент, который вам удобен.

Утилита apt-get

На самом деле я немного вас обманул. В инструкциях гораздо чаще вместо aptitude используется apt-get . apt-get - это стандартная утилита управления пакетами, используется она ровно так же, как и aptitude , только у неё нет графического интерфейса и поиска. То есть во всех командах с install , remove , purge можно заместо aptitude писать apt-get . Однако apt-get имеет ряд существенных недостатков 3) , поэтому напротив, настоятельно рекомендуется вместо неё всегда и везде использовать aptitude , благо для этого вам если что всего лишь придётся заменить одно слово в команде на другое 4) .

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

P.S. Немного позитива

Разработчики - люди весёлые. Наберите в терминале команду

Забавно? Как же может ответить на это aptitude :

Вот незадача! Но постойте, а если попросить повежливей?

А можно и ещё вежливей, и даже намного вежливей:

Что называется, продолжайте по аналогии. Но это всё развлечения, нас же ждёт следующая тема:

На самом деле есть ещё apt-get , который вообще говоря является стандартным менеджером пакетов для терминала, однако его не рекомендуется использовать. Немного об этой программе я расскажу в конце статьи. aptitude поддерживает огромное количество модификаторов поиска, кроме

d , вообще механизм поиска у aptitude очень мощный, так что при необходимости можете поинтересоваться им. Однако обычно всё-таки проще искать через Synaptic или Центр Приложений.

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

Это повысит вашу безопасность. В этой статье мы рассмотрим как выполняется удаление пакетов 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

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

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


Дальше вы можете удалить каждый пакет из списка вручную с помощью apt-get или dpkg. Если вы уже знаете, что все пакеты, которые будут удалены не нужны, то можно объединить команду deborphan с xargs и автоматически их все сразу удалить:

deborphan | xargs sudo apt-get -y remove --purge


Имя каждого пакета будет подставлено в конец строки.

Удаление пакетов в GUI

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


Затем перейдите на вкладку "Установлено":


Вам осталось выбрать приложение, которое хотите удалить, а затем нажать кнопку "Удалить":


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


Выводы

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

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

1. Обновите списки пакетов

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

sudo apt update --fix-missing

2. Установите битые пакеты

После обновления списка пакетов из репозиториев может помочь установка битых пакетов. Этот шаг поможет особенно если вы устанавливали пакет с помощью dpkg и теперь нужно доустановить его зависимости с помощью пакетного менеджера. Для этого есть специальная команда:

sudo apt install -f

3. Очистите лишние пакеты

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

sudo apt autoremove

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

sudo dpkg --remove -force --force-remove-reinstreq имя_пакета

4. Используйте dpkg

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

sudo dpkg --configure -a

Команда покажет проблемные пакеты, а потом вы сможете их удалить той же командой:

sudo dpkg --remove -force --force-remove-reinstreq имя_пакета

5. Разрешите зависимости

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

Выводы

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Оцените статью:

(11 оценок, среднее: 4,64 из 5)

Об авторе

8 комментариев

Вот почему я использую Fedora с DNF, за 5 лет использования даже не припомню случаев некорректной работы DNF. APT в Дебиан подобных дистрибутивах это сплошное разочарование.

Если бы все так было просто с зависимостями, что их через форсе принудительно установить, то это был бы не Линукс. Ниче, что система после таких манипуляций не работает? После ваших советов, новичек "уложит" систему точно.

dzentoo 2 декабря, 2020 Ответить

Согласен. С Fedora бубен уже покрылся пылью. Чего все с этой Ubunto'й носятся.

dzentoo? это у меня на матунту бубен плесенью покрылся.
А ты говоришь не о убунту, а Gnome3. Мне его нескончаемые проблемы неведомы, Gnome2 - до сих пор рулит

В Ubuntu есть три основных основных консольных инструмента для работы с пакетами: dpkg, aptitude и apt-get. По умолчанию установлена только apt-get. Но вы всегда можете установить остальные две, с помощью той же apt-get.

Утилита APT (Advanced Packaging Tool)

Основным же консольным инструментом работы с пакетами является APT . В некотором смысле это консольный аналог менеджера пакетов Synaptic, хотя APT на самом деле обладает куда как большим функционалом. В нее входят утилиты apt-get , apt-cache и apt-key .

Сразу же вспомните про sudo , поскольку как ни странно, для внесения изменений в установленные компоненты системы apt-get требует административных полномочий. Хотя apt-cache работает и от имени обычного пользователя.

Начнём с того, что установить пакеты из репозиториев можно командой

Сколько бы вы не указали пакетов, apt-get автоматически разрешит все зависимости и предложит вам конечный вариант необходимых действий, вам останется только лишь согласиться, нажав Enter :


Обратите внимание, apt-get предлагает вам в квадратных скобочках два возможных варианта ответа на поставленный вопрос:

Д означает Да, то есть согласие, н - это Нет, то есть отказ. Вам нужно ввести символ, соответствующий вашему выбору и нажать Enter . Однако, есть вариант по умолчанию, выделенный в списке большой буквой, и если вам нужен именно он, то вы можете ничего не вводить, просто нажать Enter .

Аналогично установке, удалить пакеты можно одной из двух команд:

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

Напоследок, несколько полезных команд:

sudo apt-get update - обновление информацию о пакетах, содержащихся в репозиториях. Никаких новых пакетов скачано и установлено не будет. Система просто проверит, есть ли новые версии для установленных у вас пакетов. sudo apt-get upgrade - обновление пакетов, для которых в репозитории доступны новые версии. Будут скачаны из репозиториев и установлены в систему новые версии пакетов. sudo apt-get autoremove - удаление пакетов, которые больше не нужны. Если пакет А был установлен не сам по себе, а как зависимость для пакета В, то, после удаления пакета В, пакет А тоже не нужен 1) . sudo apt-get install -f - используется для устранения сбоев в базе пакетов вызванных нарушенными зависимостями.

Более подробную информацию можно узнать командой man apt-get .

Для получения информации о пакете используется утилита apt-cache . Основные команды:

apt-cache search - Поиск пакета по части названия или описания. Поддерживает регулярные выражения. apt-cache show - Информация о пакете: версия, размер, описание и т. п.

apt-key служит для добавления и удаления ключей от репозиториев в систему. Ключи защищают репозитории от возможности подделки пакета.

sudo apt-key add - Добавление ключа в базу доверенных ключей.

Утилита dpkg

dpkg - это низкоуровневая программа управления пакетами, единственная полезная её функция для обычного пользователя - это прямая установка пакета из deb-файла 2) (хотя, эту же операцию можно выполнить через Центр программного обеспечения). Выполняется она командой

Для того, чтобы команда успешно выполнилась, в системе должны присутствовать все зависимости устанавливаемого пакета, поскольку dpkg не умеет их разрешать и скачивать что-либо из репозиториев. Можно так же ставить несколько пакетов за раз, передавая их все как аргументы команде dpkg -i . Больше я пожалуй ничего про dpkg рассказывать не буду, да и вряд ли вам как-либо ещё понадобится использовать эту утилиту.

Утилита aptitude

aptitude - утилита очень похожая на apt-get . Более того, большинство команда для apt-get , можно использовать и для aptitude , благо для этого вам всего лишь придётся заменить одно слово в команде на другое 3) . Недостатком aptitude является необходимость настройки, каким именно образом она будет разрешать зависимости. Зато, иногда она лучше обрабатывает эти самые зависимости, имеет мощный поиск, графический консольный интерфейс и ведет логи выполняемых операций.

Посмотреть версию конкретного пакета можно командой

Произвести поиск нужного пакета по доступным источникам приложений можно командой

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

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


Несмотря на неприглядный вид работать с этим очень удобно, но всё-таки обычно пользователю более привычны инструменты вроде Synaptic, поэтому подробно описывать работу с графической оболочкой aptitude я не буду.

И напоследок хочется заметить, что обычно в разнообразных инструкциях для установки пакетов вы увидите команду

Это ни в коей мере не значит, что кровь из носу надо исполнять эту команду. Вы спокойно можете поставить указанные пакеты через тот же Synaptic. Просто авторы инструкций обычно экономят своё время на объяснении куда и как надо нажимать в Synaptic, давая вместо всего этого одну маленькую команду. Но в конечном итоге и aptitude и apt-get и Synaptic выполняют одни и те же действия, так что используйте тот инструмент, который вам удобен.

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

P.S. Немного позитива

Разработчики - люди весёлые. Наберите в терминале команду

Забавно? Как же может ответить на это aptitude :

Вот незадача! Но постойте, а если попросить повежливей?

А можно и ещё вежливей, и даже намного вежливей:

Что называется, продолжайте по аналогии. Но это всё развлечения, нас же ждёт следующая тема:

На самом деле, все может быть сложнее: например, пакет А может быть зависимостью для двух или более пакетов, поэтому, после удаления только одного из этих пакетов, пакет А все еще будет нужен в системе. Но, не беспокойтесь: умный «apt-get» лишнего не удалит. на самом деле, возможности этой программы намного шире, но обсуждать их в этой статье мы не будем То есть если вы видите какую-нибудь команду с apt-get , просто замените в ней apt-get на aptitude и всё отлично заработает. aptitude поддерживает огромное количество модификаторов поиска, кроме

d , вообще механизм поиска у aptitude очень мощный, так что при необходимости можете поинтересоваться им. Однако обычно всё-таки проще искать через Synaptic или Центр Приложений.

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