Nie można zainstalować / usunąć / zaktualizować żadnego pakietu

11

Próbowałem zaktualizować system Ubuntu 11.10 w wersji 64-bitowej kilka dni temu i otrzymałem błąd:

dpkg: ../../src/archives.c:978: tarobject: Asercja `r == stab.st_size 'nie powiodła się.

Więc śledziłem ten post na forum Ubuntu i ten .

Usunięto ubuntu-docsz folderu informacyjnego i pliku stanu.

Teraz, gdy próbuję zainstalować / usunąć / uaktualnić dowolny pakiet, pojawia się błąd:

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.

Kiedy próbuję zainstalować ubuntu-docsz wiersza poleceń, otrzymuję następujące dane wyjściowe:

 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

... który wygląda mniej więcej tak, jak kiedy zaczynałem z problemem, więc szukałem informacji - nie ma paczki, ubuntu-docsale jest wpis w statusie, więc go usunąłem i spróbowałem ponownie, ale jak tylko to zrobię, sudo dpkg --configure -awpis ubuntu-docspojawia się ponownie .

jakieś pomysły?

Edytuj (nie jako komentarz do zapisywania formatowania) :

Wątek mówi, że muszę uruchomić sudo apt-get updatepo usunięciu odpowiednich wierszy ze statusu. Więc pobiegłem sudo apt-get cleanza mną sudo apt-get update. Ale dostałem wiadomość:

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

Po uruchomieniu sudo dpkg --configure -aplik statusu zawiera następujące wiersze:

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

Nie jestem pewien, czy to pomaga.

wisemonkey
źródło

Odpowiedzi:

7

Czasami uszkodzony pakiet instalacyjny może uszkodzić system zarządzania pakietami, uniemożliwiając Linuksowi zainstalowanie lub usunięcie jakichkolwiek pakietów (oprogramowania). Oto błąd komunikatu, który dostałem od apt-get po próbie zainstalowania ndas-admin dla Ubuntu.

$ sudo apt-get install mplayer (lub dowolny pakiet) Czytanie list pakietów… Gotowe Budowanie drzewa zależności
Odczytywanie informacji o stanie… Gotowe E: Pakiet ndas-admin musi zostać ponownie zainstalowany, ale nie mogę znaleźć archiwum dla niego. (to jest błąd)

Próbowałem sudo apt-get install -frozwiązać problem, ale wystąpił ten sam błąd. Jedyną opcją, jaką miałem, była ręczna edycja pliku statusu 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.)

Naprawiony. Mam nadzieję, że to pomaga komuś innemu.

Fazlur Rahaman Naik
źródło
Miałem podobny problem i udało się go naprawić w ten sposób! Dzięki!
student
6

Oto, co zadziałało dla mnie:

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

Zgłoszę, jeśli coś pójdzie nie tak. Rozwiązanie BTW zostało opublikowane na stronie Jak ponownie uruchomić dpkg?

Och, tak, porada: teraz muszę używać Synaptic do aktualizacji systemu za każdym razem - ponieważ ubuntu-docs jest w każdej aktualizacji i muszę go odznaczyć: - /. Chyba zacznę inne pytanie, aby zapytać, jak usunąć konkretny pakiet z każdej kolejnej aktualizacji.

wisemonkey
źródło
1

Możliwe, że twoje polecenia próbują ponownie użyć uszkodzonego pakietu, który jest buforowany na twoim komputerze. Spróbuj uruchomić następujące polecenie, aby wyczyścić pamięć podręczną apt:

sudo apt-get clean

(ostrzeżenie, że usunie wszystkie buforowane pakiety, więc jeśli jesteś w połowie instalacji, musisz ponownie pobrać kilka rzeczy).

Powinieneś być w stanie przejść przez proces aktualizacji jak zwykle.

ImaginaryRobots
źródło
Ok, więc muszę usunąć informacje związane z ubuntu-docs z pliku statusu, a następnie muszę sudo apt-get clean. W ten sposób mogę zainstalować dowolny pakiet z sudo dpkg -i, ale nadal nie mogę zaktualizować.
wisemonkey
co się stanie, jeśli teraz uruchomisz następujące? sudo apt-get -f install
ImaginaryRobots
to samo, nie mogę sformatować tego, ale tutaj jest: sudo apt-get -f install (Odczytywanie bazy danych ... dpkg: ostrzeżenie: plik listy plików dla pakietu 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 'nie powiódł się. E: Podproces / usr / bin / dpkg nieoczekiwanie zakończył pracę
wisemonkey
Zastanawiam się, czy to błąd? Nie chcę ponownie instalować wszystkiego: - /
wisemonkey