
如果你正在管理debian或者ubuntu伺服器,你也許會經常使用dpkg 或者 apt-get指令。這兩個指令用來安裝、解除安裝和更新包。
在本篇中,讓我們看下如何在基于deb的系統下檢查是否安裝了一個包。
要檢查特定的包,比如firefox是否安裝了,使用這個指令:
<code>dpkg -s firefox</code>
示例輸出:
<code>package: firefox</code>
<code>status: install ok installed</code>
<code>priority: optional</code>
<code>section: web</code>
<code>installed-size: 93339</code>
<code>maintainer: ubuntu mozilla team <[email protected]></code>
<code>architecture: amd64</code>
<code>version: 35.0+build3-0ubuntu0.14.04.2</code>
<code>replaces: kubuntu-firefox-installer</code>
<code>provides: gnome-www-browser, iceweasel, www-browser</code>
<code>depends: lsb-release, libasound2 (>= 1.0.16), libatk1.0-0 (>= 1.12.4), libc6 (>= 2.17), libcairo2 (>= 1.2.4), libdbus-1-3 (>= 1.0.2), libdbus-glib-1-2 (>= 0.78), libfontconfig1 (>= 2.9.0), libfreetype6 (>= 2.2.1), libgcc1 (>= 1:4.1.1), libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.37.3), libgtk2.0-0 (>= 2.24.0), libpango-1.0-0 (>= 1.22.0), libpangocairo-1.0-0 (>= 1.14.0), libstartup-notification0 (>= 0.8), libstdc++6 (>= 4.6), libx11-6, libxcomposite1 (>= 1:0.3-1), libxdamage1 (>= 1:1.1), libxext6, libxfixes3, libxrender1, libxt6</code>
<code>recommends: xul-ext-ubufox, libcanberra0, libdbusmenu-glib4, libdbusmenu-gtk4</code>
<code>suggests: ttf-lyx</code>
<code>conffiles:</code>
<code>/etc/firefox/syspref.js 09e457e65435a1a043521f2bd19cd2a1</code>
<code>/etc/apport/blacklist.d/firefox ee63264f847e671832d42255912ce144</code>
<code>/etc/apport/native-origins.d/firefox 7c26b75c7c2b715c89cc6d85338252a4</code>
<code>/etc/apparmor.d/usr.bin.firefox f54f7a43361c7ecfa3874abca2f292cf</code>
<code>description: safe and easy web browser from mozilla</code>
<code>firefox delivers safe, easy web browsing. a familiar user interface,</code>
<code>enhanced security features including protection from online identity theft,</code>
<code>and integrated search let you get the most out of the web.</code>
<code>xul-appid: {ec8030f7-c20a-464f-9b0e-13a3a9e97384}</code>
如上所見,firefox已經安裝了。
同樣,你可以使用dpkg-query 指令。這個指令會有一個更好的輸出,當然,你可以用通配符。
<code>dpkg-query -l firefox</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 firefox 35.0+build3-0ubuntu0.14 amd64 safe and easy web browser from mozilla</code>
要列出你系統中安裝的所有包,輸入下面的指令:
<code>dpkg --get-selections</code>
<code>abiword install</code>
<code>abiword-common install</code>
<code>accountsservice install</code>
<code>acl install</code>
<code>adduser install</code>
<code>alsa-base install</code>
<code>alsa-utils install</code>
<code>anacron install</code>
<code>app-install-data install</code>
<code>apparmor install</code>
<code>.</code>
<code>zeitgeist install</code>
<code>zeitgeist-core install</code>
<code>zeitgeist-datahub install</code>
<code>zenity install</code>
<code>zenity-common install</code>
<code>zip install</code>
<code>zlib1g:amd64 install</code>
<code>zlib1g:i386 install</code>
上面的輸出可能會非常長,這依賴于你的系統已安裝的包。
你同樣可以通過grep來過濾割到更精确的包。比如,我想要使用dpkg指令檢視系統中安裝的gcc包:
<code>dpkg --get-selections | grep gcc</code>
<code>gcc install</code>
<code>gcc-4.8 install</code>
<code>gcc-4.8-base:amd64 install</code>
<code>gcc-4.8-base:i386 install</code>
<code>gcc-4.9-base:amd64 install</code>
<code>gcc-4.9-base:i386 install</code>
<code>libgcc-4.8-dev:amd64 install</code>
<code>libgcc1:amd64 install</code>
<code>libgcc1:i386 install</code>
此外,你可以使用“-l”參數來找出包中檔案的位置。
<code>dpkg -l gcc-4.8</code>
<code>/.</code>
<code>/usr</code>
<code>/usr/share</code>
<code>/usr/share/doc</code>
<code>/usr/share/doc/gcc-4.8-base</code>
<code>/usr/share/doc/gcc-4.8-base/readme.bugs</code>
<code>/usr/share/doc/gcc-4.8-base/news.html</code>
<code>/usr/share/doc/gcc-4.8-base/quadmath</code>
<code>/usr/share/doc/gcc-4.8-base/quadmath/changelog.gz</code>
<code>/usr/share/doc/gcc-4.8-base/gcc</code>
<code>/usr/bin/x86_64-linux-gnu-gcc-4.8</code>
<code>/usr/bin/x86_64-linux-gnu-gcc-ar-4.8</code>
<code>/usr/bin/x86_64-linux-gnu-gcov-4.8</code>
就是這樣了。希望這篇對你有用。
美好的一天!
原文釋出時間:2015-03-31
本文來自雲栖合作夥伴“linux中國”