apt如何列出所有已經安裝的軟件包
轉 https://www.helplib.com/ubuntu/article_155294
問題:
我想將所有已安裝軟件包的列表輸出到文本文件中,以便我可以查看它並在另一個系統上批量安裝。 我該怎么做?
回答 1:
Ubuntu 14.04及更高版本上的apt工具使這很容易。
apt list --installed
舊版本
要獲取在本地安裝的軟件包列表,請在你的終端中執行這里操作:
dpkg --get-selections | grep -v deinstall
( -v
標記"反轉"grep返回不匹配行)
要獲取安裝的特定軟件包的列表:
dpkg --get-selections | grep postgres
要將該列表保存到你的桌面上名為 packages
的文本文件,請在你的終端中執行這里操作:
dpkg --get-selections | grep -v deinstall> ~/Desktop/packages
或者,只需使用
dpkg -l
( 你不需要將這些命令作為超級用戶運行,所以不需要 sudo
或者它的他任何它的他變量)
回答 2:
要獲得明確安裝的軟件包(不僅僅是作為依賴項安裝),您可以運行
aptitude search '~i!~M'
這將包括一個簡短的描述,你可能希望。 如果沒有,還要添加選項-F '%p ',如karthick87所述。
然而,另一個選項似乎是復制文件 /var/lib/apt/extended_states
,它是以這種格式的文本文件數據庫:
Package: grub-common Architecture: amd64 Auto-Installed: 0 Package: linux-headers-2.6.35-22-generic Architecture: amd64 Auto-Installed: 1
Auto-Installed: 0
指示軟件包已經明確安裝,並且不只是一個依賴項。
回答 3:
創建當前安裝的軟件包的備份:
dpkg --get-selections> list.txt
然后從該列表中還原( 在另一個系統上):
dpkg --clear-selections sudo dpkg --set-selections <list.txt
要刪除過時的軟件包:
sudo apt-get autoremove
要在備份時安裝( 例如。 要安裝由 dpkg --set-selections
設置的軟件包):
sudo apt-get dselect-upgrade
回答 4:
要通過apt命令列出有意安裝的所有軟件包(而不是依賴項),請運行以下命令:
(zcat $(ls -tr/var/log/apt/history.log*.gz); cat/var/log/apt/history.log) 2>/dev/null | egrep '^(Start-Date:|Commandline:)' | grep -v aptdaemon | egrep '^Commandline:'
這提供了基於時間的反向視圖,其中列出了較早的命令:
Commandline: apt-get install k3b Commandline: apt-get install jhead ...
安裝數據也顯示一樣使用,但沒有詳細信息(與安裝日期相同):
(zcat $(ls -tr/var/log/apt/history.log*.gz); cat/var/log/apt/history.log) 2>/dev/null | egrep '^(Start-Date:|Commandline:)' | grep -v aptdaemon | egrep -B1 '^Commandline:'
提供以下內容:
Start-Date: 2012-09-23 14:02:14 Commandline: apt-get install gparted Start-Date: 2012-09-23 15:02:51 Commandline: apt-get install sysstat ...
回答 5:
apt-mark showmanual
手冊狀態:
將打印手動安裝的軟件包列表
因此,它應該只提供顯式安裝的軟件包列表(盡管這包括作為默認初始安裝的一部分的軟件包),但由於安裝了這些軟件包,因此不包含所有依賴項。
要將結果輸出到文本文件中:
apt-mark showmanual> list-installed.txt
回答 6:
dpkg-query
( 代替 dpkg --get-selections
,它列出了一些未安裝的包) 如下:
dpkg-query -W -f='${PackageSpec} ${Status}n' | grep installed | sort -u | cut -f1 -d> installed-pkgs
或者:
dpkg -l | grep ^ii | sed 's_ _t_g' | cut -f 2> installed-pkgs
回答 7:
列出所有已經安裝的軟件包,
dpkg -l |awk '/^[hi]i/{print $2}'> 1.txt
或者
aptitude search -F '%p' '~i'> 1.txt
或者
dpkg --get-selections> 1.txt
備注:
你將在主文件夾中獲得 1. txt 文件,或者你可以指定自己的路徑。
回答 8:
你可以使用Synaptic保存已經安裝軟件包的當前狀態。 在Synaptic中,選擇“file / save markings ”,輸入要保存狀態的文件的名稱,並確保檢查“保存完整狀態,而不僅僅是更改”框。
可以使用Synaptic中的“file / read markings ”將從此保存的文件加載到新計算機中。
回答 9:
我建議使用blueprint 雖然它是為服務器設計的,但也可以從桌面中使用。 它將創建一個 shell script/chef/puppet,你可以使用它來安裝所有軟件包。
回答 10:
您想在12.04重新安裝軟件包,對吧?
如果是這樣就很容易。 你需要一個“Ubuntu Single Sign On帳戶。”(在重新安裝之前創建它以便系統同步。)
-
轉到軟件中心,在“文件”菜單下查找“計算機之間的同步... ”選項。
-
點擊它,你會看到你的電腦注冊和你電腦上所有應用的列表。
-
安裝新計算機時,計算機將被視為新計算機。
-
你只需要登錄你的Ubuntu帳戶,你以前的電腦就會顯示出來。
-
點擊它,你會得到所有應用的列表。 在要安裝的應用程序上選擇"安裝"。
-
常用軟件開發學習資料目錄:
1.經典編程電子書收藏
2.C&C++編程學習資料收藏
3.算法及數據結構(有關c,c++,java)
4.Java開發學習資料收藏
5.Android開發學習資料收藏
6.Python開發學習資料收藏
7.大數據,機器學習,人工智能資料收藏
8.Docker資料收藏