用dpkg命令在Debian系的Linux系统中管理软件包

简介:

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

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

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

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

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

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

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

 
 
  1. ### dpkg 命令的语法 
  2. $ dpkg -[command] [.deb package name
  3. $ dpkg -[command] [package name
  4. ### dpkg 相关文件的位置 
  5. $ /var/lib/dpkg 
  6. ### 这个文件包含了被 dpkg 命令(install、remove 等)所修改的包的信息 
  7. $ /var/lib/dpkg/status 
  8. ### 这个文件包含了可用包的列表 
  9. $ /var/lib/dpkg/status 

2) 安装/升级软件

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

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

3) 从文件夹里安装软件

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

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

4) 显示已安装软件列表

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

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

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

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

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

6) 查看软件安装目录

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

 
 
  1. $ dpkg -L atom 
  2. /. 
  3. /usr 
  4. /usr/bin 
  5. /usr/bin/atom 
  6. /usr/share 
  7. /usr/share/lintian 
  8. /usr/share/lintian/overrides 
  9. /usr/share/lintian/overrides/atom 
  10. /usr/share/pixmaps 
  11. /usr/share/pixmaps/atom.png 
  12. /usr/share/doc 

7) 查看 deb 包内容

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

 
 
  1. $ dpkg -c atom-amd64.deb 
  2. drwxr-xr-x root/root         0 2016-02-13 02:13 ./ 
  3. drwxr-xr-x root/root         0 2016-02-13 02:13 ./usr/ 
  4. drwxr-xr-x root/root         0 2016-02-13 02:13 ./usr/bin/ 
  5. -rwxr-xr-x root/root      3067 2016-02-13 02:13 ./usr/bin/atom 
  6. drwxr-xr-x root/root         0 2016-02-13 02:13 ./usr/share/ 
  7. drwxr-xr-x root/root         0 2016-02-13 02:13 ./usr/share/lintian/ 
  8. drwxr-xr-x root/root         0 2016-02-13 02:13 ./usr/share/lintian/overrides/ 
  9. -rw-r--r-- root/root       299 2016-02-13 02:13 ./usr/share/lintian/overrides/atom 
  10. drwxr-xr-x root/root         0 2016-02-13 02:13 ./usr/share/pixmaps/ 
  11. -rw-r--r-- root/root    643183 2016-02-13 02:13 ./usr/share/pixmaps/atom.png 
  12. drwxr-xr-x root/root         0 2016-02-13 02:13 ./usr/share/doc/ 

8) 显示软件的详细信息

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

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

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

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

 
 
  1. $ dpkg -S /usr/bin/atom 
  2. atom: /usr/bin/atom 

10) 移除/删除软件

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

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

11) 清除软件

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

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

12) 了解更多

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

 
 
  1. $ dpkg -help 
  2. 或 
  3. $ man dpkg 

开始体验 dpkg 吧。





作者:MAGESH MARUTHAMUTHU
来源:51CTO
目录
相关文章
|
3天前
|
Ubuntu 安全 Linux
《Linux 简易速速上手小册》第1章: Linux 系统基础(2024 最新版)
《Linux 简易速速上手小册》第1章: Linux 系统基础(2024 最新版)
36 1
|
2天前
|
机器学习/深度学习 缓存 监控
linux查看CPU、内存、网络、磁盘IO命令
`Linux`系统中,使用`top`命令查看CPU状态,要查看CPU详细信息,可利用`cat /proc/cpuinfo`相关命令。`free`命令用于查看内存使用情况。网络相关命令包括`ifconfig`(查看网卡状态)、`ifdown/ifup`(禁用/启用网卡)、`netstat`(列出网络连接,如`-tuln`组合)以及`nslookup`、`ping`、`telnet`、`traceroute`等。磁盘IO方面,`iostat`(如`-k -p ALL`)显示磁盘IO统计,`iotop`(如`-o -d 1`)则用于查看磁盘IO瓶颈。
|
2天前
|
Linux Perl
Linux系统替换字符串常用命令
请注意,`sed`命令可以非常强大,可以根据不同的需求使用不同的选项和正则表达式来进行更复杂的字符串替换操作。
16 0
|
5天前
|
安全 Linux 开发工具
Linux中可引起文件时间戳改变的相关命令
【4月更文挑战第12天】Linux中可引起文件时间戳改变的相关命令
11 0
|
6天前
|
域名解析 网络协议 Linux
Linux 中的 Nslookup 命令怎么使用?
【4月更文挑战第12天】
25 6
Linux 中的 Nslookup 命令怎么使用?
|
Shell Linux
12.13 Linux工作管理
工作管理指的是在单个登录终端(也就是登录的 Shell 界面)同时管理多个工作的行为。也就是说,我们登陆了一个终端,已经在执行一个操作,那么是否可以在不关闭当前操作的情况下执行其他操作呢?
110 0
12.13 Linux工作管理
|
Linux Shell Windows
Linux系统管理-工作管理(后台程序管理)
版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/twilight_karl/article/details/77857203 简介 工作管理指的是在当个登陆终端中同时管理多个工作的行为。
1119 0
|
14天前
|
Web App开发 Linux 网络安全
工作中常用到的Linux命令
工作中常用到的Linux命令