dpkg是 Debian Packager 的简写。为 Debian 专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自 Debian 的 Linux 发行版都使用 dpkg,例如 Ubuntu 、Knoppix 等。dpkg用于:对已下载到本地和已安装的软件包进行管理,同时能提供安装后的软件信息,管理本地系统里的deb包,可以对其安装、卸载、deb打包、deb解压等操作,可以简单理解为离线安装软件。与之相关apt工具可以在线下载 deb包安装。
deb软件包名规则:
格式为:Package_Version-Build_Architecture.deb
如:nano_1.3.10-2_i386.deb
–软件包名称(Package Name): nano
–版本(Version Number):1.3.10
–修订号(Build Number):2
–平台(Architecture):i386
下面是dpkg的一些常用命令,仅供参考:
# -i:安装软件包
sudo dpkg -i wkhtmltox_0.12.5-1.bionic_amd64.deb
# -r:删除软件包不删除其配置文件
sudo dpkg -r wkhtmltox
sudo apt-get remove package # 同上
# -P:删除软件包的同时删除其配置文件
sudo dpkg -P wkhtmltox
sudo apt-get remove package --purge # 同上
# -L:显示于软件包关联的文件,安装完包后,可以用此命令查看软件安装到什么地方,
sudo dpkg -L wkhtmltox
# -l:显示已安装软件包列表
sudo dpkg -l
sudo dpkg -l zabbix-release # 显示包的版本
sudo dpkg -l *xx* # 模糊搜索找到包含XX的软件
# --unpack:解开软件包但是不进行配置,如果和-R一起使用,参数可以是一个目录
sudo dpkg –-unpack avg71flm_r28-1_i386.deb
# -c:显示软件包内文件列表
sudo dpkg -c wkhtmltox_0.12.5-1.bionic_amd64.deb
# --confiugre:重新配置和释放软件包
sudo dpkg –configure avg71flm_r28-1_i386.deb
# -R:安装一个目录下面所有的软件包
sudo dpkg -R /usr/local/src
使用dpkg安装软件后相关文件位置:
# 下载的软件包存放位置
/var/cache/apt/archives
# 安装后软件默认位置
/usr/share
# 可执行文件位置
/usr/bin
# 配置文件位置
/etc
# lib文件位置
/usr/lib
缺点:
虽然我们在使用dpkg时,已经解决掉了 软件安装过程中的大量问题,但是当依赖关系不满足时,仍然需要手动解决依赖问题。所以,与之相关的apt工具就出现了。
dpkg与apt区别:
apt和dpkg两者的区别是dpkg绕过apt包管理数据库对软件包进行操作,所以你用dpkg安装过的软件包用apt可以再安装一遍,系统不知道之前安装过了,将会覆盖之前dpkg的安装。
1、dpkg是用来安装本地软件包(deb包).deb文件,但不会解决模块的依赖关系,且不会关心ubuntu的软件仓库内的软件,可以用于安装本地的deb文件。
2、apt会解决和安装模块的依赖问题,从网络服务器安装软件包,并会咨询软件仓库, 但不会安装本地的deb文件, apt是建立在dpkg之上的软件管理工具。sudo apt-get install ***之后,包的临时储存路径是/var/cache/apt/archives。