yum --versionを使用せずにインストールされたyumバージョンを見つける方法は?

yum --versionを使用せずにインストールされたyumバージョンを見つける方法は?

私はRed Hat Enterprise Linuxサーバーを開発していますが、誰かが誤ってPythonバージョンをクリーンアップしてyumクラッシュしたようです。同僚は、この問題を解決するには、特定のバージョンのyumで使用されているPython .rpmを手動でインストールする必要があると収集しました。しかし、うまくyum --versionいかないので、そのサーバーにどのバージョンのyumがインストールされているのかわかりません。そのサーバーからサイドロードされているようにrpm -q yum動作しません。yum

パッケージマネージャコマンドを使用する以外にインストールされているバージョンを見つける他の方法はありますか?

答え1

あなたが言ったことを考えるときに私が考えることができる唯一の方法は、メインYum Pythonモジュールを見ることです。 Pythonモジュールはで見つけることができます/usr/lib/python*。各ディレクトリでsite-packages/yum/__init__.py次の行を見つけます。

__version__ = "3.2.27"

ただし、これによりPythonモジュールディレクトリのバージョンが管理されるため、技術的にどのPythonバージョンが必要かを確認できます。

答え2

実際のバージョンを見つけるには、完全なNVRが必要です。 3.xxはあなたが持っているものを知るのに十分ではありません。しかし、ランダムなエントリを削除していないと仮定すると、yum履歴データベースはまだ存在します。したがって、以下を実行できます。

# sqlite3 /var/lib/yum/history/history-*.sqlite \
  "SELECT * FROM vtrans_data_pkgs WHERE name = 'yum';"

...またはgithubからyumをダウンロードして「./yummain.py History」を実行して素晴らしいUIを取得することもできます。

関連情報