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

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

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

12 ответов

Решение

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

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

альтернативный текст

Наряду с этим, есть несколько других методов:

Synaptic:

  • Перейдите в Система → Администрирование → Менеджер пакетов Synaptic
  • Нажмите кнопку " Состояние" и выберите "Установлено (локально или устарело)"
  • Щелкните правой кнопкой мыши по пакету и выберите "пометить для удаления".
  • Нажмите кнопку Применить.

    Это даст преимущество перечисления всех установленных вами пакетов вручную:

альтернативный текст

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

  • Вы можете использовать sudo apt-get remove packagename если вы знаете название пакета, или если вы не знаете, найдите его с помощью apt-cache search crazy-app а затем удалите его с помощью apt get

  • Вы также можете использовать dpkg --remove packagename,

GorgeEdison это угроза безопасности!: P @EveryoneElse, не берите в голову, что я шучу

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

Команда для облегчения этого:

sudo dpkg -r package_name

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

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

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

Откройте Ubuntu Software Center (Приложения -> Ubuntu Software Center), найдите пакет, который хотите удалить, и нажмите кнопку " Удалить":

альтернативный текст

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

sudo apt-get remove <package-name>

Использование -r с dpkg,

Смотрите этот пост для получения дополнительной информации.

Хотя это правда - без графического интерфейса - наши варианты:

  • apt-get remove (или " очистить ") packageName
  • dpkg -r имя_пакета

куда 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 более желательно для исполнения по сценарию.

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

sudo aptitude purge packagename

Вот удобный подход, если у вас все еще есть .deb:

  1. Дважды щелкните .deb
  2. Откроется окно программного обеспечения Ubuntu.
  3. Нажмите кнопку «Удалить»

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

$ sudo dpkg -r --force-all pkg_name 

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

$ sudo apt remove --purge pgk_name

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

Очевидно , вы можете использовать флаги 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.

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

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

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

      sudo apt remove your_application_name
Другие вопросы по тегам