On Sat, Aug 07, 2010 at 06:12:47PM +0300, Andrii Dobrovolskii wrote: > Приключения продолжаются... :( > Взялся ещё одну систему подтянуть до 4.Х. А точнее - какие именно репозитории подключались, 4.0 или 4.1? > И огреб крайне веселую ситуацию. > Начал с установки ядра. Оно сказало, что с ядром будем ставить и ещё > немного пакетов. В том числе glibc. Ладно ставь. Никаких "грозных" > просьб, говорящих о возможности страшных последствий, не было. А начав > ставить заявило, что у тя ядро очень старое. И новая глибс с ним не > совместима. И какое же там было ядро? Даже в 4.1 минимальное требование glibc к версии ядра - 2.6.9, а в 3.0 уже было 2.6.12; получается, что система была даже не 3.0, а что-то совсем дремучее. (Есть ещё требования udev к версии ядра, но на обновление запущенной системы они не так сильно влияют - эти несовместимости вылезут при перезагрузке.) > Однако ставить не перестало... И отправив apt-shell в > бекграунд, пошпарило дальше... Не пошпарило, а при попытке установки новой версии glibc-core послало вызывавшему проверку процессу (в данном случае apt-shell) сигнал SIGSTOP. Продолжить его сигналом SIGCONT можно, но результат этого будет ещё хуже, чем есть в данный момент (будет невозможно запустить ни одну программу, кроме собранных статически). > Теперь есть ядро на котором сейчас > крутится система. И глибс которая с ним не совместима... Новое ядро тоже > есть, судя по логу, только вот лило об этом не в курсе. Ибо: > lilo: /lib/libc.so.6:version 'GLIBC_2.4' not found (required by > /lib/libdevmapper.so.1.00) Как минимум пакет libdevmapper успел обновиться до glibc-core (при обновлении группы пакетов иногда случается, что какой-то пакет устанавливается раньше, чем необходимые ему другие пакеты, обновляемые в той же транзакции). > Помогите разрулить ситуацию без переустановки... Сейчас продолжить обновление нормальным путём уже не удастся; придётся окончательно прибить остановленный процесс apt-shell, после чего загрузиться с rescue cd с достаточно свежим ядром и восстанавливать нарушенные зависимости. Если повезёт, apt-get -f install сможет разобраться в получившейся свалке; если автоматика не сможет разобраться, придётся, например, руками устанавливать пакеты, например, установить-таки новую версию glibc-*, после чего в этом же режиме установить и новое ядро. Либо можно поступить наоборот - откатить успевшие обновиться пакеты, чтобы всё запускалось со старой glibc (вернув систему в состояние до попытки обновления), затем попытаться обновиться более мелкими шагами (например, поставив сначала ядро от 3.0).