質問: ubuntu(linux)にインストールされたパッケージをどのように追跡しますか? (この質問は 10458 とよく似ています。fedoraとubuntu/debianは異なる回答を保証するのに十分異なることが示唆されました。)ubuntuセットアップを使用するときは、ベースラインインストールに加えて、徐々に多くのパッケージをインストールします。再インストールする場合、または新しいマシンをインストールする必要がある場合は、通常、それらの固有パッケージを再インストールしたいと思っています。最小限の手間で作業に戻ります。すべてのパッケージマネージャー(apt-get、aptitudeおよびsynaptic)は、どのパッケージがインストールされているかを教えてくれ、すべてのログを持っています(ただし、ツールごとにログが異なるため、面倒です)。しかし、それらのいずれも、依存関係やシステムの更新とは対照的に、どのパッケージをインストールしたかを教えてくれません。ログでさえも、何を抽出する必要があるのか、またはそれらを統合する方法(さまざまなaptファミリーツールの場合)が完全にわからないという点で、トリッキーです。つまり、再インストールするたび、または単にバックアップするたびに、そのリストを再作成する方法がわかりません。私は必ずしもこれを行うためのツールを期待しているわけではありませんが、そうでない場合は回避策を探しています。 grepの対象となるパターン、優れた経験則、または正確に何がログに記録されているかについての明確なアイデアでさえ、役に立つでしょう。ここには「ベストアンサー」はないかもしれませんが、良い答えは非常に役立ちます。以下の回答のほとんどは、私が探しているもののいくつかの近似を提供し、ある程度役に立ちます。選択されたのは、すべての注意点があっても、新しいシステムにツールを再インストールする合理的に自動化された方法に最も近い方法です。
回答: dpkgを使用しただけでは、パッケージがユーザーによって手動でインストールされたのか、(依存関係として、または最初のosインストール中に)自動でインストールされたのかがわかりません。その情報を保持したい場合は、実際に手動でインストールされたパッケージのみのリストを取得する必要があります。そのためには、これら2つのワンライナーのいずれかを使用できます。どちらも私のマシンでまったく同じ出力を生成し、この質問でこれまでに提案されたすべてのソリューションよりも正確です。これらは、2つの回答 (1) および (2) の組み合わせです。最初にこの回答 here を投稿したことに注意してください。apt-mark:の使用comm -23 <(apt-mark showmanual | sort -u) <(gzip -dc /var/log/installer/initial-status.gz | sed -n 's/^package: //p' | sort -u) aptitude:の使用comm -23 <(aptitude search '~i !~m' -f '%p' | sed "s/ *$//" | sort -u) <(gzip -dc /var/log/installer/initial-status.gz | sed -n 's/^package: //p' | sort -u) これらのareは、言語ローカリゼーションのセットアップによるインストールの直後、または、 totemコーデックインストーラーを介して。また、バージョン固有でないメタパッケージのみをインストールしたにもかかわらず、linux-headerのバージョンも蓄積されているようです。例:libreoffice-help-en-gb openoffice.org-hyphenation gstreamer0.10-fluendo-mp3 linux-headers-3.13.0-29 どのように機能しますか 手動でインストールされたパッケージのリストを取得します。 aptitudeの場合、追加のsedは、行末の残りの空白を取り除きます。 新規インストールの直後にインストールされるパッケージのリストを取得します。 ファイルを比較し、ファイル2に存在しないファイル1の行のみを出力します。 他の可能性も機能しません: ubuntu-14.04-desktop-amd64.manifestの代わりに/var/log/installer/initial-status.gzファイル( ここでは ubuntu 14.04の場合)を使用します。それ以外のパッケージが手動でインストールされたものとして表示されます。 apt-mark showautoの代わりに/var/log/installer/initial-status.gzを使用します。たとえば、apt-markにはxserver-xorgパッケージは含まれていませんが、他のファイルには含まれています。 どちらも上記のソリューションよりも多くのパッケージをリストしています。