![删除孤立包](https://linux22.com/image/910464/%E5%88%A0%E9%99%A4%E5%AD%A4%E7%AB%8B%E5%8C%85.png)
运行 GtkOrphan 后,它会提供 8 个建议删除的软件包的列表。
使用实用程序提供的工具删除其中任何一个是否会产生不良后果?
运行输出dpkg -l | grep ^rc
:
rc linux-image-4.18.0-15-generic 4.18.0-15.16~18.04.1 amd64 Signed kernel image generic
rc linux-modules-4.18.0-15-generic 4.18.0-15.16~18.04.1 amd64 Linux kernel extra modules for version 4.18.0 on 64 bit x86 SMP
rc linux-modules-extra-4.18.0-15-generic 4.18.0-15.16~18.04.1 amd64 Linux kernel extra modules for version 4.18.0 on 64 bit x86 SMP
aptitude
从终端运行而不带任何参数会产生:
答案1
我刚刚在我的系统上测试了 GtkOrphan。看来 GtkOrphan 比
apt-get autoremove -s
or更笨aptitude search '?obsolete'
(参见帮助页面完整语法)
在我的系统上,我发现 18 个包中只有 1 个被 GtkOrphan 正确标记为孤立包。
据我所知,真正的过时或本地安装的软件包在输出中没有任何 http/https/ftp 链接apt-cache policy ...
。它应该只/var/lib/dpkg/status
在版本表中有。
deborphan
因此,我们可以使用一些脚本(修改后的版本)来过滤输出这个):
cat > find_orphan.sh << \EOF
LC_ALL=C dpkg-query --showformat='${Package}:${Status}\n' -W $@ | \
fgrep ':install ok installed' | cut -d: -f1 | \
(while read pkg; do inst_version=$(apt-cache policy $pkg \
| fgrep Installed: \
| awk '{ print $2 }'); origin=$(apt-cache policy "$pkg" \
| fgrep " *** ${inst_version}" -C1 \
| tail -n 1 \
| cut -c12-); echo $pkg $origin; done)
EOF
sh find_orphan.sh $(deborphan) | grep "/var/lib/dpkg/status" | awk '{print $1}'
或者根本不使用 GtkOrphan,而是依靠 Aptitude 及其过时的和本地创建的软件包
或者aptitude search '?obsolete'
:
i rstudio - RStudio
相关错误可能如下 -错误 1820906。