업데이트 관리자 / apt-get 업그레이드를 통해 업데이트를 설치할 수 없습니다


12

지난 몇 주 동안 Ubuntu 12.04를 실행했습니다. 최근에 Update Manager를 통해 일부 파일을 다운로드하여 설치하려고했습니다. 파일 몇 개를 찾아서 다운로드했지만 설치하지 못했습니다. 오류가 발생했습니다.

installArchives() failed: (Reading database ... 
(Reading database ... 80%
dpkg: unrecoverable fatal error, aborting:
 reading files list for package 'libasn1-8-heimdal': Input/output error

사용하려고 apt-get upgrade했지만 비슷한 오류가 발생했습니다.

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be upgraded:
  icedtea-6-jre-cacao icedtea-6-jre-jamvm openjdk-6-jre openjdk-6-jre-headless
  openjdk-6-jre-lib
5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/34.6 MB of archives.
After this operation, 1,024 B of additional disk space will be used.
Do you want to continue [Y/n]? y
(Reading database ... 80%
dpkg: unrecoverable fatal error, aborting:
 reading files list for package 'libasn1-8-heimdal': Input/output error
E: Sub-process /usr/bin/dpkg returned an error code (2)

도움을 주시면 감사하겠습니다. 미리 감사드립니다.

편집 : 다음은 유용한 추가 정보입니다. 내 원래 문제는 우분투 소프트웨어 센터가 열리지 않았다는 것입니다. Update Manager 및 Synaptic Package Manager도 열지 못했습니다. 그들은 모두 다음과 같이 오류를 일으켰습니다.

"installArchives() failed: dpkg: error: reading package info file '/var/lib/dpkg/available': Input/output errorError in function:"

많은 인터넷 검색 후 패키지 관리자가 다시 열릴 때이 문제를 해결하는 것처럼 보였습니다. 그런 다음 Update Manager에서 업데이트를 다운로드하여 설치하려고 할 때이 게시물의 시작 부분에 오류가 발생했습니다.


어떤 파일을 다운로드 했습니까? 어디서? 업데이트 관리자와 관련이 있습니까?
mikewhatever

메시지에서 패키지를 설치 해제했다가 나중에 다시 설치하려고 할 수 있습니다. 실패하면 캐시를 지우려고 시도 할 수 있습니다.
존 S Gruber

나는 여전히이 문제를 해결하기 위해 노력하고 있으며 아직 기회가 없었습니다. 나는 기회가있을 때 여기에 주어진 지침을 시도 할 것입니다 : goo.gl/oOKqG .
user64654

14.04가 아닌 12.04를 설치하기로 선택한 이유는 무엇입니까? 결국, 당신은 당신이 몇 주 전에 그것을 가지고 있다고 말했고, Trusty는 9 개월 동안 나왔습니다.
John Scott

답변:


16

이 지침에 대한 문제를 해결했습니다 .

따라서 해결책은 다음과 같습니다.

  1. /var/lib/dpkg디렉토리 로 이동
  2. status파일 백업
  3. status파일 편집
  4. 오류가 발생한 패키지를 검색하십시오.
  5. 이 패키지에서 행을 삭제하십시오 (그러나 "바꾸기"또는 "종속"필드에 손상된 패키지가 포함되어 있어도 다른 패키지와 관련된 다른 모든 행을 허용)

    […]

  6. status파일에 변경 사항 저장

  7. 운영: sudo dpkg --configure -a
  8. 누락 된 종속성을 강제로 다시 설치하십시오 (현재 일부가 있으므로).

    sudo apt-get -f install
    

    깨진 패키지가 다른 패키지에 의존하지 않는 경우 (드물게 발생할 수 있음) 다시 설치하십시오.

    sudo apt-get install the_package
    
  9. 이제 모든 것이 괜찮아 새로운 패키지를 업데이트, 업그레이드 또는 설치할 수 있습니다!

거기에 주어진 솔루션과 약간의 차이점이 있음에 유의해야합니다. 상태 파일은 편집하기 쉽지 않았습니다 (중요한 파일이므로 편집하지 않아야 함). 편집은주의해서 수행해야하며 변경하기 전에 파일을 백업해야합니다.

4-8 단계를 세 번 반복해야했습니다 (각각 다른 패키지에서 오류가 동일 할 때마다). 마지막으로 모든 패키지가 제거되면 다시 설치할 수 있었고 문제가 해결되었습니다.


어떤 패키지에서 오류가 발생 했습니까?
Seanny123

@ Seanny123 이전에 apt-get 설치를 시도하면 오류가 표시되었을 것입니다. 예를 들어 필자의 경우 프롬프트가 반환되기 직전에 "패키지 'manpages-dev'의 파일 목록 읽기 : 입력 / 출력 오류"가 있습니다. 상태 파일에서 "Package : manpages-dev"를 검색하고 다음 "Package :"줄까지 줄을 삭제했습니다. 그 후 나는 수동으로 "apt-get install manpages-dev"를해야했다. 그리고 이전에 실패한 "apt-get dist-upgrade"는 오류없이 완료되었다. (감사합니다 user64654!)
Peter Hansen

2

디스크가 inode로 손상되었을 수 있습니다.

라이브 CD로이 명령을 실행하십시오.

sudo fdisk -l

디스크와 파티션을 /dev/dsb1 기록한 다음 복구하십시오.

sudo fsck -y /dev/sdb1

재부팅 후 시스템으로 돌아 가기

sudo apt-get -f install
sudo apt-get update
sudo apt-get upgrade

나는 fsck를 통해 sudo shutdown -rF now더 이상 아무것도하지 않고 모든 것을 다시 잘했습니다.
클로
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.