天天看點

Linux 基礎:如何在Ubuntu上檢查一個軟體包是否安裝Linux 基礎:如何在Ubuntu上檢查一個軟體包是否安裝

Linux 基礎:如何在Ubuntu上檢查一個軟體包是否安裝Linux 基礎:如何在Ubuntu上檢查一個軟體包是否安裝

如果你正在管理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 &lt;[email protected]&gt;</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 (&gt;= 1.0.16), libatk1.0-0 (&gt;= 1.12.4), libc6 (&gt;= 2.17), libcairo2 (&gt;= 1.2.4), libdbus-1-3 (&gt;= 1.0.2), libdbus-glib-1-2 (&gt;= 0.78), libfontconfig1 (&gt;= 2.9.0), libfreetype6 (&gt;= 2.2.1), libgcc1 (&gt;= 1:4.1.1), libgdk-pixbuf2.0-0 (&gt;= 2.22.0), libglib2.0-0 (&gt;= 2.37.3), libgtk2.0-0 (&gt;= 2.24.0), libpango-1.0-0 (&gt;= 1.22.0), libpangocairo-1.0-0 (&gt;= 1.14.0), libstartup-notification0 (&gt;= 0.8), libstdc++6 (&gt;= 4.6), libx11-6, libxcomposite1 (&gt;= 1:0.3-1), libxdamage1 (&gt;= 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中國”

繼續閱讀