Ubuntu:如何列出已安裝的軟體包

列出已安裝的 Ubuntu 軟體包的最快方法是打開終端機並執行 `apt list` 命令apt list --installed。此指令會顯示透過 APT 和 apt 管理的軟體包dpkg。如果您也使用 Snap 或 Flatpak,請執行它們各自的列出命令,因為這些格式的軟體包是由不同的系統管理的。

您無需sudo僅查看軟體包清單。以下指令為唯讀指令。

你想看什麼命令或工具
所有已安裝的 DEB/APT 軟體包apt list --installed
標記為 APT 手動安裝的軟體包apt-mark showmanual
從 dpkg 資料庫安裝了 DEB 軟體包dpkg-query
已安裝的 Snapsnap list
已安裝 Flatpakflatpak list
圖形軟體包列表Synaptic軟體套件管理器

列出所有已安裝的 APT 軟體包

對於大多數Ubuntu使用者來說,這是最簡單的指令:

apt list --installed

APT 支援--installed專門用於此目的的篩選器,具體文件請參閱Ubuntu apt 手冊。輸出結果包括軟體包名稱、軟體來源資訊、已安裝版本、架構以及一個[installed]標記。

如果清單太長,無法在螢幕內顯示,請使用以下方式翻頁:

apt list --installed 2>/dev/null | less

按空白鍵繼續,按q鍵退出less。若要尋找特定軟體包,請使用以下方式篩選輸出grep:

apt list --installed 2>/dev/null | grep -i '^curl/'

儲存副本以便日後進行故障排除或比較:

apt list --installed > "$HOME/installed-deb-packages.txt"
Ubuntu 終端機顯示 apt list --installed 指令的輸出,列出已安裝的 DEB 軟體包
範例apt list --installed輸出。軟體包名稱和版本因 Ubuntu 系統而異。

顯示標記為手動安裝的軟體包

如果您想要一個更短的列表,其中排除 APT 視為自動安裝依賴項的軟體包,請使用:

apt-mark showmanual

Ubuntu apt-mark 手冊解釋說,直接要求的軟體包標記為手動,而為其拉取的依賴項通常標記為自動。

請勿將此視為您在安裝 Ubuntu 後親自安裝的所有軟體包的完整歷史記錄。某些軟體包可能在作業系統安裝過程中或後續的軟體包管理變更中已被標記為手動安裝。最好將其理解為 APT 目前的手動/自動安裝狀態。

Ubuntu 終端機顯示 apt-mark showmanual 指令的輸出,用於顯示手動標記的 APT 軟體包。
apt-mark showmanual傳回不包含龐大相依性清單的軟體包名稱。

使用 dpkg-query 取得精確的軟體包資料庫視圖

APTdpkg底層使用 dpkg 來管理 DEB 軟體包。如果您想直接查詢 dpkg 資料庫並僅列印目前狀態為「已安裝」的項目,請執行:

dpkg-query -W -f='${binary:Package}\t${Version}\t${db:Status-Status}\n' | awk -F '\t' '$3=="installed" {print $1 "\t" $2}'

此命令會列印軟體包名稱和已安裝版本。此處使用的欄位在目前的Ubuntu dpkg-query 手冊中有詳細說明。

較早的指南經常建議使用dpkg --get-selections`dpkg select` 指令。該命令對於 dpkg 選擇狀態很有用,但它也可以顯示諸如 install、hold、deinstall 或 purge 之類的狀態。要獲得目前實際安裝的軟體包的清晰列表,apt list --installed或者使用經過狀態篩選的列表dpkg-query會更清晰。

列出已安裝的 Snap 和 Flatpak 軟體包

如果您也透過其他軟體包系統安裝應用程序,APT 和 dpkg 將無法提供完整的清單。

Ubuntu 標準桌面版預設支援 Snap。若要查看已安裝的 Snap,請執行:

snap list

Snap官方文件顯示,此產出包含 snap 名稱、版本、修訂、追蹤頻道、發布者和備註。

如果您單獨安裝了 Flatpak,請使用以下命令列出所有已安裝的應用程式和執行時間:

flatpak list

若要僅顯示 Flatpak 應用程序,請使用flatpak list --app。這些選項在Flatpak 命令參考中有詳細說明。

Ubuntu 終端機顯示 snap list 和 flatpak list 命令,列出已安裝的應用程式
使用每個軟體包系統自己的 list 命令來包含 APT 未管理的軟體。

使用 Synaptic 列出已安裝的軟體包

如果您喜歡圖形介面,Synaptic 仍然適用於 Ubuntu,儘管它預設並未安裝。您可以使用以下命令安裝:

