37、linux安装、卸载软件命令dpkg

dpkg是 Debian Packager 的简写。为 Debian 专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自 Debian 的 Linux

  dpkg是 Debian Packager 的简写。为 Debian 专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自 Debian 的 Linux 发行版都使用 dpkg,例如 Ubuntu 、Knoppix 等。dpkg用于:对已下载到本地和已安装的软件包进行管理,同时能提供安装后的软件信息,管理本地系统里的deb包,可以对其安装、卸载、deb打包、deb解压等操作,可以简单理解为离线安装软件。与之相关apt工具可以在线下载 deb包安装。

# -i:安装软件包 
sudo dpkg -i wkhtmltox_0.12.5-1.bionic_amd64.deb

强制安装,忽略依赖
dpkg -i --force-depends *.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。