用 dpkg 命令在 Debian 系的 Linux系统中管理软件包
创始人
2024-03-01 18:16:39
0

dpkg 意即 Debian 包管理器 ( Debian PacKaGe manager ) 。dpkg 是一个可以安装、构建、删除及管理 Debian 软件包的命令行工具。dpkg 将 Aptitude(首选而更用户友好)作为执行所有操作的前端界面。

其它的一些工具如 dpkg-deb 和 dpkg-query 等也使用 dpkg 作为执行某些操作的前端。

现在大多数系统管理员使用 Apt、Apt-Get 及 Aptitude 等工具,不用费心就可以轻松地管理软件。

尽管如此,必要的时候还是需要用 dpkg 来安装某些软件。其它的一些在 Linux 系统上广泛使用的包管理工具还有 yumdnfapt-getrpmZypper、pacman、urpmi 等等。

现在,我要在装有 Ubuntu 15.10 的机器上用一些实例讲解最常用的 dpkg 命令。

1) dpkg 常见命令的语法及 dpkg 文件位置

下面是 dpkg 常见命令的语法及 dpkg 相关文件的位置,如果想深入了解,这些对你肯定大有益处。

### dpkg 命令的语法
$ dpkg -[command] [.deb package name]

$ dpkg -[command] [package name]

### dpkg 相关文件的位置
$ /var/lib/dpkg

### 这个文件包含了被 dpkg 命令(install、remove 等)所修改的包的信息
$ /var/lib/dpkg/status

### 这个文件包含了可用包的列表
$ /var/lib/dpkg/status

2) 安装/升级软件

在基于 Debian 的系统里,比如 Debian、Mint、Ubuntu 和 elementryOS,用以下命令来安装/升级 .deb 软件包。这里我要用 atom-amd64.deb 文件安装 Atom。要是已经安装了 Atom,就会升级它。要么就会安装一个新的 Atom。

### 安装或升级 dpkg 软件包
$ sudo dpkg -i atom-amd64.deb
Selecting previously unselected package atom.
(Reading database ... 426102 files and directories currently installed.)
Preparing to unpack atom-amd64.deb ...
Unpacking atom (1.5.3) over (1.5.3) ...
Setting up atom (1.5.3) ...
Processing triggers for gnome-menus (3.13.3-6ubuntu1) ...
Processing triggers for bamfdaemon (0.5.2~bzr0+15.10.20150627.1-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for desktop-file-utils (0.22-1ubuntu3) ...
Processing triggers for mime-support (3.58ubuntu1) ...

3) 从文件夹里安装软件

在基于 Debian 的系统里,用下列命令从目录中逐个安装软件。这会安装 /opt/software 目录下的所有以 .deb 为后缀的软件。

$ sudo dpkg -iR /opt/software
Selecting previously unselected package atom.
(Reading database ... 423303 files and directories currently installed.)
Preparing to unpack /opt/software/atom-amd64.deb ...
Unpacking atom (1.5.3) ...
Setting up atom (1.5.3) ...
Processing triggers for gnome-menus (3.13.3-6ubuntu1) ...
Processing triggers for bamfdaemon (0.5.2~bzr0+15.10.20150627.1-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for desktop-file-utils (0.22-1ubuntu3) ...
Processing triggers for mime-support (3.58ubuntu1) ...

4) 显示已安装软件列表

以下命令可以列出 Debian 系的系统中所有已安装的软件,同时会显示软件版本和描述信息。

$ dpkg -l
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                        Version                            Architecture Description
+++-===========================-==================================-============-================================================================
ii  account-plugin-aim          3.12.10-0ubuntu2                   amd64        Messaging account plugin for AIM
ii  account-plugin-facebook     0.12+15.10.20150723-0ubuntu1       all          GNOME Control Center account plugin for single signon - facebook
ii  account-plugin-flickr       0.12+15.10.20150723-0ubuntu1       all          GNOME Control Center account plugin for single signon - flickr
ii  account-plugin-google       0.12+15.10.20150723-0ubuntu1       all          GNOME Control Center account plugin for single signon
ii  account-plugin-jabber       3.12.10-0ubuntu2                   amd64        Messaging account plugin for Jabber/XMPP
ii  account-plugin-salut        3.12.10-0ubuntu2                   amd64        Messaging account plugin for Local XMPP (Salut)
.
.

5) 查看指定的已安装软件

用以下命令列出指定的一个已安装软件,同时会显示软件版本和描述信息。

$ dpkg -l atom
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name       Version   Architecture        Description
+++-==========-=========-===================-============================================
ii  atom       1.5.3     amd64               A hackable text editor for the 21st Century.

6) 查看软件安装目录

以下命令可以在基于 Debian 的系统上查看软件的安装路径。

