インストールされているすべてのパッケージのリストをテキストファイルに出力して、それを確認して別のシステムに一括インストールできるように どうすればいいですか?
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アカウント」が必要になります。"(システムが同期されるように再インストールする前に作成します。)
ソフトウェアセンターに移動し、"コンピュータ間の同期"を探します。.."ファイルメニューの下のオプション。
あなたがそれをクリックすると、あなたのコンピュータが登録されており、コンピュータ上のすべてのアプリのリストが表示されます。
新しいコンピュータをインストールすると、そのコンピュータは新しいコンピュータと見なされます。
Ubuntuアカウントにサインインするだけで、以前のコンピュータが表示されます。
それをクリックすると、すべてのアプリのリストが表示されます。 インストールしたいアプリの"インストール"を選択します。