여러 목적으로 사용하는 데비안 서버에 문제가 있습니다. 어제 평소처럼 패키지를 업그레이드하려고 했으나 apt-get update / upgrade
모든 것이 손상된 것을 발견했습니다.
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
owncloud owncloud-config-apache owncloud-server
The following packages will be upgraded:
python-apt
1 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
2 not fully installed or removed.
Need to get 0 B/171 kB of archives.
After this operation, 47.1 kB disk space will be freed.
Do you want to continue? [Y/n]
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = "UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US.UTF-8").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
(Reading database ... 83301 files and directories currently installed.)
Preparing to unpack .../python-apt_0.9.3.12_amd64.deb ...
/var/lib/dpkg/info/python-apt.prerm: /usr/bin/pyclean: /usr/bin/python: bad interpreter: No such file or directory
dpkg: warning: subprocess old pre-removal script returned error exit status 126
dpkg: trying script from the new package instead ...
/var/lib/dpkg/tmp.ci/prerm: /usr/bin/pyclean: /usr/bin/python: bad interpreter: No such file or directory
dpkg: error processing archive /var/cache/apt/archives/python-apt_0.9.3.12_amd64.deb (--unpack):
subprocess new pre-removal script returned error exit status 126
/var/lib/dpkg/info/python-apt.postinst: /usr/bin/pycompile: /usr/bin/python: bad interpreter: No such file or directory
dpkg: error while cleaning up:
subprocess installed post-installation script returned error exit status 126
Errors were encountered while processing:
/var/cache/apt/archives/python-apt_0.9.3.12_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
그 이후로 저는 여기와 다른 커뮤니티 도움말 사이트에서 유사한 문제에 대한 제안과 제안된 솔루션을 포함하여 다양한 솔루션을 적용해 보았지만 dpkg --audit
소용이 없었습니다.
Perl에서 언급된 로케일 문제를 해결한 후에도 SSH 세션을 종료하고 새 세션을 열면 다시 나타나는 것 같습니다.
이 문제를 해결하는 방법에 대한 아이디어가 있습니까? (처음부터 다시 설치하는 것 외에는 가능하면 피하고 싶습니다.)
감사해요.
편집(업데이트): @Gilles의 요청에 따라 결과는 다음과 같습니다.ls -l /usr/bin/python; ls -lL /usr/bin/python; dpkg -S /usr/bin/python
ls: cannot access /usr/bin/python: No such file or directory
ls: cannot access /usr/bin/python: No such file or directory
python-minimal: /usr/bin/python
Python 설정을 수동으로 변경한 기억이 없습니다.
답변1
/var/lib/dpkg/info/python-apt.postinst: /usr/bin/pycompile: /usr/bin/python: bad interpreter: No such file or directory
이 오류는 /usr/bin/python
어떤 방식으로든 손상되었음을 나타냅니다. 대부분의 Python 스크립트는 실행되지 않습니다.
python-apt
패키지가 설치되면 Python 스크립트가 실행됩니다. 이 작업이 실패하여 패키지 설치를 완료할 수 없습니다. APT는 패키지가 실패하더라도 다른 패키지를 계속 처리할 수 있지만 apt-get -f install
여러 번 실행해야 할 수 있으며 종속성을 재조정하는 업그레이드를 방해할 수 있습니다. 그럼에도 불구하고, 깨진 Python은 많은 소프트웨어를 깨뜨릴 것입니다.
$ ls -l /usr/bin/python ls: cannot access /usr/bin/python: No such file or directory $ dpkg -S /usr/bin/python python-minimal: /usr/bin/python
/usr/bin/python
전혀 존재하지 않습니다. 하지만 패키징 시스템은 이미 설치되어 있다고 생각합니다.
다음을 포함하는 패키지를 다시 설치하십시오 /usr/bin/python
.
sudo apt-get --reinstall install python-minimal
sudo apt-get -f install
누락이 /usr/bin/python
유일한 문제인 경우 시스템을 수리해야 합니다. 그러나 /usr/bin/python
실종의 원인이 무엇이든 다른 문제를 일으킬 수 있습니다.
/usr/bin/python
실종의 원인이 무엇인지 알아내십시오 . 패키지를 사용 dpkg
하고 관리하는 경우에는 apt
일반적으로 이런 일이 발생하지 않습니다 . 패키지 관리자를 사용하지 않고 소프트웨어를 설치하는 경우 해당 /opt
소프트웨어 /usr/local
가 /usr
.