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


11

(この質問は6338とよく似ています。FedoraとUbuntu / Debianは異なる回答を保証するのに十分異なるため、この質問から分割することが提案されました。)

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

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

回答:


3

yum list installedそして、yum.logインストールされているものが表示されますが、私はインストールするために、選択したパッケージ間のシステムの差別化には何も考えていないとの依存関係としてインストールされたもの


2

あなたはまだ持っていると仮定/root/install.log元のインストールからファイルを、ファイルの作成ができrpm.origrpm.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

使ってみてください 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

0

これは簡単です。

お気に入りのシェルで次のコマンドを実行するだけです。RPMの詳細については、RPMのマンページをご覧ください。

rpm -qa


3
これはすべてのパッケージをリストしますが、追加したパッケージと既にシステム上にあるパッケージを区別しません。明示的にインストールしたパッケージを具体的に追跡したい。
クォーク

すべてのパッケージが明示的にインストールされました。有意義なヘルプを得るには、何をしたいのかをもっと具体的にする必要があります。
フォンブランド2013年

0

/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

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

できることすべてをインストールするために常に「yum」を使用したと仮定します。

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

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.