Ubuntu软件包是很好使很强大的Linux操作系统方案,这里将介绍Ubuntu软件包问题的解决管理方式,在进几年里Ubuntu软件包方便宜用,最值得让人称道的便是其安装软件的方式,一条命令:sudoapt-getinstallxxx就几乎能帮你搞定所有的软件安装难题。但是有时你可能有这样的需求,查看某个软件包是否安装、安装在哪...,那我们就来介绍一下Ubuntu软件包管理方式。
一、Ubuntu软件包采用Debian的软件包管理器dpkg来管理Ubuntu软件包,类似RPM.系统中所有packages的信息都在/var/lib/dpkg/目录下,其子目录/var/lib/dpkg/info用于保存各个软件包的配置文件列表:
(1).conffiles记录了软件包的配置文件列表
(2).list保存软件包中的文件列表,用户可以从.list的信息中找到软件包中文件的具体安装位置.
(3).md5sums记录了软件包的md5信息,这个信息是用来进行包验证的.
(4).prerm脚本在Debian包解包之前运行,主要作用是停止作用于即将升级的软件包的服务,直到软件包安装或升级完成.
(5).postinst脚本是完成Debian包解开之后的配置工作,通常用于执行所安装软件包相关命令和服务重新启动.
/var/lib/dpkg/available文件的内容是软件包的描述信息,该软件包括当前系统所使用的Debian安装源中的所有软件包,
其中包括当前系统中已安装的和未安装的软件包.
/var/cache/apt/archives目录是在用apt-getinstall安装软件时,软件包的临时存放路径
/etc/apt/sources.list存放的是软件源站点,当你执行sudoapt-getinstallxxx时,Ubuntu就去这些站点下载Ubuntu软件包到本地并执行安装
二、相关命令使用示例:
(1)查看某软件包的安装内容dpkg-Lxxx
(2)查找软件库中的软件包apt-cachesearch正则表达式
(3)显示系统安装包的统计信息apt-cachestats
(4)显示系统全部可用软件包的名称apt-cachepkgnames
(5)显示某Ubuntu软件包的详细信息apt-cacheshowxxx
(6)查找某文件属于哪个包apt-filesearchxxx
(7)查看已经安装了哪些软件包dpkg-l
(8)查询某软件依赖哪些软件包apt-cachedependsxxx
(9)查询某软件被哪些软件包依赖apt-cacherdependsxxx
(10)增加一个光盘源sudoapt-cdromadd
注:顾名思义,就是安装更新软件包时让其优先从Ubuntu光盘上找(如果你不能上网安装/更新,但有Ubuntu的DVDISO,这会对你非常有用)
(11)系统升级sudoapt-getupdate
(12)清除所有已删除软件包的残馀配置文件dpkg-l|grep^rc|awk'{print$2}'|sudoxargsdpkg-P
(13)编译时缺少h文件的自动处理sudoauto-aptrun./configure
(14)查看安装软件时下载Ubuntu软件包的临时存放目录ls/var/cache/apt/archives
(15)备份当前系统安装的所有软件包的列表dpkg--get-selections|grep-vdeinstall>~/somefile
(16)从上面备份的安装包的列表文件恢复所有包dpkg--set-selections<~/somefile sudodselect
(17)清理旧版本的软件缓存sudoapt-getautoclean
(18)清理所有软件缓存sudoapt-getclean
(19)删除系统不再使用的孤立软件sudoapt-getautoremove
(20)查看Ubuntu软件包在服务器上面的地址apt-get-qq--print-urisinstallssh|cut-d\'-f2
【编辑推荐】