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

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

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

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

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

alt text

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

Синаптический:

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

    Это позволит получить список всех ваших пакетов, установленных вручную:

alt text

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

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

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

@GorgeEdison it's a security risk! :P @EveryoneElse, never mind I'm kidding :)

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

Команда для облегчения этого заключается в:

sudo dpkg -r package_name

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

sudo dpkg -r --force-all pkg_name

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

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

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

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

alt text

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

sudo apt-get remove <package-name>

Воспользуйся -r с dpkg.

Видишь это сообщение в блоге для получения дополнительной информации.

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

sudo aptitude purge packagename

Хотя это правда, что- без омелы- наш выбор таков:

  • apt-get удалить (или "чистка") Имя пакета
  • dpkg -r Имя пакета

Где dpkg может быть выполнен из скрипта без эквивалента " " переключатель, apt требуется это, чтобы избежать ввода пользователем. Последствия таковы, что apt может автоматически разрешать зависимости пакетов и удалять пакеты Кроме как цель, поставляемая команде.

apt:

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

apt-get -y purge iptablesReading package lists... DoneBuilding dependency tree       Reading state information... DoneThe 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 configurationRemoving 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 iptablesdpkg: dependency problems prevent removal of iptables: lxd depends on iptables. ufw depends on iptables.dpkg: error processing package iptables (--remove): dependency problems - not removingErrors were encountered while processing: iptables

Вывод:

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

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

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

$ sudo dpkg -r --force-all pkg_name 

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

$ sudo apt remove --purge pgk_name

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

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