如何列出Debian已安裝軟件包 dpkg -l命令使用詳解

dpkg -l 是 debian 系統中用于列出已安裝軟件包的命令。1. 直接運行 dpkg -l 可查看所有已安裝包,其中 “ii” 表示正常安裝;2. 使用 dpkg -l 包名 或通配符可查找特定包;3. 通過重定向可將列表保存至文件;4. 結合 less、grep 可優化輸出查看效果。

如何列出Debian已安裝軟件包 dpkg -l命令使用詳解

在Debian系統中,查看已安裝的軟件包是日常維護和排查問題時經常需要做的事情。最直接的方法就是使用dpkg -l命令。

如何列出Debian已安裝軟件包 dpkg -l命令使用詳解

什么是 dpkg -l

dpkg是Debian系linux下的一個基礎包管理工具,可以用來安裝、卸載、查詢.deb格式的軟件包。而dpkg -l的作用是列出當前系統上所有已安裝的軟件包信息。

如何列出Debian已安裝軟件包 dpkg -l命令使用詳解

運行這個命令后,默認會輸出類似如下的內容:

Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad) ||=================== Name =================== Version ================= Description ii  bash                        5.2-2           GNU Bourne Again SHell ii  coreutils                   9.1-1           GNU core utilities ...

每一列都有特定含義:

如何列出Debian已安裝軟件包 dpkg -l命令使用詳解

  • 第一列(Desired)表示期望狀態,通常我們不太關注。
  • 第二列(Status)顯示的是當前安裝狀態,其中ii表示正常安裝。
  • 接下來的兩列分別是軟件包名稱、版本號和簡要描述。

如果你只想看到已安裝的包列表,可以加上管道過濾:

dpkg -l | grep '^ii'

這樣就能只顯示已經正常安裝的軟件包了。

如何查找特定軟件包是否已安裝

如果你知道軟件包的名字,想確認它是否已經安裝,不需要翻看長長的列表。可以直接用dpkg -l 包名來快速查找。

例如:

dpkg -l nginx

如果系統中安裝了nginx,就會顯示出對應的信息;如果沒有安裝,則只會顯示表頭,沒有數據行。

你也可以使用通配符進行模糊匹配,比如:

dpkg -l '*lib*'

這會列出所有名字中包含“lib”的已安裝包。

怎么把已安裝列表保存下來

有時候我們需要將當前系統的軟件包列表導出備份或用于遷移。可以通過重定向的方式把結果保存到文件里:

dpkg -l > installed_packages.txt

或者只保存實際安裝的包:

dpkg -l | grep '^ii' > installed_packages.txt

這個文件可以用作參考,或者在恢復系統時作為安裝依據。配合apt命令可以批量重新安裝這些包:

cat installed_packages.txt | awk '{print $2}' | xargs sudo apt install -y

不過要注意,這種方式適用于相同或兼容的系統環境,否則可能遇到包名變化或依賴問題。

小技巧:結合less分頁查看

系統安裝了很多軟件包時,直接運行dpkg -l會導致信息刷屏太快,根本看不清。這時候可以結合less命令分頁查看:

dpkg -l | less

這樣就可以按上下鍵一行行瀏覽,按q退出。

另外,如果你習慣使用顏色高亮來區分不同狀態,也可以加個別名或使用grep –color來增強可讀性:

dpkg -l | grep -E '^ii|^un' --color=always | less -r

這會把已安裝和未安裝但有配置的條目用顏色區分開來,看起來更清晰。

基本上就這些。
dpkg -l雖然簡單,但在系統管理和調試中非常實用。掌握幾個常用組合,能讓你更快地了解系統狀態。

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享