Как удалить пакет .deb?

Предположим, я загружаю пакет .deb с веб-сайта и устанавливаю его. (Я предполагаю, что когда я дважды щелкаю по файлу .deb, пакет устанавливается через графический интерфейс, который взаимодействует с dpkg, верно?)

Как я могу удалить его?

237
задан 19 January 2011 в 03:13

11 ответов

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

Возможно, вам придется нажать на "Показать N технических элементов"

alt text

Помимо этого, есть еще несколько способов:

Synaptic:

  • Go to System → Administration → Synaptic Package Manager
  • Нажмите на кнопку Status и выберите "Installed (local or устаревшие)"
  • Щелкните пакет правой кнопкой мыши и выберите "mark for remove"
  • Нажмите на кнопку Apply Apply.

    Преимущество заключается в том, что вы можете перечислить все установленные вручную пакеты:

alt text

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

  • Вы можете использовать sudo apt-get delete packagename, если вы знаете имя пакета, или, если нет, искать его, используя apt-cache search crazzy-app, а затем удалить его, используя apt get

  • Вы также можете использовать dpkg --remove packagename. Это также даст вам знать, если в вашей системе остались ненужные пакеты, которые, возможно, были установлены в качестве зависимостей вашего пакета .deb. Используйте sudo apt-get autoremove, чтобы избавиться от них.

180
ответ дан 19 January 2011 в 03:13

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

sudo aptitude purge packagename
5
ответ дан 19 January 2011 в 03:13

Команда для упрощения:

sudo dpkg -r package_name

Также, если вам нужно удалить их принудительно

sudo dpkg -r --force-all pkg_name
112
ответ дан 19 January 2011 в 03:13

Используйте -r с помощью -pkg.

Смотрите данный блог-пост для получения более подробной информации.

6
ответ дан 19 January 2011 в 03:13

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

2
ответ дан 19 January 2011 в 03:13

Откройте Центр программного обеспечения Ubuntu (Приложения -> Центр программного обеспечения Ubuntu). и найдите пакет, который необходимо удалить, и нажмите кнопку Удалить :

alt text

Или из командной строки:

sudo apt-get remove <package-name>
10
ответ дан 19 January 2011 в 03:13

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

$ sudo dpkg -r --force-all pkg_name 

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

$ sudo apt remove --purge pgk_name
2
ответ дан 22 November 2019 в 22:50

Сначала проверьте приложение, которое вы хотите удалить, с помощью приведенной ниже команды.

find /usr/share/applications -maxdepth 1 -type f -exec basename {} .desktop \; | sort

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

sudo apt remove your_application_name
0
ответ дан 5 January 2021 в 23:56

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

dpkg -r $(dpkg -f your-file-here.deb Package)

NB: это не подтверждает, что удаляемый пакет является точной версией , описанной deb - будьте осторожны.

15
ответ дан 5 January 2021 в 23:56

Очевидно, вы можете использовать флаги remove и force:

sudo dpkg -r --force-all    'some_bad_package'

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

LANG = en sudo dpkg --purge 'brmfc7440nlpr: i386'

dpkg: пакет обработки ошибок brmfc7440nlpr: i386 (--purge): пакет находится в очень плохом несогласованном состоянии; вам следует переустановите его перед попыткой удаления Во время обработки были обнаружены ошибки: brmfc7440nlpr: i386

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

И да, добавление «--force-all», очевидно, так же бесполезно, как и без него.

Это уже заставит многих пользователей переустанавливать Ubuntu в надежде на улучшение, что потребует много-многих часов дополнительной работы. Пакет из приведенного выше реального примера представляет собой драйвер лазерного принтера (LPR) для модели MFC 7440N.

0
ответ дан 5 January 2021 в 23:56

Хотя верно, что - без GUI - наш выбор:

  • apt-get remove (или " purge ") packageName
  • dpkg -r packageName

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

apt :

Обратите внимание, когда я удаляю iptables (я использую firewalld ), что lxd и ufw (интерфейс для iptables ) также удален . Но что, если я не хочу удалять lxd ? Ну, теперь его больше нет:

apt-get -y purge iptables
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  iptables* lxd* ubuntu-standard* ufw*
0 upgraded, 0 newly installed, 4 to remove and 54 not upgraded.
After this operation, 23.2 MB disk space will be freed.
(Reading database ... 90906 files and directories currently installed.)
Removing ubuntu-standard (1.417.3) ...
Removing ufw (0.36-0ubuntu0.18.04.1) ...
Skip stopping firewall: ufw (not enabled)
Removing lxd (3.0.3-0ubuntu1~18.04.1) ...
Removing lxd dnsmasq configuration
Removing iptables (1.6.1-2ubuntu2) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
Processing triggers for libc-bin (2.27-3ubuntu1) ...
(Reading database ... 90627 files and directories currently installed.)
Purging configuration files for ufw (0.36-0ubuntu0.18.04.1) ...
Purging configuration files for lxd (3.0.3-0ubuntu1~18.04.1) ...
Processing triggers for systemd (237-3ubuntu10.38) ...
Processing triggers for rsyslog (8.32.0-1ubuntu4) ...
Processing triggers for ureadahead (0.100.0-21) ...

dpkg :

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

dpkg -r iptables
dpkg: dependency problems prevent removal of iptables:
 lxd depends on iptables.
 ufw depends on iptables.

dpkg: error processing package iptables (--remove):
 dependency problems - not removing
Errors were encountered while processing:
 iptables

Заключение:

Итак, хотя это правда, что мы хотим, чтобы наши сценарии завершились успешно и не завершились с ошибкой, может быть желательно, чтобы сценарий завершился с ошибкой, а не завершился путем изменения системы вне целевой команды. Такой вариант использования может сделать dpkg -r более желательным для выполнения по сценарию.

4
ответ дан 5 January 2021 в 23:56

Другие вопросы по тегам:

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