$ dpkg -L atom
/.
/usr
/usr/bin
/usr/bin/atom
/usr/share
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/atom
/usr/share/pixmaps
/usr/share/pixmaps/atom.png
/usr/share/doc

7) 查看 deb 包内容

下列命令可以查看 deb 包内容。它会显示 .deb 包中的一系列文件。

$ dpkg -c atom-amd64.deb
drwxr-xr-x root/root         0 2016-02-13 02:13 ./
drwxr-xr-x root/root         0 2016-02-13 02:13 ./usr/
drwxr-xr-x root/root         0 2016-02-13 02:13 ./usr/bin/
-rwxr-xr-x root/root      3067 2016-02-13 02:13 ./usr/bin/atom
drwxr-xr-x root/root         0 2016-02-13 02:13 ./usr/share/
drwxr-xr-x root/root         0 2016-02-13 02:13 ./usr/share/lintian/
drwxr-xr-x root/root         0 2016-02-13 02:13 ./usr/share/lintian/overrides/
-rw-r--r-- root/root       299 2016-02-13 02:13 ./usr/share/lintian/overrides/atom
drwxr-xr-x root/root         0 2016-02-13 02:13 ./usr/share/pixmaps/
-rw-r--r-- root/root    643183 2016-02-13 02:13 ./usr/share/pixmaps/atom.png
drwxr-xr-x root/root         0 2016-02-13 02:13 ./usr/share/doc/
.
.

8) 显示软件的详细信息

以下命令可以显示软件的详细信息,如软件名、软件类别、版本、维护者、软件架构、依赖的软件、软件描述等等。

$ dpkg -s atom
Package: atom
Status: install ok installed
Priority: optional
Section: devel
Installed-Size: 213496
Maintainer: GitHub Architecture: amd64
Version: 1.5.3
Depends: git, gconf2, gconf-service, libgtk2.0-0, libudev0 | libudev1, libgcrypt11 | libgcrypt20, libnotify4, libxtst6, libnss3, python, gvfs-bin, xdg-utils, libcap2
Recommends: lsb-release
Suggests: libgnome-keyring0, gir1.2-gnomekeyring-1.0
Description: A hackable text editor for the 21st Century.
 Atom is a free and open source text editor that is modern, approachable, and hackable to the core. 

9) 查看文件属于哪个软件

用以下命令来查看文件属于哪个软件。

$ dpkg -S /usr/bin/atom
atom: /usr/bin/atom

10) 移除/删除软件

以下命令可以用来移除/删除一个已经安装的软件,但不删除配置文件。

$ sudo dpkg -r atom
(Reading database ... 426404 files and directories currently installed.)
Removing atom (1.5.3) ...
Processing triggers for gnome-menus (3.13.3-6ubuntu1) ...
Processing triggers for bamfdaemon (0.5.2~bzr0+15.10.20150627.1-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for desktop-file-utils (0.22-1ubuntu3) ...
Processing triggers for mime-support (3.58ubuntu1) ...

11) 清除软件

以下命令可以用来移除/删除包括配置文件在内的所有文件。

$ sudo dpkg -P atom
(Reading database ... 426404 files and directories currently installed.)
Removing atom (1.5.3) ...
Processing triggers for gnome-menus (3.13.3-6ubuntu1) ...
Processing triggers for bamfdaemon (0.5.2~bzr0+15.10.20150627.1-0ubuntu1) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for desktop-file-utils (0.22-1ubuntu3) ...
Processing triggers for mime-support (3.58ubuntu1) ...

12) 了解更多

用以下命令来查看更多关于 dpkg 的信息。

$ dpkg -help
或
$ man dpkg

开始体验 dpkg 吧。


via: http://www.2daygeek.com/dpkg-command-examples/

作者:MAGESH MARUTHAMUTHU 译者:GitFuture 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

部署时出现“未找到软件包管...
通常出现这种错误是由于在部署应用程序时安装、配置或使用软件包管理器...
2025-01-07 21:01:37
不使用包管理器使用Poly...
要使用Polymer web组件,可以通过以下步骤来解决,而不使用...
2024-12-28 10:31:05
本地开发中使用Docker...
在本地开发中使用Docker容器来管理包可以提供一个隔离的开发环境...
2024-11-29 21:01:21
包管理器在软件开发中的作用...
包管理器可以帮助开发人员管理项目的依赖关系,自动下载和安装必要的软...
2024-11-23 11:02:08
包管理器控制台中的“DbC...
如果在包管理器控制台中出现"DbContext无法工作"的错误,可...
2024-11-23 11:01:53
包管理器输出中的“匹配了更...
在包管理器输出中,"匹配了更改的主要或次要版本" 是指包管理器发现...
2024-11-23 11:01:39

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...