apt python 오류로 인해 apt-get 설치 관련 종속성 문제를 해결할 수 없습니다.

apt python 오류로 인해 apt-get 설치 관련 종속성 문제를 해결할 수 없습니다.

Debian 6 서버에서는 종속성 문제로 인해 nis(또는 모든 패키지)를 설치할 수 없습니다. 문제를 해결하려고 하면 Python 오류가 발생합니다. 이 문제를 해결하고 패키지 설치 기능을 다시 얻으려면 어떻게 해야 합니까?

구글링을 해보니 같은 오류 메시지를 보고하는 사람이 여러 명 있었지만 해결 방법이 없었습니다. SE도 확인했지만 소용이 없었습니다. 이는 우리 회사의 수십 대의 서버에 영향을 미쳤습니다.

root 7 # apt-get install nis
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 libglib2.0-dev : Depends: libglib2.0-0 (= 2.24.2-1) but 2.40.0-2 is to be installed
 nis : Depends: libdbus-glib-1-2 (>= 0.78) but it is not going to be installed
       Depends: libslp1 but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

그래서 나는 제안된 대로 이 문제를 해결하려고 노력했습니다.

root 8 # apt-get -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
  xfonts-encodings ttf-dejavu-core xfonts-utils libxfont1 libpango1.0-common libdb5.1 libxcb-render-util0
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  libglib2.0-dev
Suggested packages:
  libglib2.0-doc
The following packages will be upgraded:
  libglib2.0-dev
1 upgraded, 0 newly installed, 0 to remove and 559 not upgraded.
42 not fully installed or removed.
Need to get 0 B/2642 kB of archives.
After this operation, 3982 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
dpkg: error processing /var/cache/apt/archives/libglib2.0-dev_2.40.0-2_amd64.deb (--unpack):
 parse error, in file '/var/lib/dpkg/tmp.ci/control' near line 7 package 'libglib2.0-dev':
 `Depends' field, invalid package name `python:any': character `:' not allowed (only letters, digits and characters `-+._')
configured to not write apport reports
                                      Errors were encountered while processing:
 /var/cache/apt/archives/libglib2.0-dev_2.40.0-2_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

root 9 # 

나도 시도했다

apt-get autoremove

하지만 그게 내가 하라는 말일 뿐이야

apt-get -f install

다시.

문제의 파일을 보려고 했지만 다음과 같은 결과를 얻었습니다.

root 11 # cat /var/lib/dpkg/tmp.ci/control
/var/lib/dpkg/tmp.ci/control: No such file or directory

요청대로:

root 14 # apt-cache policy nis libglib2.0-dev libglib2.0-0 libdbus-glib-1-2 libslp1 
libglib2.0-0:
  Installed: 2.40.0-2
  Candidate: 2.40.0-2
  Version table:
 *** 2.40.0-2 0
        500 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
        100 /var/lib/dpkg/status
libdbus-glib-1-2:
  Installed: (none)
  Candidate: 0.102-1
  Version table:
     0.102-1 0
        500 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
libglib2.0-dev:
  Installed: 2.24.2-1
  Candidate: 2.40.0-2
  Version table:
     2.40.0-2 0
        500 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
 *** 2.24.2-1 0
        100 /var/lib/dpkg/status
nis:
  Installed: (none)
  Candidate: 3.17-33
  Version table:
     3.17-33 0
        500 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
libslp1:
  Installed: (none)
  Candidate: 1.2.1-9
  Version table:
     1.2.1-9 0
        500 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages

요청대로:

apt-cache policy
Package files:
 100 /var/lib/dpkg/status
     release a=now
 500 http://security.debian.org/ stable/updates/main Translation-en
 500 http://security.debian.org/ stable/updates/main amd64 Packages
     release v=7.0,o=Debian,a=stable,n=wheezy,l=Debian-Security,c=main
     origin security.debian.org
 500 http://ftp.us.debian.org/debian/ unstable/main Translation-en
 500 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
     release o=Debian,a=unstable,n=sid,l=Debian,c=main
     origin ftp.us.debian.org
Pinned packages:

답변1

이것은 흥미로운 일입니다. 포스터는 SSH를 통해 원격으로 접근할 수 있는 기계를 수리하려고 합니다. 이 시스템은 libc6을 포함하여 부분적으로 불안정한 상태로 업그레이드되었습니다. 그러나 부품은 여전히 ​​안정적인 형태인 반면 apt는 압착된 버전입니다. 포스터는 기계가 완전히 안정적이기를 원합니다.

나는 포스터를 이끌고 그의 기계를 수리했습니다. 채팅 세션이 다음으로 시작됩니다.http://chat.stackexchange.com/transcript/message/15047213#15047213

요약:

  1. resources.list에는 불안정한 소스만 포함되어 있습니다. 안정이 추가되었습니다. 또한 /etc/apt/preferences테스트 및 불안정한 우선순위를 50으로 설정하는 섹션을 추가했습니다.
  2. Apt가 안정적인 버전으로 업그레이드되었습니다.
  3. 어떤 패키지가 불안정한 패키지인지에 대한 정보를 얻으려면 설치 apt-show-versions하고 실행하십시오 .apt-show-versions | grep unstable
  4. 제외하고 제거되었습니다 libc6.
  5. 불안정한 원인을 주석으로 처리하세요. 참고:
    실행하기 전에 불안정한 소스를 제거하면 불안정한 패키지에서 가져온 패키지를 구별할 수 없게 apt-show-versions됩니다 .apt-show-versions
  6. 불안정에서 libc6안정으로 하향 조정되었습니다.
  7. 그런 다음 apt-get upgrade밀접하게 따라갔습니다 apt-get dist-upgrade.
  8. 2.6 커널 패키지가 제거되었습니다.

최종 생각: 를 사용하는 것보다 어떤 패키지가 불안정한 패키지인지 알아내는 더 좋은 방법이 있을 수 있지만 apt-show-versions현재로서는 알 수 없습니다. 그렇다면 댓글을 남겨주세요.

관련 정보