Не могу установить / удалить / обновить любой пакет

11

Поэтому я пытался обновить 64-битную Ubuntu 11.10 несколько дней назад и получил ошибку:

dpkg: ../../src/archives.c:978: tarobject: Утверждение `r == stab.st_size 'не удалось.

Так что я следил за этим постом на форумах Ubuntu и этим .

Удалено 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

Не уверен, что это поможет.

wisemonkey
источник

Ответы:

7

Иногда поврежденный установочный пакет может повредить вашу систему управления пакетами, в результате чего Linux не сможет установить или удалить какие-либо пакеты (программное обеспечение). Вот сообщение об ошибке, которое я получил от apt-get после попытки установить ndas-admin для Ubuntu.

$ 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

Я сообщу, если что-то пойдет не так по этому поводу снова. Кстати, решение было опубликовано на Как заставить работать dpkg снова?

О, да, совет: теперь мне нужно использовать Synaptic для обновления системы каждый раз, потому что ubuntu-docs есть в каждом обновлении, и мне нужно убрать галочку: - /. Думаю, я начну другой вопрос, чтобы спросить, как удалить конкретный пакет из каждого последующего обновления.

wisemonkey
источник
1

Возможно, ваши команды просто пытаются повторно использовать поврежденный пакет, который кэшируется на вашем компьютере. Попробуйте выполнить следующую команду, чтобы очистить кэш apt:

sudo apt-get clean

(предупреждение, которое удалит все кэшированные пакеты, поэтому, если вы находитесь на полпути после установки, вам потребуется повторно загрузить кучу вещей).

После этого вы сможете пройти процесс обновления как обычно.

ImaginaryRobots
источник
Итак, мне нужно удалить информацию, связанную с ubuntu-docs, из файла состояния, а затем выполнить команду sudo 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