sudo apt install synaptic

然後開啟Synaptic 軟體套件管理器,根據提示進行身份驗證,在左下角窗格中選擇「狀態」 ,然後選擇「已安裝」。 Synaptic 還可以根據軟體包狀態顯示「已安裝(手動)」篩選器。 Ubuntu 的Synaptic 文件介紹了其基於狀態的軟體包瀏覽功能。

Synaptic 軟體套件管理器,已選擇「狀態」部分和「已安裝」篩選器
Synaptic 提供已安裝 APT 軟體包及相關狀態過濾器的圖形使用者介面視圖。

你應該使用哪一種方法?

apt list --installed當您只需要已安裝的 DEB 軟體包清單時,請使用此選項。apt-mark showmanual當您想要將手動標記的軟體包與自動依賴項區分開來時,請使用此選項。dpkg-query當您需要從 dpkg 資料庫取得結構化輸出時,請選擇此選項;如果存在對應的軟體包系統,請新增snap list此選項。flatpak list

要全面了解 Ubuntu 軟體,沒有一個單一命令可以涵蓋所有軟體包格式。檢查 APT/dpkg 以及 Snap,如果安裝了 Flatpak,則檢查 Flatpak 也能提供更完整的資訊。

留下評論

如何在Linux系統上使用Cameractrls更改網路攝影機設置

如何在Linux系統上使用Cameractrls更改網路攝影機設置

使用 Cameractrls 在 Linux 上變更網路攝影機設定:調整曝光、色彩、減少閃爍和其他支援的控件,然後檢查相容的視訊模式。

如何在 Linux 上安裝 PhpStorm:工具箱、Tar.gz、Snap 和 AUR

如何在 Linux 上安裝 PhpStorm:工具箱、Tar.gz、Snap 和 AUR

在 Linux 系統上,您可以使用 JetBrains Toolbox 或獨立的 tar.gz 壓縮套件安裝 PhpStorm,此外還有 Snap 和 Arch AUR 版本可供選擇。 Java 已預先安裝。

如何在 Linux 系統上將 CD-ROM 備份為 ISO 文件

如何在 Linux 系統上將 CD-ROM 備份為 ISO 文件

在 Linux 上使用 GNOME Disks 或 dd 建立 CD-ROM ISO。識別光碟機,監控複製過程,驗證鏡像,並了解何時損壞的光碟或音訊光碟需要其他工具。

如何在 XFCE 4 上設定雙面板

如何在 XFCE 4 上設定雙面板

為每個顯示器建立一個單獨的 XFCE 4 面板,將第二個面板指派給正確的輸出,調整其位置和大小,並新增所需的啟動器和狀態項目。

如何在Linux上安裝Cisco Packet Tracer

如何在Linux上安裝Cisco Packet Tracer

下載適用於 Ubuntu 64 位元系統的 Cisco Packet Tracer 9.0.1,使用 APT 安裝 DEB 軟體包,在終端機中接受許可協議,然後登入以啟動實驗環境。

如何在Linux系統下使用GIMP摳圖

如何在Linux系統下使用GIMP摳圖

在 Linux 系統上使用 GIMP 去除照片背景:描繪主體,刪除選定的背景,保持透明度,並匯出可重複使用的 PNG 檔案。

免費下載 FlightGear:官方安裝指南

免費下載 FlightGear:官方安裝指南

從官方網站免費下載 FlightGear。比較 Windows、macOS 和 Linux 版本的軟體包,安裝資料文件,即可開始您的首次飛行。

Google Tasks桌面應用程式:如何在電腦上使用

Google Tasks桌面應用程式:如何在電腦上使用

在瀏覽器中開啟 Google Tasks,新增 Chrome 捷徑或應用程式啟動,並透過行事曆和 Gmail 管理有日期的待辦事項。

OKSampler:一款免費、簡單的鍵盤節拍音樂採樣器

OKSampler:一款免費、簡單的鍵盤節拍音樂採樣器

OKSampler 可以將 MP3 片段對應到鍵盤按鍵,並支援音訊循環播放。了解這款經典免費軟體的功能、其舊功能的缺失以及下載前需要檢查的事項。

如何在 Linux 系統上安裝 Wireshark:Ubuntu、Fedora、Arch 等

如何在 Linux 系統上安裝 Wireshark:Ubuntu、Fedora、Arch 等

使用目前軟體包命令在 Ubuntu、Debian、Fedora、Arch 或 openSUSE 上安裝 Wireshark,然後安全地配置即時資料包擷取。