インストールされているすべてのパッケージを一覧表示する方法

インストールされているすべてのパッケージのリストをテキストファイルに出力して、それを確認して別のシステムに一括インストールできるように どうすればいいですか?

Ubuntu14.04以上

その apt Ubuntu14.04以降のツールは、これを非常に簡単にします。

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 またはここに必要な他の変形)

明示的にインストールされたパッケージ(依存関係としてインストールされているだけではない)だけを取得するには、次のように実行できます

aptitude search '~i!~M'

これには簡単な説明も含まれますが、これは必要な場合があります。 そうでない場合は、オプションも追加します -F '%p' カーシック87で述べたように、。


さらに別のオプションは、ファイルをコピーすることです /var/lib/apt/extended_states これは、この形式のテキストファイルデータベースです:

Package: grub-commonArchitecture: amd64Auto-Installed: 0Package: linux-headers-2.6.35-22-genericArchitecture: amd64Auto-Installed: 1

Auto-Installed: 0 パッケージが明示的にインストールされ、単なる依存関係ではないことを示します。

すべてのパッケージを一覧表示するには 意図的にインストールされた (依存関係としてではない)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 k3bCommandline: apt-get install jhead...

インストールデータもsynapticの使用状況を示していますが、詳細はありません(インストール日と同じ) :

(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:14Commandline: apt-get install gpartedStart-Date: 2012-09-23  15:02:51Commandline: apt-get install sysstat...

現在インストールされているパッケージのバックアップを作成する:

dpkg --get-selections > list.txt

次に、(別のシステム上で)そのリストからインストールを復元します:

dpkg --clear-selectionssudo dpkg --set-selections < list.txt

古いパッケージを取り除くには:

sudo apt-get autoremove

バックアップ時のようにインストールするには(つまり、によって設定されたパッケー dpkg --set-selections):

sudo apt-get dselect-upgrade
apt-mark showmanual

manページの状態:

手動でインストールされたパッケージのリストを出力します

したがって、明示的にインストールされたパッケージのリストを提供するだけです(ただし、これにはデフォルトの初期インストールの一部であったパッケー

結果をテキストファイルに出力するには:

apt-mark showmanual > list-manually-installed.txt

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

インストール済みのすべてのパッケージを一覧表示するには,

dpkg -l |awk '/^[hi]i/{print $2}' > 1.txt

または

aptitude search -F '%p' '~i' > 1.txt

または

dpkg --get-selections > 1.txt

メモ:
あなたは結果1を得るでしょう。あなたのホームフォルダ内のtxtファイルまたはあなた自身のパスを指定することができます。

Synapticを使用して、インストールされているパッケージの現在の状態を保存できます。 Synapticでは、「file|save markings」を選択し、状態を保存するファイルの名前を入力し、「Save full state,not only changes」ボックスにチェックを入れてください。

これから保存されたファイルは、Synapticの"file/read markings"を使用して新しいマシンにロードすることができます。

私は使用をお勧めします 青写真. それはサーバー用に設計されていますが、それはまた、同様にデスクトップから使用することができます。 すべてのパッケージを再インストールするためにcaが使用するシェルスクリプト/chef/puppetが作成されます。

あなたは右、12.04に今そこにパッケージを再インストールしたいですか?

もしそうなら、それは非常に簡単です。 「Ubuntu Single Sign Onアカウント」が必要になります。"(システムが同期されるように再インストールする前に作成します。)

  1. ソフトウェアセンターに移動し、"コンピュータ間の同期"を探します。.."ファイルメニューの下のオプション。

  2. あなたがそれをクリックすると、あなたのコンピュータが登録されており、コンピュータ上のすべてのアプリのリストが表示されます。

  3. 新しいコンピュータをインストールすると、そのコンピュータは新しいコンピュータと見なされます。

  4. Ubuntuアカウントにサインインするだけで、以前のコンピュータが表示されます。

  5. それをクリックすると、すべてのアプリのリストが表示されます。 インストールしたいアプリの"インストール"を選択します。

Related.

Similar question at unix.stackexchange.com “List packages by installation date”