Debian/Ubuntu清理无效包、废弃包、冗余包、rc包

栏目: 服务器 · 发布时间: 5年前

内容简介:在升级系统版本之后,或是在删除了第三方源之后,一些包就会变为无法更新的冗余包。一个常见的现象是升级系统前,某个程序A依赖了旧版本的库libX.1.1,在升级系统之后另一个程序B依赖了新版本的libX.1.2。再由于某些依赖原因,A没有被升级为依赖libX.1.2的新版本,导致包管理系统保留了2个版本的libX。也就是说默认的通常情况下除了浪费一点空间这并没有什么问题,但是有些时候当libX.1.1与libX.1.2之间不相互兼容时,或我们写的其他程序链接了共享版本的libX时,这会导致程序运行异常或无法运行

文章目录

  • 清理Debian、Ubuntu中的冗余包、废弃包

清理Debian、Ubuntu中的冗余包、废弃包

在升级系统版本之后,或是在删除了第三方源之后,一些包就会变为无法更新的冗余包。

一个常见的现象是升级系统前,某个程序A依赖了旧版本的库libX.1.1,在升级系统之后另一个程序B依赖了新版本的libX.1.2。再由于某些依赖原因,A没有被升级为依赖libX.1.2的新版本,导致包管理系统保留了2个版本的libX。也就是说默认的 apt-get autoremove 命令无法删除它们。

通常情况下除了浪费一点空间这并没有什么问题,但是有些时候当libX.1.1与libX.1.2之间不相互兼容时,或我们写的其他程序链接了共享版本的libX时,这会导致程序运行异常或无法运行,尤其是在分布式的程序。特别是libboost系列库。

remove与purge

很多package是有配置文件的。不管你是使用apt还是aptitude,只要是用默认的remove删除,都只是删除程序文件,保留配置文件的;而使用purge则是一个不留的全部删除。

清理废弃包

使用aptitude来自动检测并删除已经废弃的包。

作废包通常是前述的又了更新版本的同名包,或者是source不存在的包。

# 查看 (以下3个等价)
aptitude search "~o"
aptitude search ~o
aptitude search ?obsolete
# 清除
sudo aptitude purge "~o"

这个清除命令会考虑包之间的依赖关系,把依赖这些作废包的其他包也一并删除掉。对于更复杂的情况,它会给出一个保留哪些删除哪些的解决方案。

参考: https://raphaelhertzog.com/2011/02/07/debian-cleanup-tip-2-get-rid-of-obsolete-packages/

清理rc包

有些包卸载不彻底,也会导致各种问题。

debian系的底层包管理程序dpkg可以对于帮助我们找到这些包。

使用 dpkg --list 可以查看所有包的状态,其中前两位表示状态,第一位为期望的状态,第二位为实际的状态。可以大致理解为:当我们输入安装命令时,第一位置为i(表示install),当命令完成时,第二位置为i。

更细节的表示可以参考文档,或者查看: https://linuxprograms.wordpress.com/2010/05/11/status-dpkg-list/

一个常见的非理想状态是:第一位为r(removed),第二位为c(Cfg-file存在)。

# 查看rc状态的包
dpkg --list |grep "^rc"
# 清除
dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge
# 或者使用aptitude
sudo aptitude purge "~c"

参考: https://linuxprograms.wordpress.com/2010/05/12/remove-packages-marked-rc/


以上所述就是小编给大家介绍的《Debian/Ubuntu清理无效包、废弃包、冗余包、rc包》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Access2003数据库开发典型范例

Access2003数据库开发典型范例

王樵民 / 第1版 (2006年8月1日) / 2006-8 / 42.00元

Access数据库管理软件是一套集数据管理、程序开发功能于一体的高级办公软件,是特别适合普通办公人员进行日常工作的有力助手。本书面向非计算机专业人员,通过多个实例讲解Access中的各种开发技术,介绍实际工作过程中应用软件的编制方法,以及与Excel等软件之间的信息互用技术等内容。能够帮助读者快速掌握Access数据库的开发技术,构建解决自己工作中实际问题的数据库管理系统,从而提高办公效率。一起来看看 《Access2003数据库开发典型范例》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试