私は愚かに「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.txt
。clone2.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
従わなければならない。python
yum
削除した可能性があります。。その場合は、その項目とその従属項目を手動で再ダウンロードする必要があります。まず、システムに必要な依存関係があることを確認してください(このリストは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
。
通常、パッケージを削除してもすべての設定ファイルは削除されません。私は知りませんyum
。yum
再インストール後も履歴データベースがそのまま残ることを願っています。