前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux package-cleanup的使用

Linux package-cleanup的使用

作者头像
拓荒者
发布2019-08-19 10:15:10
4560
发布2019-08-19 10:15:10
举报
文章被收录于专栏:运维经验分享运维经验分享

Linux package-cleanup的使用

 发表于 2013-07-18 |  更新于: 2018-02-16 |  分类于 Linux , CentOS , Fedora |  |  阅读次数: 408

 字数统计: 699 |  阅读时长 ≈ 3

package-cleanup的使用

以前对于多余的内核,都是rpm-grep-remove你懂的,这次发现了这个软件包。神呐,节省了很多时间,只需要package-cleanup –oldkernels就可以把就内核(对于版本升级而言)删除,加上–count参数就可以指定留下几个grub选项,注意最好轻易不要设定1,除非你确定刚升级好的内核是OK的,默认值是2,即会保存前一个内核。

package-cleanup : 用于清理本地安装的RPM软件包

注意:这是一个只对RPM有用的工具,Ubuntu 之类的无法使用。

Fedora系统中package-cleanup是默认安装的,而且manpage也比较好懂,这里挑出几个命令来解释一下。

命令格式:

1

package-cleanup [options] <item …>

  1. 列出与其他RPM没有依赖关系的软件包,又叫叶节点(leaf node),即,没有软件包依赖叶节点。

1 2 3 4 5 6 7 8 9 10 11 12

$ package-cleanup –leaves libacl-devel-2.2.49-8.fc14.i686 libcap-devel-2.17-1.fc13.i686 libchamplain-gtk-0.6.1-4.fc14.i686 libcurl-devel-7.21.0-5.fc14.i686 libdbi-dbd-mysql-0.8.3-6.fc14.i686 libertas-usb8388-firmware-5.110.22.p23-4.fc13.noarch libgail-gnome-1.20.3-1.fc14.i686 libgtop2-devel-2.28.2-1.fc14.i686 libidn-devel-1.18-1.fc14.i686 libiodbc-3.52.7-1.fc12.i686

可以看到,列出的都是一些函数库,这些库函数没有被其他程序用到。

  1. 列出当前软件仓库中不再提供支持的本地已安装的软件包。也就是说,列出的软件包将不会再升级。

1 2 3 4 5 6 7 8 9 10

$ package-cleanup –orphans alchemist-1.0.37-8.fc12.i686 antlr-2.7.7-6.fc12.i686 kernel-2.6.34.7-61.fc13.i686 kernel-devel-2.6.34.7-61.fc13.i686 kmod-nvidia-2.6.34.7-61.fc13.i686-260.19.12-1.fc13.1.i686 schroedinger-1.0.10-1.fc13.i686 system-config-display-2.2-1.fc12.i686 xorg-x11-drv-wacom-0.10.8-2.fc13.i686

  1. 删除旧内核文件(kernel, kernel-devel)。

1

$ package-cleanup –oldkernels

前面一篇文章提到过如何手工删除旧内核文件,这条命令就可以解决了。

可以用参数 “–count ” 指定要保留的内核个数,默认是2。

可以用参数 “–keepdevel” 指定不要删除 kernel-devel 。

例如:

1

$ package-cleanup –oldkernels –count=3 –keepdevel

含义是:保留最近3个内核文件和kernel-devel文件,并删除其余的kernels。

  1. 列出有依赖问题的软件包。

1 2 3 4 5 6

$ package-cleanup –problems Package alchemist-1.0.37-8.fc12.i686 requires python(abi) = (’0′, ’2.6′, None) Package alchemist-1.0.37-8.fc12.i686 requires python-abi = (’0′, ’2.6′, None) Package system-config-display-2.2-1.fc12.i686 requires libpython2.6.so.1.0 Package system-config-display-2.2-1.fc12.i686 requires python(abi) = (’0′, ’2.6′, None)

我的运行结果显示有些软件包需要python 2.6的支持,Fedora 14已经默认安装python 2.7。

  1. 扫描重复安装的RPM软件包。

1

$ package-cleanup –dupes

  1. 扫描重复安装的软件包,并删除老版本的软件包。

1

$ package-cleanup –cleandupes

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Linux package-cleanup的使用
  • package-cleanup的使用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档