Apt/TroubleShooting: различия между версиями
м (+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}} не работает'''<br /><small>(ключик для проведения «мысленного эксперимента» вместо действия приводит к неадекватной оценке последствий)</small>. | |||
|} | |||
== «Битые» пакеты == | == «Битые» пакеты == | ||
Если при обновлении системы или установке отдельных пакетов вываливается нечто вроде: | Если при обновлении системы или установке отдельных пакетов вываливается нечто вроде: |
Версия от 14:47, 17 мая 2011
«Битые» пакеты
Если при обновлении системы или установке отдельных пакетов вываливается нечто вроде:
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