如何列出 Ubuntu 和 Debian 上已安裝的軟體包

2019-02-23 00:27:00

當你安裝了 Ubuntu 並想好好用一用。但在將來某個時候,你肯定會遇到忘記曾經安裝了那些軟體包。

這個是完全正常。沒有人要求你把系統裡所有已安裝的軟體包都記住。但是問題是,如何才能知道已經安裝了哪些軟體包?如何檢視安裝過的軟體包呢?

列出 Ubuntu 和 Debian 上已安裝的軟體包

如果你經常用 apt 命令,你可能覺得會有個命令像 apt 一樣可以列出已安裝的軟體包。不算全錯。

apt-get 命令 沒有類似列出已安裝軟體包的簡單的選項,但是 apt 有一個這樣的命令:

apt list --installed

這個會顯示使用 apt 命令安裝的所有的軟體包。同時也會包含由於依賴而被安裝的軟體包。也就是說不僅會包含你曾經安裝的程式,而且會包含大量庫檔案和間接安裝的軟體包。

用 atp 命令列出顯示已安裝的軟件包

用 atp 命令列出顯示已安裝的軟體包

由於列出出來的已安裝的軟體包太多,用 grep 過濾特定的軟體包是一個比較好的辦法。

apt list --installed | grep program_name

如上命令也可以檢索出使用 .deb 軟體包檔案安裝的軟體。是不是很酷?

如果你閱讀過 apt 與 apt-get 對比的文章,你可能已經知道 aptapt-get 命令都是基於 dpkg。也就是說用 dpkg 命令可以列出 Debian 系統的所有已經安裝的軟體包。

dpkg-query -l

你可以用 grep 命令檢索指定的軟體包。

用 dpkg 命令列出顯示已經安裝的軟件包!

用 dpkg 命令列出顯示已經安裝的軟體包

現在你可以搞定列出 Debian 的軟體包管理器安裝的應用了。那 Snap 和 Flatpak 這個兩種應用呢?如何列出它們?因為它們不能被 aptdpkg 存取。

顯示系統裡所有已經安裝的 Snap 軟體包,可以這個命令:

snap list

Snap 可以用綠色勾號標出哪個應用來自經過認證的發佈者。

列出已經安裝的 Snap 軟件包

列出已經安裝的 Snap 軟體包

顯示系統裡所有已安裝的 Flatpak 軟體包,可以用這個命令:

flatpak list

讓我來個彙總:

apt 命令顯示已安裝軟體包:

apt list –installed

dpkg 命令顯示已安裝軟體包:

dpkg-query -l

列出系統裡 Snap 已安裝軟體包:

snap list

列出系統裡 Flatpak 已安裝軟體包:

flatpak list

顯示最近安裝的軟體包

現在你已經看過以字母順序列出的已經安裝軟體包了。如何顯示最近已經安裝的軟體包?

幸運的是,Linux 系統儲存了所有發生事件的紀錄檔。你可以參考最近安裝軟體包的紀錄檔。

有兩個方法可以來做。用 dpkg 命令的紀錄檔或者 apt 命令的紀錄檔。

你僅僅需要用 grep 命令過濾已經安裝的軟體包紀錄檔。

grep " install " /var/log/dpkg.log

這會顯示所有的軟體安裝包,其中包括最近安裝的過程中所依賴的軟體包。

2019-02-12 12:41:42 install ubuntu-make:all 16.11.1ubuntu12019-02-13 21:03:02 install xdg-desktop-portal:amd64 0.11-12019-02-13 21:03:02 install libostree-1-1:amd64 2018.8-0ubuntu0.12019-02-13 21:03:02 install flatpak:amd64 1.0.6-0ubuntu0.12019-02-13 21:03:02 install xdg-desktop-portal-gtk:amd64 0.11-12019-02-14 11:49:10 install qml-module-qtquick-window2:amd64 5.9.5-0ubuntu1.12019-02-14 11:49:10 install qml-module-qtquick2:amd64 5.9.5-0ubuntu1.12019-02-14 11:49:10 install qml-module-qtgraphicaleffects:amd64 5.9.5-0ubuntu1

你也可以檢視 apt 歷史命令紀錄檔。這個僅會顯示用 apt 命令安裝的的程式。但不會顯示被依賴安裝的軟體包,詳細的紀錄檔在紀錄檔裡可以看到。有時你只是想看看對吧?

grep " install " /var/log/apt/history.log

具體的顯示如下:

Commandline: apt install pintaCommandline: apt install pintaCommandline: apt install tmuxCommandline: apt install terminatorCommandline: apt install moreutilsCommandline: apt install ubuntu-makeCommandline: apt install flatpakCommandline: apt install cool-retro-termCommandline: apt install ubuntu-software

顯示最近已安裝的軟件包

顯示最近已安裝的軟體包

apt 的歷史紀錄檔非常有用。因為他顯示了什麼時候執行了 apt 命令,哪個使用者執行的命令以及安裝的軟體包名。

小技巧:在軟體中心顯示已安裝的程式包名

如果你覺得終端和命令列互動不友好,還有一個方法可以檢視系統的程式名。

可以開啟軟體中心,然後點選已安裝標籤。你可以看到系統上已經安裝的程式包名

Ubuntu 軟件中心顯示已安裝的軟件包

在軟體中心顯示已安裝的軟體包

這個不會顯示庫和其他命令列的東西,有可能你也不想看到它們,因為你的大量互動都是在 GUI。此外,你也可以用 Synaptic 軟體包管理器。

結束語

我希望這個簡易的教學可以幫你檢視 Ubuntu 和基於 Debian 的發行版的已安裝軟體包。

如果你對本文有什麼問題或建議,請在下面留言。