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
手动安装的软件包与所有其他软件包一起出现在软件中心。只需在软件中心搜索您的软件包并将其删除即可。
您可能需要点击“显示 N 个技术项目”
除此之外,还有其他一些方法:
突触:
单击应用按钮。
这将有利于列出所有手动安装的软件包:
命令行
如果您知道包的名称,则可以使用
sudo apt-get remove packagename
,或者如果您不知道,请使用搜索它apt-cache search crazy-app
,然后使用 apt get 将其删除您也可以使用
dpkg --remove packagename
.这还将让您知道系统上是否还有任何不需要的软件包,这些软件包可能作为 .deb 软件包的依赖项安装。用来
sudo apt-get autoremove
摆脱它们。促进这一点的命令是:
另外,如果您需要强行删除它们
这里的每个解决方案都假定您知道或可以找到包的名称,但是如果您只有 deb.xml,则没有提供如何删除包的方法。为此,以下命令将从 deb 中提取包名并删除该包名。
注意:这并不能确认被删除的包是 deb 描述的确切版本- 请小心。
打开 Ubuntu 软件中心(应用程序 -> Ubuntu 软件中心)并搜索要卸载的软件包,然后单击删除按钮:
或者从命令行:
-r
与 一起使用dpkg
。有关更多信息,请参阅此博文。
如果您想删除包和与之相关的所有配置文件:
apt-get -y
潜在危险:虽然这是真的 -没有 GUI - 我们的选择是:
where
dpkg
可以在没有等效于“ -y ”开关的情况下从脚本执行,apt
需要这样做以避免用户输入。结果是apt
可以自动解决包依赖关系并删除提供给命令的目标以外的包。apt
:请注意,当我删除lxd和ufw 也 删除的iptables时。但是如果我不想删除lxd怎么办?好吧,它现在消失了:
dpkg
:dpkg
如果我要在脚本执行中使用它并拒绝删除ufw和lxd ,请注意阻止我以意外的方式更改系统:结论:
因此,尽管我们确实希望确保我们的脚本成功完成并且不会错误退出,但可能希望脚本失败而不是通过修改命令目标之外的系统来完成。这样的用例
dpkg -r
更适合脚本执行。如果您仍然拥有 .deb,这是一种用户友好的方法:
已安装的软件包将在 Synaptics 和软件中心中可见。在前一个中,它将出现在本地包下,而在后一个中,它将出现在其他包下。
您可以使用 remove 和 force 标志:
或者,如果您通过 Ubuntu 包管理器安装它,您可以使用 apt 将其删除: