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

Материал из ALT Linux Wiki
< Apt
м (+Changes/apt (странички напрашиваются на мерж, направление непонятно))
м (-s warning)
Строка 1: Строка 1:
{| style="border:1px solid #AAA; background:#F9F9F9; width:200px; margin: 0 0 1em 1em; padding:.2em; text-align:center; float: right;" class=noprint
|-
|[[Image:Gnome-dialog-warning.svg]]
|-
| '''Внимание:'''<br />'''{{cmd|apt-get -s}} не&nbsp;работает'''<br /><small>(ключик для проведения «мысленного эксперимента» вместо действия приводит к&nbsp;неадекватной оценке последствий)</small>.
|}
== «Битые» пакеты ==
== «Битые» пакеты ==
Если при обновлении системы или установке отдельных пакетов вываливается нечто вроде:
Если при обновлении системы или установке отдельных пакетов вываливается нечто вроде:

Версия от 14:47, 17 мая 2011

Gnome-dialog-warning.svg
Внимание:
apt-get -s не работает
(ключик для проведения «мысленного эксперимента» вместо действия приводит к неадекватной оценке последствий).

«Битые» пакеты

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

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

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

См. тж. Changes/apt.

Если команда 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

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


Более рабочий вариант: В /etc/apt/apt.conf добавить строку (если ещё нет)

APT::Cache-Limit SizeOfLimit;

Где SizeOfLimit - число большее, чем размер /var/lib/rpm/Packages. Возможно, придётся подбирать Cache-Limit несколько раз, пока ошибка не исчезнет.

Рецепт из рассылки sisyphus@a.o от ldv@:

Для обновления до Сизифа нужно поднять лимит.  Сейчас достаточно 32Mb:
APT::Cache-Limit "33554432";
но ещё неизвестно, сколько понадобится, когда переход на set-versions
завершится.  В Сизифе apt-0.5.15lorg2-alt34, в нем лимит был увеличен
с запасом (42Mb).
-- ldv