天天看點

用dpkg指令在Debian系的Linux系統中管理軟體包

用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 相關檔案的位置,如果想深入了解,這些對你肯定大有益處。

### dpkg 指令的文法 

$ dpkg -[command] [.deb package name] 

$ dpkg -[command] [package name] 

### dpkg 相關檔案的位置 

$ /var/lib/dpkg 

### 這個檔案包含了被 dpkg 指令(install、remove 等)所修改的包的資訊 

$ /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 

(reading database ... 423303 files and directories currently installed.) 

preparing to unpack /opt/software/atom-amd64.deb ... 

unpacking atom (1.5.3) ... 

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 

||/ name       version   architecture        description 

+++-==========-=========-===================-============================================ 

ii  atom       1.5.3     amd64               a hackable text editor for the 21st century. 

6) 檢視軟體安裝目錄

以下指令可以在基于 debian 的系統上檢視軟體的安裝路徑。

/. 

/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 <[email protected]>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.</[email protected]>  

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) ... 

11) 清除軟體

以下指令可以用來移除/删除包括配置檔案在内的所有檔案。

$ sudo dpkg -p atom 

12) 了解更多

用以下指令來檢視更多關于 dpkg 的資訊。

$ dpkg -help 

或 

$ man dpkg 

開始體驗 dpkg 吧。

作者:magesh maruthamuthu

來源:51cto