Несколько дней назад я пытался обновить Ubuntu 11.10 до 64-битной версии и получил ошибку:
dpkg: ../../src/archives.c:978: tarobject : Утверждение `r == stab.st_size 'не удалось.
blockquote>Итак, я подписался на этот пост на форумах 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.
Когда я пытаюсь установить
[ 111]ubuntu-docs
из командной строки, я получаю такой вывод:... который выглядит примерно так же, как когда я начинал с проблемы, поэтому я посмотрел в info - нет пакета
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
Не уверен, поможет ли это.
Вот что сработало для меня:
sudo dpkg --force-all -r ubuntu-docs
Я сообщу, если что-то пойдет не так. Кстати, решение было опубликовано на Как заставить dpkg снова работать?
О да, совет: теперь мне нужно использовать Synaptic для обновления системы каждый раз, потому что ubuntu-docs есть в каждом обновлении и мне нужно снять галочку: - /. Думаю, я начну другой вопрос, чтобы спросить, как удалять определенный пакет из каждого последующего обновления.
Возможно, ваши команды просто пытаются повторно использовать поврежденный пакет, который кэшируется на вашем компьютере. Попробуйте выполнить следующую команду, чтобы очистить кэш apt:
sudo apt-get clean
(предупреждение, которое удалит все кэшированные пакеты, поэтому, если вы находитесь на полпути после установки, потребуется повторно загрузить кучу вещей ).
После этого вы сможете пройти процесс обновления как обычно.
Иногда поврежденный установочный пакет может повредить вашу систему управления пакетами, в результате чего 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.)
Исправлено. Надеюсь, это поможет кому-то еще.