Apt/TroubleShooting: различия между версиями

Материал из ALT Linux Wiki
< Apt
Строка 30: Строка 30:
  E: The package lists or status file could not be parsed or opened.
  E: The package lists or status file could not be parsed or opened.


скорее всего, apt'y приходится перелопачивать больше пакетов, чем дозволено лимитом.
скорее всего, apt'y приходится перелопачивать больше пакетов, чем дозволено лимитом ([https://bugzilla.altlinux.org/show_bug.cgi?id=16900 #16900]).


'''Решение:'''
'''Решение:'''
Вручную обновить apt и libapt из соответствующего репозитория.
'''Объезд:'''


Отключить лишние репозитории в <tt>/etc/apt/sources.list.d/*.list</tt> и вновь отдать команду:
Отключить лишние репозитории в <tt>/etc/apt/sources.list.d/*.list</tt> и вновь отдать команду:

Версия от 21:57, 19 апреля 2009

"Битые" пакеты

Если при обновлении системы или установке отдельных пакетов вываливается нечто вроде:

Committing changes...
Preparing...                 ###########################################  [100%]
1: some_package              error: unpacking of archive failed: cpio: Bad magic
E: Some errors occurred while running transaction

вероятней всего, rpm-архив (в данном случае "some_package") испорчен (получен не полностью).

Решение:

Удалить файл some_package.some_digits.rpm из /var/cache/apt/archives и отдать команду:

apt-get install some_package

Превышение числа пакетов

Если команда apt-get update завершается чем-то вроде:

Reading Package Lists... Error!
E: Dynamic MMap ran out of room
E: Error occured while processing ktechlab (UsePackage3)

или:

E: Wow, you exceeded the number of package names this APT is capable of.
E: Problem with MergeList /tmp/aptbox/var/lib/apt/lists/_ALT_Sisyphus_noarch_base_pkglist.classic
E: The package lists or status file could not be parsed or opened.

скорее всего, apt'y приходится перелопачивать больше пакетов, чем дозволено лимитом (#16900).

Решение:

Вручную обновить apt и libapt из соответствующего репозитория.

Объезд:

Отключить лишние репозитории в /etc/apt/sources.list.d/*.list и вновь отдать команду:

apt-get update

При необходимости - повторить. :)