Answers:
package-cleanup --quiet --leaves
从百胜-utils的软件包将列出未在其他包依赖的库包。不幸的是,这往往有点过于急切。例如,在我的系统上,它建议删除libvirt。添加--exclude-bin
参数会有所帮助。如果您对建议感到满意,请清理包装,请执行以下操作:
# package-cleanup --quiet --leaves --exclude-bin | xargs yum remove -y
DNF是Fedora 22以来的yum替代品,它还提供了一个autoremove
子命令,该子命令是在 apt-get / yum autoremove 之后建模的。
例子:
# dnf autoremove
试图删除所有自动安装的和否则未使用的依赖程序包-应该与apt-get autoremove
。
# dnf autoremove examplepackage
这将删除examplepackage及其所有自动安装(否则未使用)的依赖项。
自Fedora 19起,Yum就具有autoremove命令,并且自Fedora 20 / RHEL 7起就被记录在案。
用法类似于dnf的实现,例如:
# yum autoremove
要么
# yum autoremove examplepackage
Yum支持配置选项来更改remove
子命令的默认行为(例如,通过/etc/yum.conf):
clean_requirements_on_remove=yes
设置此选项后,yum remove
如果其他软件包不需要自动安装的依赖项,则下一个也将尝试删除它们。
您也可以通过以下方式临时测试此选项:
# yum --setopt=clean_requirements_on_remove=1 remove examplepackage
(对于yum autoremove子命令不可用和/或clean_requirements_on_remove
不起作用的Fedora版本。)
尽管在安装软件包期间已安装的相关性已被标记为此类(似乎是rpm / yum的相对较新的功能)。
您可以通过以下方式找到不需要的依赖项:
$ package-cleanup --leaves -q --all \
| xargs repoquery --installed --qf '%{nvra} - %{yumdb_info.reason}' \
| grep -- '- dep' \
| cut -d' ' -f1 > tmp
该命令行受fenris02的脚本启发。
在检查tmp
(可能是策展)之后,您可以通过以下方式将其删除:
# xargs yum remove < tmp
adobe-release
通过yum localinstall
您需要安装yum插件“ remove-with-leaves”:
# yum install yum-plugin-remove-with-leaves.noarch
一旦安装:
# yum remove --remove-leaves package
祝好运!
yum-plugin-remove-with-leaves.noarch
安装软件包才能使用package-cleanup
# package-cleanup --orphans >/tmp/junk
编辑/tmp/junk
文件并从命令行中删除第一行信息,输入以下内容:
for file in `cat /tmp/junk`
do
yum remove $file
done
apt-get autoremove
。apt-get(8)说:“ autoremove用于删除为满足某些软件包的依赖性而自动安装的软件包,并且不再需要这些软件包。”
package-cleanup --orphans | sed '1d' | sed '/^ * /d' | sed '/Loading mirror speeds from cached hostfile/d' | xargs sudo yum remove
(如果您想知道的话,包括跳过最快的镜像。)
不引起这些问题的另一种方法是使用事务。
设置基本系统后,当您使用yum安装时,它将创建事务。当您打算删除事物时,请回滚事务。
netbeans-platform
,软件包清理列出了一些内容,但实际上没有以前安装的netbeans-platform
依赖项(使用Fedora 17)。