Из-за переноса etckeeper в /usr/bin/ etckeeper не работает после обновления: .git/hooks/pre-commit: line 4: /usr/sbin/etckeeper: No such file or directory error: etckeeper failed to commit changes in /etc using git E: Sub-process xargs| (if [ -x /usr/bin/etckeeper ]; then etckeeper pre-install; fi) returned an error code (1) E: Failure running script xargs| (if [ -x /usr/bin/etckeeper ]; then etckeeper pre-install; fi)
Ещё вот такие чудеса вылезли: $ gear-hsh --commit Чтение списков пакетов... Построение дерева зависимостей... Selected version fakeroot#1.12.2-alt1 for fakeroot>=0:0.7.3 Следующие дополнительные пакеты будут установлены: alt-gpgkeys bzlib coreutils fakeroot getopt glibc-core glibc-preinstall glibc-pthread libacl libattr libbeecrypt7 libcap libdb4.7 libelf libgcc4.5 libgmp liblzma libpopt librpm librpmbuild libselinux libtinfo sh terminfo zlib Следующие НОВЫЕ пакеты будут установлены: alt-gpgkeys bzlib coreutils fakeroot filesystem getopt glibc-core glibc-preinstall glibc-pthread libacl libattr libbeecrypt7 libcap libdb4.7 libelf libgcc4.5 libgmp liblzma libpopt librpm librpmbuild libselinux libtinfo rpm setup sh terminfo zlib 0 будет обновлено, 28 новых установлено, 0 пакетов будет удалено и 0 не будет обновлено. Необходимо получить 0B/5871kB архивов. После распаковки потребуется дополнительно 22,0MB дискового пространства. Запуск RPM (hsh-rpmi-print-files -U -v -h -r /home/rider/hasher/aptbox --oldpackage)... /raid/ALT/Sisyphus/noarch/RPMS.classic/alt-gpgkeys-0.7.32-alt1.noarch.rpm /raid/ALT/Sisyphus/noarch/RPMS.classic/setup-2.2.14-alt1.noarch.rpm /raid/ALT/Sisyphus/x86_64/RPMS.classic/filesystem-2.3.7-alt1.x86_64.rpm /raid/ALT/Sisyphus/x86_64/RPMS.classic/glibc-preinstall-2.11.3-alt1.x86_64.rpm /raid/ALT/Sisyphus/x86_64/RPMS.classic/glibc-core-2.11.3-alt1.x86_64.rpm /raid/ALT/Sisyphus/x86_64/RPMS.classic/bzlib-1.0.6-alt1.x86_64.rpm /raid/ALT/Sisyphus/x86_64/RPMS.classic/libattr-2.4.43-alt3.x86_64.rpm /raid/ALT/Sisyphus/x86_64/RPMS.classic/libacl-2.2.49-alt2.x86_64.rpm /raid/ALT/Sisyphus/x86_64/RPMS.classic/libcap-2.16-alt2.x86_64.rpm /raid/ALT/Sisyphus/x86_64/RPMS.classic/libgmp-4.3.2-alt2.x86_64.rpm /raid/ALT/Sisyphus/x86_64/RPMS.classic/libgcc4.5-4.5.1-alt7.x86_64.rpm /raid/ALT/Sisyphus/x86_64/RPMS.classic/glibc-pthread-2.11.3-alt1.x86_64.rpm /raid/ALT/Sisyphus/x86_64/RPMS.classic/sh-3.2.51-alt1.x86_64.rpm /raid/ALT/Sisyphus/x86_64/RPMS.classic/libselinux-2.0.96-alt6.x86_64.rpm /raid/ALT/Sisyphus/x86_64/RPMS.classic/terminfo-5.7-alt5.x86_64.rpm /raid/ALT/Sisyphus/x86_64/RPMS.classic/libtinfo-5.7-alt5.x86_64.rpm /raid/ALT/Sisyphus/x86_64/RPMS.classic/coreutils-8.7-alt1.x86_64.rpm /raid/ALT/Sisyphus/x86_64/RPMS.classic/getopt-2.18.0-alt1.20101027.x86_64.rpm /raid/ALT/Sisyphus/x86_64/RPMS.classic/fakeroot-1.12.2-alt1.x86_64.rpm /raid/ALT/Sisyphus/x86_64/RPMS.classic/libbeecrypt7-4.2.1-alt5.x86_64.rpm /raid/ALT/Sisyphus/x86_64/RPMS.classic/libdb4.7-4.7.25-alt6.x86_64.rpm /raid/ALT/Sisyphus/x86_64/RPMS.classic/libelf-0.149-alt2.x86_64.rpm /raid/ALT/Sisyphus/x86_64/RPMS.classic/liblzma-5.0.0-alt1.x86_64.rpm /raid/ALT/Sisyphus/x86_64/RPMS.classic/libpopt-1.14-alt5.x86_64.rpm /raid/ALT/Sisyphus/x86_64/RPMS.classic/zlib-1.2.5-alt1.x86_64.rpm /raid/ALT/Sisyphus/x86_64/RPMS.classic/librpm-4.0.4-alt100.4.x86_64.rpm /raid/ALT/Sisyphus/x86_64/RPMS.classic/librpmbuild-4.0.4-alt100.4.x86_64.rpm /raid/ALT/Sisyphus/x86_64/RPMS.classic/rpm-4.0.4-alt100.4.x86_64.rpm Завершено. rm: невозможно удалить «/var/cache/etckeeper/packagelist.pre-install»: Отказано в доступе E: Подпроцесс if [ -x /usr/bin/etckeeper ]; then etckeeper post-install; fi завершился с ошибкой (1). E: Ошибка выполнения скриптов RPM::Post-Invoke 'if [ -x /usr/bin/etckeeper ]; then etckeeper post-install; fi' E: Подпроцесс завершился с ошибкой hsh-initroot: failed to calculate package file list. hsh-initroot: Failed to generate initial package file list.
Попробуйте 0.50-alt5.1
у меня вылезло именно на etckeeper-0.50-alt5.1
2rider: у меня не получилось воспроизвести и единственный вариант, который я пока себе представляю это запуск hsh во время обновления самой системы apt-ом. Попробуй в 50vcs-commit добавить к rm -f ещё ||: в конце, должно полечиться.
нет, я конечно обновлял систему, но hasher запускался после окончания обновления. Более того - я попробовал два-три раза собрать, ошибка воспроизводилась вот примерно так выглядел процесс обновления: Dec 2 11:35:47 riderkvm64 apt-get: etckeeper-0.50-alt5.1 installed Dec 2 11:35:48 riderkvm64 apt-get: etckeeper-0.50-alt3 removed а потом я удалил etckeeper: Dec 2 12:10:47 riderkvm64 rpm: etckeeper-0.50-alt5.1 removed
в %post if [ -e %_sysconfdir/.git/hooks/pre-commit ] && egrep '^%name' %_sysconfdir/.git/hooks/pre-commit >/dev/null 2>&1; then egrep '^etckeeper' не сработает, т.к. строка начинается с /usr/sbin/etckeeper
2vvk: как раз пост-скрипт и чинился в 0.50-alt5.1. Жду обратной связи, прежде чем накатывать обход ситуации, с которой столкнулся rider...
какой обратной связи ?
Да не может он починиться таким %post-скриптом. # cat /etc/.git/hooks/pre-commit #!/bin/sh # pre-commit hook for etckeeper, to store metadata and do sanity checks set -e /usr/sbin/etckeeper pre-commit /etc # rpm -q --scripts etckeeper .... # if [ -e /etc/.git/hooks/pre-commit ] && egrep '^etckeeper' /etc/.git/hooks/pre-commit >/dev/null 2>&1; then echo "pre-commit hook will be changed" ; else echo "pre-commit hook untouched" ; fi pre-commit hook untouched
А, так ты не залил 0.50-alt5.1. А я собрал бэкпорт на 5.1 с последнего тага 0.50-alt5. Тогда понятно всё.
И да, релиз лучше сделать 0.50-alt6, это же не nmu какой.
Да, исправление из 0.50-alt5.1 работает. Но вообще зачем там абсолютные пути? Может убрать, т.к. /usr/bin и так есть в PATH при выполнении из cron-а?
2rider: обратной связи от vvk 2vvk: Почему же не заливал, в Сизифе alt5.1 появился на следующий день после alt5. Хорошо, тогда я убираю абсолютные пути (это я глупость сделал) и заливаю alt6.
* Втр Дек 07 2010 Terechkov Evgenii <evg@altlinux.org> 0.50-alt6 - Workaround for #24678