실수로 삭제 된 Python 및 yum이 centos7에서 작동하지 않음 [닫힘]


12

나는 리눅스를 처음 사용하고 처음부터 파이썬을 설치할 수 있도록 파이썬을 삭제하려고했습니다. / usr / local / bin /에서 파이썬 파일 만 삭제하는 대신 다음을 삭제했습니다.

/usr/bin/python
/usr/bin/python2.7
/usr/lib/python2.7
/usr/lib64/python2.7
/etc/python
/usr/include/python2.7
/usr/share/man/man1/python.1.gz
/usr/src/Python-3.7.3/python

이제 yum을 사용하려고 할 때마다 다음을 얻습니다.

-bash : / usr / bin / yum : / usr / bin / python : 잘못된 인터프리터 : 해당 파일이나 디렉토리가 없음

이 문제를 해결하거나 centos7을 다시 설치하는 유일한 방법이 있습니까?

후자의 경우 물리적 서버에 액세스 할 수없는 원격 서버에서 어떻게 할 수 있습니까?


12
"저는 리눅스를 처음 접했고 처음부터 다시 설치할 수 있도록 파이썬을 삭제하려고했습니다." -처음부터 파이썬을 설치하는 것은 어쨌든 잘못된 방법입니다. 배포판 2.7을 제거하는 것은 확실히 잘못된 방법입니다. 패키지 관리자 대신 작업 하는 것을 고려하십시오 .
— marcelm

4
이것은 CentOS가 아니라 데비안을위한 것이지만, 조언은 다른 배포판에도 적용됩니다 : 데비안을 깨뜨리지 마십시오 .
— Jonathon Reinhart

3
제거 어떤 (당신이 최소한의 설치 않은 경우 특히) 새로 설치에서 오는 패키지 것은 배포판을 깨는의 위험을 제공합니다. 대부분의 리눅스 배포판은 그다지 부풀어 오르지 않습니다 ... 사탕 크러시가 미리 설치된 Windows10과 같지 않습니다.
— Giacomo Alzetta

4
Python 2는 대부분의 Linux 버전에서 시스템이 모든 종류의 작업을 자동화하는 스크립팅 언어로 사용됩니다. 파이썬을 삭제하면 앉아 있던 지점을 봤습니다. 리눅스를 완전히 다시 설치하는 것이 가장 안전 할 것입니다. 리눅스에서 사용자가 파이썬을 설치하는 경우, 일반적으로 리눅스에서 파이썬 가상 환경을 사용하는 것이 좋습니다. 이렇게하면 사용자 파이썬이 시스템 파이썬과 완전히 분리됩니다. 여러 개의 개별 Python 버전을 설치할 수 있으며 sudo가 아닌 사용자 수준 만 유지 관리 / 확장 할 수 있다는 이점이 있습니다.
— Neil_UK

답변:


21

rpm시스템에 파이썬을 설치 하지 않고도 패키지를 다운로드하여 다시 설치할 수 있습니다 yum.

설치 한 버전 찾기

rpm -qf /usr/bin/python

그런 다음 다운로드 URL을 찾아 한 번에 또는 별도의 단계로 다운로드하여 설치하십시오.

rpm --reinstall -v http://mirror.centos.org/centos-7/7/updates/x86_64/Packages/python-2.7.5-80.el7_6.x86_64.rpm

답변 주셔서 감사합니다. 같은 버전의 VM에 Centos를 설치했습니다. 그리고 삭제 된 모든 파일을 내 서버로 복사했습니다. Yum은 지금까지 작동하고 있지만 손상이 완전히 수정되었는지 확실하지 않습니다.
— jdhash

@jdhash Yum은 지금까지 작동하고 있지만 손상이 완전히 수정되었는지 확실하지 않습니다. 이것이 OS / 분배의 일부로 설치된 소프트웨어를 엉망으로 만들지 않는 이유 중 하나 입니다.
— Andrew Henle

1
원래 시스템을 다시 설치하는 것이 이것을 완전히 정리할 수있는 유일한 방법이라고 말할 수 있습니다. 다른 시스템에서 파일을 복사하는 것과 같은 반창고는 패키징 시스템이 누락 된 것으로 생각하기 때문에 계속 떨어질 것입니다. 메타 데이터는 여전히 설치된 것과 일치하지 않습니다.
— 병아리
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.