天天看點

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

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

現在,我要在裝有 ubuntu 15.10 的機器上用一些執行個體講解最常用的 dpkg 指令。

<a target="_blank"></a>

下面是 dpkg 常見指令的文法及 dpkg 相關檔案的位置,如果想深入了解,這些對你肯定大有益處。

<code>### dpkg 指令的文法</code>

<code>$ dpkg -[command] [.deb package name]</code>

<code></code>

<code>$ dpkg -[command] [package name]</code>

<code>### dpkg 相關檔案的位置</code>

<code>$ /var/lib/dpkg</code>

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

<code>$ /var/lib/dpkg/status</code>

<code>### 這個檔案包含了可用包的清單</code>

在基于 debian 的系統裡,比如 debian、mint、ubuntu 和 elementryos,用以下指令來安裝/更新 .deb 軟體包。這裡我要用 <code>atom-amd64.deb</code> 檔案安裝 atom。要是已經安裝了 atom,就會更新它。要麼就會安裝一個新的 atom。

<code>### 安裝或更新 dpkg 軟體包</code>

<code>$ sudo dpkg -i atom-amd64.deb</code>

<code>selecting previously unselected package atom.</code>

<code>(reading database ... 426102 files and directories currently installed.)</code>

<code>preparing to unpack atom-amd64.deb ...</code>

<code>unpacking atom (1.5.3) over (1.5.3) ...</code>

<code>setting up atom (1.5.3) ...</code>

<code>processing triggers for gnome-menus (3.13.3-6ubuntu1) ...</code>

<code>processing triggers for bamfdaemon (0.5.2~bzr0+15.10.20150627.1-0ubuntu1) ...</code>

<code>rebuilding /usr/share/applications/bamf-2.index...</code>

<code>processing triggers for desktop-file-utils (0.22-1ubuntu3) ...</code>

<code>processing triggers for mime-support (3.58ubuntu1) ...</code>

在基于 debian 的系統裡,用下列指令從目錄中逐個安裝軟體。這會安裝<code>/opt/software</code> 目錄下的所有以 .deb 為字尾的軟體。

<code>$ sudo dpkg -ir /opt/software</code>

<code>(reading database ... 423303 files and directories currently installed.)</code>

<code>preparing to unpack /opt/software/atom-amd64.deb ...</code>

<code>unpacking atom (1.5.3) ...</code>

以下指令可以列出 debian 系的系統中所有已安裝的軟體,同時會顯示軟體版本和描述資訊。

<code>$ dpkg -l</code>

<code>desired=unknown/install/remove/purge/hold</code>

<code>| status=not/inst/conf-files/unpacked/half-conf/half-inst/trig-await/trig-pend</code>

<code>|/ err?=(none)/reinst-required (status,err: uppercase=bad)</code>

<code>||/ name version architecture description</code>

<code>+++-===========================-==================================-============-================================================================</code>

<code>ii account-plugin-aim 3.12.10-0ubuntu2 amd64 messaging account plugin for aim</code>

<code>ii account-plugin-facebook 0.12+15.10.20150723-0ubuntu1 all gnome control center account plugin for single signon - facebook</code>

<code>ii account-plugin-flickr 0.12+15.10.20150723-0ubuntu1 all gnome control center account plugin for single signon - flickr</code>

<code>ii account-plugin-google 0.12+15.10.20150723-0ubuntu1 all gnome control center account plugin for single signon</code>

<code>ii account-plugin-jabber 3.12.10-0ubuntu2 amd64 messaging account plugin for jabber/xmpp</code>

<code>ii account-plugin-salut 3.12.10-0ubuntu2 amd64 messaging account plugin for local xmpp (salut)</code>

<code>.</code>

用以下指令列出指定的一個已安裝軟體,同時會顯示軟體版本和描述資訊。

<code>$ dpkg -l atom</code>

<code>||/ name version architecture description</code>

<code>+++-==========-=========-===================-============================================</code>

<code>ii atom 1.5.3 amd64 a hackable text editor for the 21st century.</code>

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

<code>/.</code>

<code>/usr</code>

<code>/usr/bin</code>

<code>/usr/bin/atom</code>

<code>/usr/share</code>

<code>/usr/share/lintian</code>

<code>/usr/share/lintian/overrides</code>

<code>/usr/share/lintian/overrides/atom</code>

<code>/usr/share/pixmaps</code>

<code>/usr/share/pixmaps/atom.png</code>

<code>/usr/share/doc</code>

下列指令可以檢視 deb 包内容。它會顯示 .deb 包中的一系列檔案。

<code>$ dpkg -c atom-amd64.deb</code>

<code>drwxr-xr-x root/root 0 2016-02-13 02:13 ./</code>

<code>drwxr-xr-x root/root 0 2016-02-13 02:13 ./usr/</code>

<code>drwxr-xr-x root/root 0 2016-02-13 02:13 ./usr/bin/</code>

<code>-rwxr-xr-x root/root 3067 2016-02-13 02:13 ./usr/bin/atom</code>

<code>drwxr-xr-x root/root 0 2016-02-13 02:13 ./usr/share/</code>

<code>drwxr-xr-x root/root 0 2016-02-13 02:13 ./usr/share/lintian/</code>

<code>drwxr-xr-x root/root 0 2016-02-13 02:13 ./usr/share/lintian/overrides/</code>

<code>-rw-r--r-- root/root 299 2016-02-13 02:13 ./usr/share/lintian/overrides/atom</code>

<code>drwxr-xr-x root/root 0 2016-02-13 02:13 ./usr/share/pixmaps/</code>

<code>-rw-r--r-- root/root 643183 2016-02-13 02:13 ./usr/share/pixmaps/atom.png</code>

<code>drwxr-xr-x root/root 0 2016-02-13 02:13 ./usr/share/doc/</code>

以下指令可以顯示軟體的詳細資訊,如軟體名、軟體類别、版本、維護者、軟體架構、依賴的軟體、軟體描述等等。

<code>$ dpkg -s atom</code>

<code>package: atom</code>

<code>status: install ok installed</code>

<code>priority: optional</code>

<code>section: devel</code>

<code>installed-size: 213496</code>

<code>maintainer: github &lt;[email protected]&gt;architecture: amd64</code>

<code>version: 1.5.3</code>

<code>depends: git, gconf2, gconf-service, libgtk2.0-0, libudev0 | libudev1, libgcrypt11 | libgcrypt20, libnotify4, libxtst6, libnss3, python, gvfs-bin, xdg-utils, libcap2</code>

<code>recommends: lsb-release</code>

<code>suggests: libgnome-keyring0, gir1.2-gnomekeyring-1.0</code>

<code>description: a hackable text editor for the 21st century.</code>

<code>atom is a free and open source text editor that is modern, approachable, and hackable to the core.&lt;/[email protected]&gt;</code>

用以下指令來檢視檔案屬于哪個軟體。

<code>$ dpkg -s /usr/bin/atom</code>

<code>atom: /usr/bin/atom</code>

以下指令可以用來移除/删除一個已經安裝的軟體,但不删除配置檔案。

<code>$ sudo dpkg -r atom</code>

<code>(reading database ... 426404 files and directories currently installed.)</code>

<code>removing atom (1.5.3) ...</code>

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

<code>$ sudo dpkg -p atom</code>

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

<code>$ dpkg -help</code>

<code>或</code>

<code>$ man dpkg</code>

開始體驗 dpkg 吧。

原文釋出時間為:2017-11-12

本文來自雲栖社群合作夥伴“linux中國”