自学Linux--4 dpkg软件包管理工具命令详细介绍
当你不能联网进行软件安装时,如果事先已经手动下载了一个 .deb 包,可通过以下命令
1.安装 Debian 包裹文件:
sudo dpkg -i debfilename
2.列出包裹包含的内容:
sudo dpkg -c debfilename
3.从 .deb 文件中提取包裹信息:
sudo dpkg -I debfilename1
4.卸载一个已安装的包裹:
sudo dpkg -r packagename
5.完全清除一个已安装的包裹。和 remove 不同的是,remove 只是删掉数据和可执行文件,purge 另外还删除所有的配制文件:
sudo dpkg -P packagename
6.列出包裹安装的所有文件清单。(同时请看 dpkg -c 来检查一个 .deb 文件的内容):
sudo dpkg -L packagename
7.显示已安装包裹的信息:
sudo dpkg -s
8.重新配制一个已经安装的包裹,如果它使用的是 debconf (debconf 为包裹安装提供了一个统一的配制界面),你能够重新配制 debconf 它本身:
sudo dpkg-reconfigure packagename
9.获取软件包裹状态:
sudo dpkg --get-selections | grep keyname
10.设置软件包裹状态,比如 HOLD 某个包裹不允许升级:
echo "packagename hold" | sudo dpkg --set-selections
11.从 HOLD 状态恢复软件包裹标志位:
echo "packagename install" | sudo dpkg --set-selections
12.修正依赖关系损坏的包裹:
sudo apt-get -f install
13.其它说明:
目录下,其子目录/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就去这些站点下载软件包到本地并执行安装