如何在 Debian/Ubuntu 系統中檢查程式包是否安裝?
我們近期釋出了一篇關於批量程式包安裝的文章。在此同時,關於如何獲取系統上已安裝了的程式包資訊,我也做了些調查然後找到了些方法。我會把這些方法分享在我們的網站上,希望能幫助到其他人。
有很多種方法可以檢查程式包是否已安裝,我找到了 7 種命令,你可以從中選擇你喜歡的使用。
如下:
apt-cache
:可用於查詢 APT 快取或程式包的後設資料。apt
:是基於 Debian 的系統中的安裝、下載、刪除、搜尋和管理包的強有力的工具。dpkg-query
:一個查詢 dpkg 資料庫的工具。dpkg
:基於 Debian 的系統的包管理工具。which
:返回在終端中輸入命令時執行的可執行檔案的全路徑。whereis
:可用於搜尋指定命令的二進位制檔案、原始碼檔案和幫助檔案。locate
:比find
命令快,因為其使用updatedb
資料庫搜尋,而find
命令在實際系統中搜尋。
方法一、使用 apt-cache 命令
apt-cache
命令用於從 APT 內部資料庫中查詢APT 快取和包的後設資料,將會搜尋和顯示指定包的資訊,包括是否安裝、程式包版本、原始碼倉庫資訊等。
下面的示例清楚的顯示 nano
包已經在系統中安裝了以及對應安裝的版本號。
# apt-cache policy nano
nano:
Installed: 2.9.3-2
Candidate: 2.9.3-2
Version table:
*** 2.9.3-2 500
500 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 Packages
100 /var/lib/dpkg/status
方法二、使用 apt 命令
apt
是一個功能強大的命令列工具,可用於安裝、下載、刪除、搜尋、管理程式包以及查詢關於程式包的資訊,類似對於 libapt-pkg
庫的所有功能的底層訪問。其包含一些與包管理相關的但很少用到的命令列功能。
# apt -qq list nano
nano/bionic,now 2.9.3-2 amd64 [installed]
方法三、使用 dpkg-query 命令
dpkg-query
是顯示 dpkg
資料庫中程式包資訊列表的一個工具。
下面示例中的輸出的第一列 ii
,表示查詢的程式包已安裝了。
# dpkg-query --list | grep -i nano
ii nano 2.9.3-2 amd64 small, friendly text editor inspired by Pico
方法四、使用 dpkg 命令
dpkg
(debian package)是一個安裝、構建、刪除和管理 Debian 包的工具,但和其他包管理系統不同的是,其不能自動下載和安裝包或包依賴。
下面示例中的輸出的第一列 ii
,表示查詢的包已安裝了。
# dpkg -l | grep -i nano
ii nano 2.9.3-2 amd64 small, friendly text editor inspired by Pico
方法五、使用 which 命令
which
命令返回在終端中輸入命令時執行的可執行檔案的全路徑。這對於你想要給可執行檔案建立桌面快捷方式或符號連結時非常有用。
which
命令僅在當前使用者 PATH
環境變數配置的目錄列表中搜尋,而不是在所有使用者的目錄中搜尋。這意思是當你登入你自己賬號時,其不會在 root
使用者檔案或目錄中搜尋。
如果對於指定的程式包或可執行檔案路徑有如下輸出,則表示已安裝了,否則沒有。
# which nano
/bin/nano
方法六、使用 whereis 命令
whereis
命令用於針對指定命令搜尋對應的程式二進位制檔案、原始碼檔案以及幫助檔案等。
如果對於指定的程式包或可執行檔案路徑有如下輸出,則表示已安裝了,否則沒有。
# whereis nano
nano: /bin/nano /usr/share/nano /usr/share/man/man1/nano.1.gz /usr/share/info/nano.info.gz
方法七、使用 locate 命令
locate
命令比 find
命令快,因為其在 updatedb
資料庫中搜尋,而 find
命令在實際系統中進行搜尋。
對於獲取指定檔案,其使用資料庫而不是在特定目錄路徑中搜尋。
locate
命令不會預安裝在大多數系統中,需要手動安裝。
locate
使用的資料庫會根據定時任務定期更新。當然,我們也可以手動更新。
如果對於指定的程式包或可執行檔案路徑有如下輸出,則表示已安裝了,否則沒有。
# locate --basename '\nano'
/usr/bin/nano
/usr/share/nano
/usr/share/doc/nano
作者:Magesh Maruthamuthu 選題:lujun9972 譯者:yizhuoyan 校對:wxy
訂閱“Linux 中國”官方小程式來檢視
相關文章
- Linux系統中,要檢查CUDA是否安裝成功Linux
- 如何在 Debian/Ubuntu 上手動安裝安全更新?Ubuntu
- 如何在CentOS 7、Ubuntu 16.04和Debian 9中安裝Golang 1.8.3CentOSUbuntuGolang
- 手把手教你如何在Ubuntu系統中安裝PycharmUbuntuPyCharm
- Debian11系統安裝
- 如何列出 Ubuntu 和 Debian 上已安裝的軟體包Ubuntu
- ubuntu安裝debian包的命令dpkg和apt的詳解UbuntuAPT
- VMware 中解除安裝安裝Ubuntu 20.04.1 ——Ubuntu系統配置(一)Ubuntu
- shell批次yum安裝並檢查是否安裝成功
- 如何在Ubuntu/Debian Linux編寫C程式UbuntuLinuxC程式
- 怎麼檢查是否安裝了pythonPython
- 如何在 Ubuntu 中檢查你的 IP 地址Ubuntu
- 如何在Ubuntu 16.10上安裝ResourceSpace程式Ubuntu
- 檢查PHP擴充套件是否安裝成功PHP套件
- debian 9.4 安裝教程:linux系統debian9.4圖文安裝教程Linux
- 在debian 12 中安裝virtualbox擴充套件包套件
- Python庫檢查是否正確安裝並安裝所需版本Python
- win10如何檢視是否安裝adb驅動_win10系統檢視adb是否安裝的方法Win10
- 教你如何在 Ubuntu 18.04 中安裝 gThumb 3.9.1Ubuntu
- 教你如何在 Ubuntu 中安裝 Oracle Java 13UbuntuOracleJava
- ubuntu系統上安裝nodejsUbuntuNodeJS
- 安裝Ubuntu windows雙系統UbuntuWindows
- Debian安裝包的簡單製作
- Ubuntu系統中找不到yum及安裝方法!Ubuntu
- debian軟體解除安裝|deb包解除安裝|dpkg命令
- ubuntu透過安裝包安裝MongodbUbuntuMongoDB
- Debian11系統編譯安裝Nginx教程。編譯Nginx
- Debian11系統編譯安裝PHP教程。編譯PHP
- Debian11系統編譯安裝phpMyAdmin教程。編譯PHP
- Debian11系統編譯安裝Apache教程。編譯Apache
- Debian11系統編譯安裝Tomcat教程。編譯Tomcat
- Debian11系統編譯安裝Docker教程。編譯Docker
- Debian11系統編譯安裝Memcached教程。編譯
- Debian11系統編譯安裝Redis教程。編譯Redis
- 如何在 Arch Linux 中查詢已安裝的專有軟體包?Linux
- 如何在Ubuntu裡安裝HelmUbuntu
- 如何在 Ubuntu 上安裝 VirtualBoxUbuntu
- 如何在 Ubuntu 上安裝 MongoDBUbuntuMongoDB