web-dev-qa-db-ja.com

どのパッケージがFedora(Linux)にインストールされたかをどのように追跡しますか?

(この質問は 6338 に非常に似ています。FedoraとUbuntu/Debianは異なるため、異なる回答が必要なため、この質問から分割することをお勧めします。)

Fedoraセットアップを使用するとき、ベースラインインストールに加えていくつかのパッケージを徐々にインストールします。再インストールする場合、または新しいマシンをインストールする必要がある場合は、通常、それらの固有のパッケージを再インストールしたいので、すばやく実行したいと思います。最小限の手間で仕事に戻ります。私が見た限りでは、すべてのパッケージマネージャー(yumpirut)は、インストールされているパッケージを教えてくれます。また、すべてのパッケージにログがあります(ツールごとにログは異なりますが、面倒)。しかし、依存関係やシステムの更新とは対照的に、どのパッケージをインストールしたかを教えてくれるものはありません。ログでさえ、ログから何を抽出する必要があるのか​​、またはログを統合する方法(さまざまなaptファミリーツールの場合)が完全にはわからないという点で注意が必要です。つまり、再インストールするたびに、または単にバックアップするたびに、そのリストを再作成する方法がわかりません。

私は必ずしもツールのいずれかが私のためにこれを行うことを期待しているわけではありませんが、そうでない場合は回避策を探しています。 grepするパターン、適切な経験則、または正確に何がログに記録されているかについての明確なアイデアでさえ、役に立ちます。ここに「ベストアンサー」はないかもしれませんが、良いものは非常に役に立ちます。

11
quark

yum list installedおよびyum.log何がインストールされているかが表示されますが、システム上で、インストールすることを選択したパッケージと依存関係としてインストールされたパッケージを区別するものはないと思います。

3
theotherreceive

元のインストールからの/root/install.logfileがまだあると仮定すると、ファイル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ビットパッケージの違いはわかりません。

2
user14749

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
2
Francisco

ファイル/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ステートメントでより洗練されたパターンが必要になります。

0
dkaylor

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
0
Dejan

これは簡単なものです。

お気に入りのシェルで以下のコマンドを実行するだけです。これについてさらに深く掘り下げる必要がある場合、RPMのマンページは痛々しいほど説明になります。

rpm -qa

0
Axxmasterr

常に「yum」を使用して、実行できるすべてのものをインストールすると仮定します。

Sudo yum history info \* | grep "^Command Line   : install"

インストール後にシステムで実行されたすべての「yuminstall」コマンドが表示されます。

0
Quintesse