Oli*_*nde 238 package-management deb
假设我从网站下载了一个 .deb 包并安装它。(我假设当我双击 .deb 文件时,该软件包是通过与 dpkg 接口的 GUI 安装的,对吗?)
我怎样才能卸载它?
Ste*_*zzo 196
手动安装的软件包与所有其他软件包一起出现在软件中心中。只需在软件中心搜索您的软件包并将其删除即可。
您可能需要单击“显示 N 个技术项目”

除此之外,还有其他一些方法:
突触:
单击应用按钮。
这将有利于列出所有手动安装的软件包:

命令行
sudo apt-get remove packagename如果您知道包的名称,您可以使用,或者如果您不知道,使用搜索它apt-cache search crazy-app然后使用 apt get 删除它
您也可以使用dpkg --remove packagename.

这也会让您知道系统上是否有任何不需要的软件包,这些软件包可能作为 .deb 软件包的依赖项安装。使用sudo apt-get autoremove摆脱他们的。
del*_*ted 122
促进这一点的命令是:
sudo dpkg -r package_name
Run Code Online (Sandbox Code Playgroud)
此外,如果您需要强行删除它们
sudo dpkg -r --force-all pkg_name
Run Code Online (Sandbox Code Playgroud)
小智 33
这里的每个解决方案都假设您知道或可以找到包的名称,但如果您只有 deb,则没有提供如何删除包的方法。为此,以下命令将从 deb 中提取包名称并删除该包名称。
dpkg -r $(dpkg -f your-file-here.deb Package)
Run Code Online (Sandbox Code Playgroud)
注意:这并不能确认被删除的包是deb 描述的确切版本- 小心。
Isa*_*iah 10
打开 Ubuntu 软件中心(应用程序 -> Ubuntu 软件中心)并搜索要卸载的软件包,然后单击删除按钮:
或者从命令行:
sudo apt-get remove <package-name>
Run Code Online (Sandbox Code Playgroud)
apt-get -y潜在危险:尽管确实如此——没有 GUI——我们的选择是:
可以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) ...
Run Code Online (Sandbox Code Playgroud)
dpkg:dpkg如果我要在脚本执行中使用它并拒绝删除ufw和lxd ,那么Note会阻止我以无意的方式更改系统:
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
Run Code Online (Sandbox Code Playgroud)
因此,尽管我们确实希望确保脚本成功完成并且不会错误退出,但通过修改命令目标之外的系统,脚本可能会失败而不是完成。这样的用例dpkg -r更适合脚本执行。
| 归档时间: |
|
| 查看次数: |
548684 次 |
| 最近记录: |