這篇文章主要講解了“如何在Debian/Ubuntu系統(tǒng)中檢查程序包是否安裝”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“如何在Debian/Ubuntu系統(tǒng)中檢查程序包是否安裝”吧!
成都創(chuàng)新互聯(lián)公司擁有一支富有激情的企業(yè)網(wǎng)站制作團(tuán)隊,在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)深耕10余年,專業(yè)且經(jīng)驗(yàn)豐富。10余年網(wǎng)站優(yōu)化營銷經(jīng)驗(yàn),我們已為上1000+中小企業(yè)提供了網(wǎng)站建設(shè)、網(wǎng)站設(shè)計解決方案,按需設(shè)計網(wǎng)站,設(shè)計滿意,售后服務(wù)無憂。所有客戶皆提供一年免費(fèi)網(wǎng)站維護(hù)!
有很多種方法可以檢查程序包是否已安裝,我找到了 7 種命令,你可以從中選擇你喜歡的使用。
如下:
apt-cache
:可用于查詢 APT 緩存或程序包的元數(shù)據(jù)。
apt
:是基于 Debian 的系統(tǒng)中的安裝、下載、刪除、搜索和管理包的強(qiáng)有力的工具。
dpkg-query
:一個查詢 dpkg 數(shù)據(jù)庫的工具。
dpkg
:基于 Debian 的系統(tǒng)的包管理工具。
which
:返回在終端中輸入命令時執(zhí)行的可執(zhí)行文件的全路徑。
whereis
:可用于搜索指定命令的二進(jìn)制文件、源碼文件和幫助文件。
locate
:比 find
命令快,因?yàn)槠涫褂?updatedb
數(shù)據(jù)庫搜索,而 find
命令在實(shí)際系統(tǒng)中搜索。
apt-cache
命令用于從 APT 內(nèi)部數(shù)據(jù)庫中查詢APT 緩存和包的元數(shù)據(jù),將會搜索和顯示指定包的信息,包括是否安裝、程序包版本、源碼倉庫信息等。
下面的示例清楚的顯示 nano
包已經(jīng)在系統(tǒng)中安裝了以及對應(yīng)安裝的版本號。
# apt-cache policy nanonano: 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
是一個功能強(qiáng)大的命令行工具,可用于安裝、下載、刪除、搜索、管理程序包以及查詢關(guān)于程序包的信息,類似對于 libapt-pkg
庫的所有功能的底層訪問。其包含一些與包管理相關(guān)的但很少用到的命令行功能。
# apt -qq list nanonano/bionic,now 2.9.3-2 amd64 [installed]
dpkg-query
是顯示 dpkg
數(shù)據(jù)庫中程序包信息列表的一個工具。
下面示例中的輸出的***列 ii
,表示查詢的程序包已安裝了。
# dpkg-query --list | grep -i nanoii nano 2.9.3-2 amd64 small, friendly text editor inspired by Pico
dpkg
(debian package)是一個安裝、構(gòu)建、刪除和管理 Debian 包的工具,但和其他包管理系統(tǒng)不同的是,其不能自動下載和安裝包或包依賴。
下面示例中的輸出的***列 ii
,表示查詢的包已安裝了。
# dpkg -l | grep -i nanoii nano 2.9.3-2 amd64 small, friendly text editor inspired by Pico
which
命令返回在終端中輸入命令時執(zhí)行的可執(zhí)行文件的全路徑。這對于你想要給可執(zhí)行文件創(chuàng)建桌面快捷方式或符號鏈接時非常有用。
which
命令僅在當(dāng)前用戶 PATH
環(huán)境變量配置的目錄列表中搜索,而不是在所有用戶的目錄中搜索。這意思是當(dāng)你登入你自己賬號時,其不會在 root
用戶文件或目錄中搜索。
如果對于指定的程序包或可執(zhí)行文件路徑有如下輸出,則表示已安裝了,否則沒有。
# which nano/bin/nano
whereis
命令用于針對指定命令搜索對應(yīng)的程序二進(jìn)制文件、源碼文件以及幫助文件等。
如果對于指定的程序包或可執(zhí)行文件路徑有如下輸出,則表示已安裝了,否則沒有。
# whereis nanonano: /bin/nano /usr/share/nano /usr/share/man/man1/nano.1.gz /usr/share/info/nano.info.gz
locate
命令比 find
命令快,因?yàn)槠湓?updatedb
數(shù)據(jù)庫中搜索,而 find
命令在實(shí)際系統(tǒng)中進(jìn)行搜索。
對于獲取指定文件,其使用數(shù)據(jù)庫而不是在特定目錄路徑中搜索。
locate
命令不會預(yù)安裝在大多數(shù)系統(tǒng)中,需要手動安裝。
locate
使用的數(shù)據(jù)庫會根據(jù)定時任務(wù)定期更新。當(dāng)然,我們也可以手動更新。
如果對于指定的程序包或可執(zhí)行文件路徑有如下輸出,則表示已安裝了,否則沒有。
# locate --basename '\nano'/usr/bin/nano/usr/share/nano/usr/share/doc/nano
感謝各位的閱讀,以上就是“如何在Debian/Ubuntu系統(tǒng)中檢查程序包是否安裝”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對如何在Debian/Ubuntu系統(tǒng)中檢查程序包是否安裝這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!