나는 어리석게도 "yum Remove Python"을 수행하여 Python이 필요한 모든 패키지를 제거했습니다.
다행스럽게도 저는 이 제품의 거의 복제품인 또 다른 Linux 제품에 액세스할 수 있으며 이 제품에는 여전히 이러한 패키지가 모두 설치되어 있습니다. 문제는 그것이 다른 사람의 것이고 내가 할 수 있는 최선은 주변을 둘러보는 것뿐이라는 것이다. 또한 내 컴퓨터에 구체적으로 무엇을 다시 설치해야 할지 모르겠습니다. 이 목록(파이썬을 제거할 때)은 엄청납니다.
현재 설치된 패키지 중 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
재설치 후에도 기록 데이터베이스가 그대로 유지되기를 바랍니다 .