紅聯Linux門戶
Linux幫助

七種方法教你在ubuntu中的安裝包是否正確安裝

發布時間:2019-06-28 16:24:09來源:紅聯作者:七種方法教你在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 '
ano'
/usr/bin/nano
/usr/share/nano
/usr/share/doc/nano


文章評論

共有 0 條評論

贵州体彩11选5查询号码