パッケージ依存関係のリスト

パッケージ依存関係のリスト

私は愚かに「yum Remove Python」を実行し、Pythonが必要なすべてのパッケージを削除しました。

幸いなことに、私はこの製品のほとんどレプリカである別のLinux製品にアクセスできますが、この製品にはまだこれらのパッケージがすべてインストールされています。問題はそれが他人のものであり、私ができる最善は周りを見回すことだけだということだ。また、私のコンピュータに具体的に何を再インストールする必要があるのか​​わかりません。このリスト(Pythonを削除するとき)は膨大です。

現在インストールされているパッケージのうち、Pythonに依存するパッケージは何であるかを知らせるこのペアマシンに入力できるコマンドがあるかどうか疑問に思います。その後、そのリストを使用して各エントリを自分のコンピュータに手動で再インストールできます。したがって、実際には依存関係よりもPythonの依存関係に近いです。

周りを見回して、「repoquery --whatrequires」や「rpm --whatrequires」などのコマンドを見つけましたが、「yum Remove Python」と同じリストを生成しないようです。

どちらのマシンもRHEL 6を実行しています。

答え1

Python を削除する前にレプリカに同じパッケージがインストールされていると仮定すると、必要なパッケージのリストを取得する安定した方法は、rpm -qa各レプリカを比較することです。

# on clone 1:
rpm -qa | sort > clone1.txt

# on clone 2:
rpm -qa | sort > clone2.txt

同じコンピュータに接続してくださいclone1.txtclone2.txtその後実行

comm -13 clone1.txt clone2.txt

クローン2ではrpmを確認し、クローン1では確認しないでください。

答え2

/var/log/rpmpkgsインストールされているすべてのRPMパッケージのリストがある可能性があります。 (RHEL 6では、このリストはrpm-cronパッケージによって生成されます。)パッケージリストがある場合は、/var/log/yum.logどのパッケージが削除されたかを確認できます。

答え3

実際にyumコマンドを元に戻すことができます。 Pythonが削除されたコンピュータで次のことを実行してみてくださいyum history

yum history
Loaded plugins: langpacks, refresh-packagekit
ID     | Command line             | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
   284 | yum remove python        | 2014-07-09 14:47 | Remove         |  1213   
...

行を確認しyum remove pythonて書き留めてくださいID

yum history undo 284

しかしこれにyum従わなければならない。pythonyum削除した可能性があります。。その場合は、その項目とその従属項目を手動で再ダウンロードする必要があります。まず、システムに必要な依存関係があることを確認してください(このリストはFedora 19システムで作成されたため、RHEL 6レプリカを再確認してください)。

[root@localhost ~]# repoquery -R yum
/usr/bin/python
pygpgme
pyliblzma
python >= 2.4
python(abi) = 2.7
python-iniparse
python-sqlite
python-urlgrabber >= 3.9.0-8
pyxattr
rpm >= 4.4.2
rpm-python
yum-metadata-parser >= 1.1.0

不足しているパッケージごとにRHEL 6ソースからパッケージをダウンロードしてくださいrpm

通常、パッケージを削除してもすべての設定ファイルは削除されません。私は知りませんyumyum再インストール後も履歴データベースがそのまま残ることを願っています。

関連情報