패키지를 설치 / 제거 / 업그레이드 할 수 없습니다


11

그래서 며칠 전에 Ubuntu 11.10 64 비트를 업그레이드하려고 시도했지만 오류가 발생했습니다.

dpkg : ../../src/archives.c:978 : tarobject : 어설 션`r == stab.st_size '가 실패했습니다.

나는 다음 그래서 이 우분투 포럼에 게시 하고 이것 .

ubuntu-docs정보 폴더 및 상태 파일에서 제거 되었습니다.

이제 패키지를 설치 / 제거 / 업그레이드하려고 할 때마다 오류가 발생합니다.

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/aptdaemon/worker.py", line 968, in simulate
    trans.unauthenticated = self._simulate_helper(trans)
  File "/usr/lib/python2.7/dist-packages/aptdaemon/worker.py", line 1092, in _simulate_helper
    return depends, self._cache.required_download, \
  File "/usr/lib/python2.7/dist-packages/apt/cache.py", line 235, in required_download
    pm.get_archives(fetcher, self._list, self._records)
SystemError: E:I wasn't able to locate a file for the ubuntu-docs package. This might mean you need to manually fix this package.

ubuntu-docs명령 줄에서 설치하려고 하면 다음과 같은 출력이 나타납니다.

 BlockquoteReading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be upgraded:
  ubuntu-docs
1 upgraded, 0 newly installed, 0 to remove and 33 not upgraded.
1 not fully installed or removed.
Need to get 1,408 kB of archives.
After this operation, 22.5 MB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu/ oneiric/main ubuntu-docs all 11.10.4 [1,408 kB]
Fetched 1,408 kB in 5s (265 kB/s)        
(Reading database ... 
dpkg: warning: files list file for package `ubuntu-docs' missing, assuming package has no files currently installed.
(Reading database ... 323646 files and directories currently installed.)
Preparing to replace ubuntu-docs 11.10.4 (using .../ubuntu-docs_11.10.4_all.deb) ...
Unpacking replacement ubuntu-docs ...
dpkg: ../../src/archives.c:978: tarobject: Assertion `r == stab.st_size' failed.
E: Sub-process /usr/bin/dpkg exited unexpectedly

... 내가 정보에 모습 때문에, 문제를 시작했을 때와 동일한에 대한 어떤 모습 - 어떤 패키지가 없다 ubuntu-docs하지만 난 그것을 삭제하고 다시 시도 있도록 상태에서 항목이,하지만 난 할 마자 sudo dpkg --configure -a에 대한 항목 ubuntu-docs다시 나타납니다을 .

이견있는 사람?

편집 (서식을 저장하기위한 주석이 아님) :

이 스레드sudo apt-get update상태에서 해당 라인을 제거한 후 실행해야한다고 말합니다 . 그래서 나는 sudo apt-get clean다음에 달렸다 sudo apt-get update. 그러나 나는 다음과 같은 메시지를 받았다.

E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.

을 실행 한 후 sudo dpkg --configure -a상태 파일에는 다음 줄이 포함됩니다.

Package: ubuntu-docs
Status: install reinstreq half-installed
Priority: optional
Section: doc
Version: 11.10.4

그것이 도움이되는지 확실하지 않습니다.

답변:


7

때때로 손상된 설치 패키지는 패키지 관리 시스템을 손상시켜 Linux가 패키지를 설치하거나 제거 할 수 없게합니다 (소프트웨어). 다음은 Ubuntu에 ndas-admin을 설치하려고 시도한 후 apt-get에서 얻은 메시지 오류입니다.

$ sudo apt-get install mplayer (또는 모든 패키지) 패키지 목록 읽기… 완료 건물 종속성 트리
상태 정보 읽기… 완료 E : 패키지 ndas-admin을 다시 설치해야하지만 아카이브를 찾을 수 없습니다. (이것은 오류입니다)

나는 시도 sudo apt-get install -f문제를 해결하려고하지만 같은 오류가 발생했습니다. 내가 가진 유일한 옵션은 dpkg 상태 파일을 수동으로 편집하는 것이 었습니다.

$ sudo gedit /var/lib/dpkg/status    (if you prefer you can use vi instead of gedit)
Locate the corrupt package, and remove the whole block of information about it and save the file. Mine looked like this:

Package: ndas-admin
Status: deinstall reinstreq half-configured
Priority: extra
Section: alien
Installed-Size: 100
Maintainer: root <root@ubuntu510>
Architecture: i386
Version: 1.0.2-24
Depends: libc6 (>= 2.3.4-1)
Description: Administration toosl for XIMETA,Inc NDAS device driver for Linux operating system
 ndas-admin – This program allows the user to register/enable/disable/unregister the XIMETA NDAS hard disk.
 .
 (Converted from a rpm package by alien version 8.53.)

결정된. 이것이 다른 누군가를 돕기를 바랍니다.


비슷한 문제가 있었고 고칠 수 있었습니까? 감사!
학생

6

다음은 나를 위해 일한 것입니다.

sudo dpkg --force-all -r ubuntu-docs

다시 문제가 생기면보고하겠습니다. BTW 솔루션은 dpkg를 다시 작동시키는 방법 에 게시되었습니다 .

어쨌든 조언 : 이제 시냅틱을 사용하여 매번 시스템을 업데이트해야합니다 .ubuntu-docs가 모든 업데이트에 있기 때문에 그것을 해제해야합니다 :-/. 모든 후속 업데이트에서 특정 패키지를 제거하는 방법을 묻는 다른 질문을 시작할 것입니다.


1

명령이 시스템에 캐시 된 손상된 패키지를 재사용하려고 시도했을 수 있습니다. 다음 명령을 실행하여 apt 캐시를 지우십시오.

sudo apt-get clean

(경고, 그것은 모든 캐시 된 패키지를 제거 할 것이므로, 설치가 반쯤 진행되면 여러 가지를 다시 다운로드해야합니다).

그런 다음 정상적으로 업그레이드 프로세스를 수행 할 수 있어야합니다.


좋아, 상태 파일에서 우분투 문서 관련 정보를 제거하고 apt-get clean을 제거해야합니다. 그렇게하면 sudo dpkg -i로 패키지를 설치할 수 있지만 여전히 업그레이드 할 수는 없습니다.
wisemonkey

이제 다음을 실행하면 어떻게됩니까? sudo apt-get -f install
ImaginaryRobots

같은 것, 나는 이것을 포맷 할 수 없지만 여기에있다 : sudo apt-get -f install (데이터베이스를 읽는 중 ... dpkg : 경고 : 패키지 ubuntu-docs' missing, assuming package has no files currently installed. (Reading database ... 323783 files and directories currently installed.) Preparing to replace ubuntu-docs 11.10.4 (using .../ubuntu-docs_11.10.4_all.deb) ... Unpacking replacement ubuntu-docs ... dpkg: ../../src/archives.c:978: tarobject: Assertion r == stab.st_size '에 대한 파일 목록 파일이 실패했습니다 .E ​​: 하위 프로세스 / usr / bin / dpkg가 예기치 않게 종료되었습니다
wisemonkey

버그인지 궁금합니다. 나는 모든 것을 다시 설치하고 싶지 않습니다 :-/
wisemonkey
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.