вылетает с ошибкой: 0 будет обновлено, 1693 новых установлено, 1 пакетов будет удалено и 0 не будет обновлено. Необходимо получить 0B/1741MB архивов. После распаковки потребуется дополнительно 4388MB дискового пространства. E: Ошибка записи - write (32 Обрыв канала) E: Ошибка выполнения скрипта if [ -x /usr/sbin/etckeeper ]; then /usr/sbin/etckeeper pre-install; fi уменьшение количества до 768 не помогло, при 433 - нормально. если надо, могу приложить списки пакетов до установки и список обновления. Система: x86_64, свежесобранная локально бета Кентавра
Ну в данном случае etckeeper мешает продолжению работы apt. В качестве проверки можно пакет etckeeper предварительно удалить. Когда подтвердиться, багу стоит перевесить на etckeeper. Причин я пока не понял.
У меня на многих системах при попытке apt-get dist-upgrade выводится E: Ошибка записи - write (32 Обрыв канала) E: Ошибка выполнения скрипта if [ -x /usr/sbin/etckeeper ]; then /usr/sbin/etckeeper pre-install; fi Не помогает даже удаление /usr/sbin/etckeeper, приходится пакет удалять
У меня такого никогда не проявлялось (несколько машин, но они до Сизифа относительно меньшими пачками обновляются). 2dans@: Приложите пожалуйста вывод следующих команд: #rpm -q etckeeper #ls -laR /etc/etckeeper и список пакетов до установки и устанавливаемых, если есть возможность. 2lav@: непонятно, как может удаление /usr/sbin/etckeeper не помочь (в свете процитированного хука апта: "if [ -x /usr/sbin/etckeeper ]; then /usr/sbin/etckeeper pre-install; fi"). Что происходит, если делать dist-upgrade с удалённым /usr/sbin/etckeeper? Во время тестирования у меня этот хук в таком случае отрабатывал молча и без ошибок.
По версии и содержимому etckeeper - могу только то, что есть на данный момент. имеет смысл? установочный компакт был собран из текущего на момент сборки (2010-11-01) сизифа. список, который был _до_ установки приложить не смогу, а вот список и вывод от apt-get я приложу. кстати, прошу обратить внимание, что уменьшение количества пакетов помогает только после определенного предела, такое ощещение, что где-то используется конструкция с передачей параметров в виде 'script list_of_packages" PS если поможет: для переезда с x86_32 на x86_64 сделал на 32-б машине 'rpm -qa', а на 64-b скормил этот список сразу после установки. список тоже приложу. PPS есть еще полный strace этого дела, если надо, но логи 8M в сжатом виде - ценность сомнительна.
Created attachment 4677 [details] список пакетов для установки
Created attachment 4678 [details] лог установки по списку
Судя по приведённому "скриншоту" apt останавливается сразу перед установкой/обновлением пакетов, на хуке etckeeper pre-install. Этот хук должен запускаться по такой цепочке: etckeeper -> pre-installl.d/* -> list-installed.d/* и операция "|" используется в ней лишь в двух местах: 1) /usr/sbin/etckeeper: for script in $ETCKEEPER_CONF_DIR/$command.d/*;do [ -x "$script" ] || continue [ ! -d "$script" ] || continue echo "$script" | grep -E "^$ETCKEEPER_CONF_DIR/$command.d/[-a-zA-Z0-9]+$" >/dev/null 2>&1 || continue т.е. ищутся все хуки для запуска в /e/e/pre-install.d/*. Поэтому и спрашиваю вывод ls -laR /etc/etckeeper/, на случай если там что-то странное. 2) 50list-installed: rpm -qa --queryformat "%{name} %{version} %{arch}\n" | sort здесь я подвоха не жду в приложенных списках ничего подозрительного не заметил. Насколько мне известно, имена пакетов, участвующих в транзакции apt-а самим etckeeper никак не отрабатываются. Возможно, установлены другие пакеты, пытающиеся такой список обработать? За это говорит и отсутствие реакции на удаление /usr/sbin/etckeeper.
не дописал... Какие ещё стоят хуки к апту (/etc/apt/apt.conf.d/*)? Вообще, расскажите, как воспроизвести проблему (в т.ч. как скармливали список). Я сейчас пытаюсь поиграться со свежей бетой Центавра в VB, но пока безуспешно.
Ага, вроде воспроизвёл в VB при попытке (пере)установки кучи пакетов. Буду разбираться...
Обходится в 0.50-alt5.1 Хотя ставить систему скармливанием `rpm -qa` apt-у это, конечно, извращение :-)
*** Bug 28816 has been marked as a duplicate of this bug. ***
Похоже на регрессию
(В ответ на комментарий №12) > Похоже на регрессию Комментирование строчек в apt.conf помогает.
Если имеется ввиду /etc/apt/apt.conf.d/etckeeper, то попробуйте в нём первую строчку заменить на RPM::Pre-Install-Pkgs { "if [ -x /usr/bin/etckeeper ]; then etckeeper pre-install </dev/null; fi"; };
При обновлении с p7 до Sisyphus etc не сохранил, а ,скорее, испортил систему.
Если б сам не увидел - не поверил. Воспроизводится на "ура" - кентавр 7, поставить и настроить etckeeper, обновить до Sisyphus
Напоролся при большом обновлении на sisyphus_e2k; спасибо https://forum.altlinux.org/index.php?topic=29698.0 за наводку.