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를 얻을 수도 있습니다.

관련 정보