Текущий Сизиф, systemd. По apt-get dist-upgrade получил: Preparing... ################################################################################################### [100%] 1: glibc-preinstall ################################################################################################### [ 3%] 2: glibc-core ################################################################################################### [ 6%] error: execution of %post scriptlet from glibc-core-2.16-alt1 failed, exit status 1 3: i586-glibc-core ################################################################################################### [ 10%] 4: libgcc1 ################################################################################################### [ 13%] 5: glibc-pthread ################################################################################################### [ 17%] 6: libstdc++6 ################################################################################################### [ 20%] 7: libpoppler27 ################################################################################################### [ 24%] 8: glibc-gconv-modules ################################################################################################### [ 27%] 9: i586-libgcc1 ################################################################################################### [ 31%] 10: i586-glibc-pthread ################################################################################################### [ 34%] 11: iconv ################################################################################################### [ 37%] 12: libpoppler8-glib ################################################################################################### [ 41%] 13: glibc-locales ################################################################################################### [ 44%] 14: glibc-timezones ################################################################################################### [ 48%] 15: glibc-utils ################################################################################################### [ 51%] 16: glibc-nss ################################################################################################### [ 55%] 17: libquadmath0 ################################################################################################### [ 58%] 18: gcc-common ################################################################################################### [ 62%] 19: glibc-devel ################################################################################################### [ 65%] 20: i586-glibc-gconv-modules ################################################################################################### [ 68%] 21: i586-libstdc++6 ################################################################################################### [ 72%] 22: libgfortran3 ################################################################################################### [ 75%] 23: libgomp1 ################################################################################################### [ 79%] 24: libpoppler-gir ################################################################################################### [ 82%] 25: poppler ################################################################################################### [ 86%] 26: libpoppler26 ################################################################################################### [ 89%] 27: gcc-c++-common ################################################################################################### [ 93%] 28: jpackage-utils ################################################################################################### [ 96%] E: Some errors occurred while running transaction E: Handler silently failed ~#rpm -q --scripts glibc-core preinstall program: /sbin/glibc_preinstall postinstall program: /sbin/glibc_post_upgrade preinstall program: /sbin/glibc_preinstall postinstall program: /sbin/glibc_post_upgrade ~#/sbin/glibc_post_upgrade Failed to issue method call: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken. ~#rpm -qf /sbin/glibc_post_upgrade glibc-core-2.11.3-alt8 glibc-core-2.16-alt1
(In reply to comment #0) > Текущий Сизиф, systemd. По apt-get dist-upgrade получил: > error: execution of %post scriptlet from glibc-core-2.16-alt1 failed, exit > status 1 glibc-core тут оказался крайним. На самом деле у вас в системе есть telinit, но "telinit u", видимо, не работает. (между прочим, что у вас выводит и с каким кодом завершается "telinit u"?) С другой стороны, если ваша система на systemd, то зачем вам пакет sysvinit?
Выводит точно то же самое (как и systemctl daemon-reexec): ~#telinit u Failed to issue method call: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken. ~#echo $? 0 Как я понимаю, этот самый 0 и указывает на некорректную работу, как минимум, systemd-sysvinit/systemd. Стоит перевесить или я ошибаюсь? systemd-sysvinit больше для того, чтобы не менять сложившиеся привычки. И ещё, как лучше восстановить систему из такого состояния (два пакета glibc-core)?
(В ответ на комментарий №2) > И ещё, как лучше восстановить систему из такого состояния (два пакета > glibc-core)? rpm -e --nodeps glibc-core-2.11.3 У меня после этого проблем не было.
(In reply to comment #3) > (В ответ на комментарий №2) > > И ещё, как лучше восстановить систему из такого состояния (два пакета > > glibc-core)? > > rpm -e --nodeps glibc-core-2.11.3 > У меня после этого проблем не было. Зачем --nodeps?
(В ответ на комментарий №4) > (In reply to comment #3) > > (В ответ на комментарий №2) > > > И ещё, как лучше восстановить систему из такого состояния (два пакета > > > glibc-core)? > > > > rpm -e --nodeps glibc-core-2.11.3 > > У меня после этого проблем не было. > > Зачем --nodeps? Да, наверное, это было лишнее.
(In reply to comment #2) > Выводит точно то же самое (как и systemctl daemon-reexec): > > ~#telinit u > Failed to issue method call: Did not receive a reply. Possible causes include: > the remote application did not send a reply, the message bus security policy > blocked the reply, the reply timeout expired, or the network connection was > broken. > ~#echo $? > 0 > > Как я понимаю, этот самый 0 и указывает на некорректную работу Этот 0 как раз указывает на корректное завершение, несмотря на ругань, смысл которой неплохо было бы понять. А вот во время обновления glibc вместо 0 код завершения был 1. Похоже на какие-то особенности поведения systemd.
Перевешиваю на systemd-sysvinit, поскольку telinit, странное поведение которого осложняет обновление glibc, из этого пакета.
Я сравнил наш glibc_post_upgrade.c и из fedora. у нас используется проверка: /* Check if telinit is available and the init fifo as well. */ if (access (telinit_path, X_OK) || access ("/dev/initctl", F_OK)) return 0; Такая проверка использовалась в fedora-8. Сейчас там: /* Check if telinit is available and either SysVInit fifo, or upstart telinit. */ if (access ("/sbin/telinit", X_OK) || ((!!access ("/dev/initctl", F_OK)) ^ !access ("/sbin/initctl", X_OK))) _exit (0); Я думаю, если внести такие изменения в glibc_post_upgrade.c, то обновление glibc у нас тоже будет происходить без проблем.
(In reply to comment #8) > Я сравнил наш glibc_post_upgrade.c и из fedora. > у нас используется проверка: > /* Check if telinit is available and the init fifo as well. */ > if (access (telinit_path, X_OK) || access ("/dev/initctl", F_OK)) > return 0; > > Такая проверка использовалась в fedora-8. > Сейчас там: > /* Check if telinit is available and either SysVInit fifo, > or upstart telinit. */ > if (access ("/sbin/telinit", X_OK) > || ((!!access ("/dev/initctl", F_OK)) > ^ !access ("/sbin/initctl", X_OK))) > _exit (0); > > Я думаю, если внести такие изменения в glibc_post_upgrade.c, то обновление > glibc у нас тоже будет происходить без проблем. Другими словами, в федоре с мая 2008 года glibc_post_upgrade вообще не делает "telinit u". Думаю, что это ошибка. Если "telinit u" в systemd не может работать в принципе, то зачем он такой вообще нужен?
вот что обнаружилось в dmesg при обновлении: [1541516.951306] telinit[28180] general protection ip:7f3f08a328ae sp:7fff0776e490 error:0 in libpthread-2.11.3.so[7f3f08a2d000+17000] о чём это может говорить?
Хм, у меня тоже было: syslog/messages.1.bz2:Aug 25 01:12:21 thinkpad kernel: [524336.362363] telinit[8450] general protection ip:7f31d4e9d8ae sp:7fff552ae960 error:0 in libpthread-2.11.3.so[7f31d4e98000+17000]
(In reply to comment #10) > вот что обнаружилось в dmesg при обновлении: > [1541516.951306] telinit[28180] general protection ip:7f3f08a328ae > sp:7fff0776e490 error:0 in libpthread-2.11.3.so[7f3f08a2d000+17000] > > о чём это может говорить? Если telinit сегфолтится, то, скорее всего, в нем есть ошибка.
*** Bug 27679 has been marked as a duplicate of this bug. ***
Предположительно ошибка исправлена в апстриме и вошла в v189. http://cgit.freedesktop.org/systemd/systemd/commit/?id=c516c8d17f77a1c761447f4c40c8dfffeda2e06d Но при dist-upgrade glibc-core и systemd обновляются вместе (glibc-core первым), и ошибка конечно проявляется. Как её избежать я не знаю.
(In reply to comment #14) > Предположительно ошибка исправлена в апстриме и вошла в v189. > http://cgit.freedesktop.org/systemd/systemd/commit/?id=c516c8d17f77a1c761447f4c40c8dfffeda2e06d Скоро можно будет проверить. > Но при dist-upgrade glibc-core и systemd обновляются вместе (glibc-core > первым), и ошибка конечно проявляется. Как её избежать я не знаю. Вопрос решается переносом запуска "telinit u" из glibc-core %post в 0ldconfig.filetrigger. Тем самым, кстати, автоматически решится вопрос перезапуска init'а при обновлении любой из библиотек, которые он использует, а не только тех, что упакованы в glibc-core.
glibc-6:2.16-alt2 -> sisyphus: * Wed Aug 29 2012 Dmitry V. Levin <ldv@altlinux> 6:2.16-alt2 - locales/ru_RU: fixed abday (sw#10873) and abmon. - ru.po: reintroduced fixes from 2.11.3-alt8. - sys/cdefs.h: fixed support of old compilers (sw#13741, sw#14530). - glibc_post_upgrade: moved telinit support to 0ldconfig.filetrigger (closes: #27666).
Сегодня пытался обновлять стартеркит p7 до сизифа. Точнее менять sysvinit на systemd с последующим dist-upgrade. Столкнулся с тем, что "telinit u" (уже из пакета systemd-sysvinit-228-alt2) просто зависает и бессрочно долго висит при вызове из 0ldconfig.filetrigger. В итоге штатно мигрировать/обновиться не получается. Сдаётся, ногу растут примерно отсюда.