我刚刚使用 Preupgrade 工具成功从 Fedora 16 升级到 Fedora 17。升级后步骤之一在这里建议是“删除不支持的包”。
该指南说先运行package-cleanup --orphans
以获取所述软件包的列表,然后获取yum remove
每个软件包的列表。
我认为我应该检查以确保这不会无意中删除任何所需的依赖项,而不是盲目地这样做。例如,ModemManager-0.5.3.96-1.fc16.x86_64
是列表中的第一个包。当我跑步时:
yum remove ModemManager-0.5.3.96-1.fc16.x86_64
我发现它还想删除一些看起来像有效 Fedora 17 软件包的依赖项:
=================================================== ======================================= 包 Arch 版本存储库大小 =================================================== ======================================= 删除: ModemManager x86_64 0.5.3.96-1.fc16 @updates/16 952 k 删除依赖项: NetworkManager x86_64 1:0.9.4.0-7.git20120403.fc17 @anaconda-0 6.7 M NetworkManager-gnome x86_64 1:0.9.4.0-7.git20120403.fc17 @anaconda-0 1.3 M NetworkManager-openconnect x86_64 0.9.4.0-7.git20120612.fc16 @updates/16 274 k NetworkManager-openvpn x86_64 1:0.9.3.997-1.fc17 @anaconda-0 679 k NetworkManager-pptp x86_64 1:0.9.3.997-1.fc17 @anaconda-0 467 k NetworkManager-vpnc x86_64 1:0.9.3.997-1.fc17 @anaconda-0 474 k 蟒蛇 x86_64 17.29-1.fc17 @anaconda-0 12 M 进化-NetworkManager x86_64 3.4.1-2.fc17 @anaconda-0 14 k 交易概要 =================================================== ======================================= 删除 1 个包(+8 个依赖包)
如果我这样做,yum list NetworkManager
我会看到:
已安装的软件包 NetworkManager.x86_64 1:0.9.4.0-7.git20120403.fc17 @anaconda-0 可用套餐 NetworkManager.x86_64 1:0.9.6.4-1.fc17 更新
yum remove
我还注意到,孤立包列表中没有列出的依赖项。
- 我继续删除这些“孤立”软件包是否安全?
- 我是否必须删除这些孤立的软件包(我的磁盘空间并不短缺)?
答案1
在这种情况下,使用 rpm 来卸载这些软件包是可以接受的
#rpm -e ModemManager-0.5.3.96-1.fc16.x86_64 --nodeps
删除所有不需要的软件包后,使用以下命令清理 rpm 数据库
#rm -f /var/lib/rpm/__db*
#rpm –rebuilddb
#yum clean all
#rm -rf /var/cache/yum
#yum makecache