(この質問は 6338 に非常に似ています。FedoraとUbuntu/Debianは異なるため、異なる回答が必要なため、この質問から分割することをお勧めします。)
Fedoraセットアップを使用するとき、ベースラインインストールに加えていくつかのパッケージを徐々にインストールします。再インストールする場合、または新しいマシンをインストールする必要がある場合は、通常、それらの固有のパッケージを再インストールしたいので、すばやく実行したいと思います。最小限の手間で仕事に戻ります。私が見た限りでは、すべてのパッケージマネージャー(yum
とpirut
)は、インストールされているパッケージを教えてくれます。また、すべてのパッケージにログがあります(ツールごとにログは異なりますが、面倒)。しかし、依存関係やシステムの更新とは対照的に、どのパッケージをインストールしたかを教えてくれるものはありません。ログでさえ、ログから何を抽出する必要があるのか、またはログを統合する方法(さまざまなaptファミリーツールの場合)が完全にはわからないという点で注意が必要です。つまり、再インストールするたびに、または単にバックアップするたびに、そのリストを再作成する方法がわかりません。
私は必ずしもツールのいずれかが私のためにこれを行うことを期待しているわけではありませんが、そうでない場合は回避策を探しています。 grepするパターン、適切な経験則、または正確に何がログに記録されているかについての明確なアイデアでさえ、役に立ちます。ここに「ベストアンサー」はないかもしれませんが、良いものは非常に役に立ちます。
yum list installed
およびyum.log
何がインストールされているかが表示されますが、システム上で、インストールすることを選択したパッケージと依存関係としてインストールされたパッケージを区別するものはないと思います。
元のインストールからの/root/install.log
fileがまだあると仮定すると、ファイルrpm.origおよびrpm.currを作成できます。
cd /root
rpm -qa --qf '%{NAME}\n' | sort -u > rpm.curr
awk '($1=="Installing"){print $2}' install.log | sort -u > rpm.orig
次に、追加されたパッケージを確認します。
comm -13 rpm.orig rpm.curr
そして削除されたもの:
comm -23 rpm.orig rpm.curr
x86_64がインストールされている場合、32ビットパッケージと64ビットパッケージの違いはわかりません。
Sudo yum history packages-list \*
を使用してみてください
明示的にインストールされたものと、依存関係としてインストールされたものが表示されます。
ID | Action(s) | Package
-------------------------------------------------------------------------------
47 | Dep-Install | cairomm-1.8.0-2.1.el6.x86_64
47 | Dep-Install | glibmm24-2.22.1-1.el6.x86_64
47 | Install | gnome-system-monitor-2.28.0-11.el6.x86_64
ファイル/root/install.logは、初期インストールに含まれていたパッケージを示します。このファイルの内容をrpm -qa
の出力と比較する簡単なスクリプトを次に示します。
rpm -qa | sort > /root/postinstall.list
for P in `sed -n 's/Installing \(.*\)/\1/p' </root/install.log`
do
sed -ie "/$P/d" /root/postinstall.list
done
ファイル/root/postinstall.listには、必要なものが含まれています。最初にインストールされたパッケージのアップグレードバージョンであるパッケージがファイルに表示されることに注意してください。これが希望どおりでない場合は、sedステートメントでより洗練されたパターンが必要になります。
rpm -qa --last
マニュアルページから:
--last Orders the package listing by install time such that the latest packages are at the top.
サンプル出力:
mdadm-3.2.2-9.el6 Mon 12 Dec 2011 10:06:17 AM EST
libdrm-2.4.25-2.el6 Mon 12 Dec 2011 09:54:51 AM EST
tcp_wrappers-libs-7.6-57.el6 Mon 12 Dec 2011 09:54:50 AM EST
これは簡単なものです。
お気に入りのシェルで以下のコマンドを実行するだけです。これについてさらに深く掘り下げる必要がある場合、RPMのマンページは痛々しいほど説明になります。
rpm -qa
常に「yum」を使用して、実行できるすべてのものをインストールすると仮定します。
Sudo yum history info \* | grep "^Command Line : install"
インストール後にシステムで実行されたすべての「yuminstall」コマンドが表示されます。