特别值得一提的是Ubuntu软件包有很多值得学习的地方,这里我们主要介绍Ubuntu软件包,包括介绍Debian等方面。Ubuntu方便宜用,最值得让人称道的便是其安装软件的方式,一条命令:sudoapt-getinstall就几乎能帮你搞定所有的软件安装难题。但是有时你可能有这样的需求,查看某个Ubuntu软件包是否安装、安装在哪...,那我们就来介绍一下Ubuntu软件包管理方式。
一、Ubuntu采用Debian的软件包管理器dpkg来管理软件包,类似RPM.系统中所有packages的信息都在/var/lib/dpkg/
目录下,其子目录/var/lib/dpkg/info用于保存各个软件包的配置文件列表:
(1).conffiles记录了Ubuntu软件包的配置文件列表
(2).list保存软件包中的文件列表,用户可以从.list的信息中找到软件包中文件的具体安装位置.
(3).md5sums记录了软件包的md5信息,这个信息是用来进行包验证的.
(4).prerm脚本在Debian包解包之前运行,主要作用是停止作用于即将升级的Ubuntu软件包的服务,直到软件包安装或升级完成.
(5).postinst脚本是完成Debian包解开之后的配置工作,通常用于执行所安装软件包相关命令和服务重新启动.
/var/lib/dpkg/available文件的内容是Ubuntu软件包的描述信息,该软件包括当前系统所使用的Debian安装源中的所有软件包,
其中包括当前系统中已安装的和未安装的Ubuntu软件包.
/var/cache/apt/archives目录是在用apt-getinstall安装软件时,软件包的临时存放路径
/etc/apt/sources.list存放的是软件源站点,当你执行sudoapt-getinstallxxx时,Ubuntu就去这些站点下载软件包到本地并执行安装
二、相关命令使用示例:
(1)查看某Ubuntu软件包的安装内容
dpkg-Lxxx
(2)查找软件库中的软件包
apt-cachesearch正则表达式
(3)显示系统安装包的统计信息
apt-cachestats
(4)显示系统全部可用Ubuntu软件包的名称
apt-cachepkgnames
(5)显示某软件包的详细信息
apt-cacheshowxxx
(6)查找某文件属于哪个包
apt-filesearchxxx
(7)查看已经安装了哪些Ubuntu软件包
dpkg-l
(8)查询某软件依赖哪些软件包
apt-cachedependsxxx
(9)查询某软件被哪些软件包依赖
apt-cacherdependsxxx
(10)增加一个光盘源
sudoapt-cdromadd
注:顾名思义,就是安装更新Ubuntu软件包时让其优先从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软件包在服务器上面的地址
【编辑推荐】