包管理工具 dpkg

dpkg 是处理 deb 软件包的工具,他被所有基于 Debian 的发行版默认附带。

dpkg 与 Red Hat 发行版的 rpm 工具相似,属于一类管理工具。

dpkg 在使用时需要已经存在某个软件包。软件包可以从 Debian 的安装光盘获取,也可以从网络上下载得到。

例如我当前有一个软件包为 containerd.io_1.4.3-1_amd64.deb ( Docker 的容器运行时 ),保存在 /home/debian 目录中。

该软件包可从 Docker 官方源中下载得到,地址为

http://download.docker.com/linux/debian/dists/buster/pool/stable/amd64/containerd.io_1.4.3-1_amd64.deb

如果 Linux 实验环境连通互联网,可直接使用 curlwget 工具下载。

由于 wget 为 GNU 软件包附带的软件,Debian 会默认安装,因此可以使用 wget 工具下载:

debian@debian:~$ pwd
/home/debian
debian@debian:~$ wget http://download.docker.com/linux/debian/dists/buster/pool/stable/amd64/containerd.io_1.4.3-1_amd64
.deb
--2021-01-13 16:07:06--  http://download.docker.com/linux/debian/dists/buster/pool/stable/amd64/containerd.io_1.4.3-1_amd64.deb
Resolving download.docker.com (download.docker.com)... 54.239.169.41, 54.239.169.76, 54.239.169.15, ...
Connecting to download.docker.com (download.docker.com)|54.239.169.41|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://download.docker.com/linux/debian/dists/buster/pool/stable/amd64/containerd.io_1.4.3-1_amd64.deb [following]
--2021-01-13 16:07:07--  https://download.docker.com/linux/debian/dists/buster/pool/stable/amd64/containerd.io_1.4.3-1_amd64.deb
Connecting to download.docker.com (download.docker.com)|54.239.169.41|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 28103678 (27M) [binary/octet-stream]
Saving to: ‘containerd.io_1.4.3-1_amd64.deb’

containerd.io_1.4.3-1_amd64.d 100%[=================================================>]  26.80M  12.9MB/s    in 2.1s

2021-01-13 16:07:11 (12.9 MB/s) - ‘containerd.io_1.4.3-1_amd64.deb’ saved [28103678/28103678]
debian@debian:~$ ls -l
total 27448
-rw-r--r-- 1 debian debian 28103678 Dec 29 00:38 containerd.io_1.4.3-1_amd64.deb

对其管理方法如下:

安装软件包

使用 dpkg -i:

--install

参数都有 “长” 版 (一个或多个字,前置两个链接号) 与 “短” 版 (一个字母,通常是长版字的第一个字母,前置一个链接号) 两种写法。这是 POSIX 标准常见的用法。

有时会遇到特定软件包所包含的文件已经在另一个软件包中被安装,如果能够完全确定这不会造成问题的话,可使用 --force-overwrite 参数进行强制覆盖。

虽然存在许多 --force-* 参数,但通常都不推荐使用,这也是为什么通常推荐使用 apt 从软件源中安装软件包。

当然,如果你真的知道你在做什么的话当然可以忽略这句话

卸载软件包

有两个卸载选项,分别为 -r ( --remove ) 与 -P ( --purge ),前者为卸载软件包但保留应用配置,后者为完全清除,不保留配置。

除去安装需要完整指定要安装的软件包的文件名以外,其他操作只需指定包名。

查询 dpkg 数据库,检查 deb 文件

一些常用参数整理如下:

短参数

长参数

功能

-L

--listfiles

列出软件包会安装的文件列表

-S

--search

列出哪一个包包含指定的文件

-l

--list

列出本机上已知的包及安装状态

-s

--status

列出包头 ( 即包的详细信息 )

-c

--contents

列出安装包包含的文件

-I

--info

指定文件查看包信息

一些使用例:

最后更新于

这有帮助吗?