[sisyphus] apt-get install rpm - caccon execute /sbin/mingetty
Alexander Bokovoy
=?iso-8859-1?q?ab_=CE=C1_altlinux=2Eorg?=
Пт Июл 23 20:16:22 MSD 2004
On Fri, Jul 23, 2004 at 08:02:18PM -0700, Andrew wrote:
> Здравствуйте.
> Запустил на Master 2.2 установку rpm и apt. Поставилось порядка 50
> пакетов. После перезагрузки - cannot execute /sbin/mingetty, no more
> processes in init level
> Если после этого попробовать в однопользовательском режиме поставить
> пакет mingetty, то он потребует login, который в свою очередь
> потребует проапгрейдить пол-системы (около сотни пакетов).
> Ставил mingetty до установки rpm и apt - тот же эффект при загрузке.
> В Сизифе не учтены все зависимости?
В Сизифе перешли на glibc 2.3. Соответственно, сменились интерфейсы целого
ряда функций в glibc, появились новые. Пересобранные приложения
автоматически переходят на новые интерфейсы и требуют уже glibc 2.3 для
своей работы. Поскольку в Сизифе практически все уже пересобрано с glibc
2.3, то при обновлении как в цепной реакции происходит вытягивание
обновленных версий и всех остальных пакетов, у которых при пересборке
произошел переход на новые версии интерфейсов соответствующих функций в
glibc.
Плюс к этому, по сравнению с M2.2, в Сизифе сейчас две разных реализации
PAM, поэтому эти библиотеки представляются разными пакетами и сами имеют
разные sonames:
Например,
$ rpmquery --requires login
pam >= 0.75-alt12
/bin/sh
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
/etc/pam.d
libc.so.6
libc.so.6(GLIBC_2.0)
libc.so.6(GLIBC_2.1)
libpam(include)
libpam.so.0
libpam_misc.so.0
pam0(system-auth)
pam_console.so
pam_lastlog.so
pam_mail.so
pam_motd.so
pam_nologin.so
Видим, что login сам не требует новую glibc, однако ее требует libpam0:
$ rpmquery --requires libpam0
pam-common
rpmlib(VersionedDependencies) <= 3.0.3-1
/sbin/ldconfig
/sbin/postun_ldconfig
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
libc.so.6
libc.so.6(GLIBC_2.0)
libc.so.6(GLIBC_2.1)
libc.so.6(GLIBC_2.1.3)
libc.so.6(GLIBC_2.3)
libdl.so.2
libdl.so.2(GLIBC_2.0)
libdl.so.2(GLIBC_2.1)
Вот поэтому -- из-за строчек вида libc.so.6(GLIBC_2.3) -- происходит
массовое обновление.
Однако, mingetty требует новый login (по другим причинам), который так же
вытягивает за собой libpam0, на который также ссылается в login требование
pam0(system-auth).
Вот эти два компонента -- glibc и PAM -- используются в огромном
количестве программ. Смена интерфейсов в них приводит к масштабному
обновлению. Это, на самом деле, нормально. И потерь зависимостей тут нет.
--
/ Alexander Bokovoy
Samba Team http://www.samba.org/
ALT Linux Team http://www.altlinux.org/
Midgard Project Ry http://www.midgard-project.org/
Подробная информация о списке рассылки Sisyphus