假设我从一个网站下载了一个.deb包并安装了它。(我假设当我双击.deb文件时,通过与dpkg交互的图形界面(GUI)安装了该软件包,对吗?)
那么,我如何卸载它呢?
那么,我如何卸载它呢?
sudo apt-get remove packagename
来卸载它;如果你不知道软件包的名称,你可以使用apt-cache search crazy-app
进行搜索,然后再使用apt get进行卸载。
- 你也可以使用dpkg --remove packagename
来卸载软件包。
sudo apt-get autoremove
来摆脱它们。dpkg
和-r
(或--remove
)标志来删除package_name
:sudo dpkg -r package_name
--force-all
。sudo dpkg -r --force-all pkg_name
-P
(或--purge
)代替-r
,如果您想同时删除配置文件。dpkg --purge package_name
命令来彻底删除配置文件。 - Tomdpkg -r $(dpkg -f your-file-here.deb Package)
for PPP in *.deb ; do sudo dpkg -r $(dpkg -f "$PPP" Package) ; done
。 - dess
或者从命令行:
sudo apt-get remove <package-name>
sudo aptitude purge packagename
apt-get -y
潜在危险:虽然事实是- 没有图形界面- 我们的选择有:
其中,dpkg
可以从脚本中执行而不需要类似于 " -y " 的开关,而 apt
则需要此开关以避免用户输入。后果是,apt
可能会自动解决软件包依赖问题并删除命令中提供的目标之外的软件包。
apt
:注意当我移除 iptables 时,lxd 和 ufw 也被移除了。但是,如果我不想移除 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 dpkg -r --force-all pkg_name
或者,如果您通过Ubuntu软件包管理器安装它,可以使用apt将其卸载:
$ sudo apt remove --purge pgk_name
如果您仍然拥有.deb文件,这里是一种用户友好的方法:
dpkg --remove webex
帮助我卸载了 Cisco Webex。谢谢! - Nagabhushan S N