[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