klink0v (klink0v) wrote,
klink0v
klink0v

Закавыки с libc6

Я иногда на своих компах собираю операционку-"франкенштейна". Например, из стабильного и тестируемого выпусков дистрибутива. Или "напополам" от i386 и amd64 архитектур. На моём ноутбуке, с которого я сейчас пишу этот псто, установлены пакеты из трёх веток дистрибутива Debian: jessie, jessie-backports, stretch и двух разных архитектур.

Не спрашивайте меня зачем. Так исторически сложилось. Там не хватало какого-то функционала, сям. Полностью переходить на нестабильный дистрибутив не хочется, самому собирать тоже лениво. Вот со временем и образовался такой зоопарк.

К чести дистростроителей, Debian относится к таким извращениям довольно-таки терпимо. И даже таки работает. До поры до времени.

Но вчера меня чё-то дёрнуло накатить себе всё туда же samba-сервер из тестируемого выпуска. Она потянула за собой обновление версии libc6. И вот тут-то началась веселуха.

Я честно не понимаю почему. "Франкенштейнов" я плодил и раньше, всё было нормально. Библиотеку libc от следующего выпуска я тоже всегда ставил без проблем. Более того, не далее как на прошлой неделе я успешно провернул ровно ту же самую процедуру на одном из своих веб-серверов. Всё прошло гладко. А на ноутбуке получилось забавно. APT распаковал пакет с новой версией, перезаписал содержимое директории "/lib", после чего сразу же отвалились binutils; любые утилиты, включая и шелл, стали вываливаться с Segmentation Fault. Разумеется, APT обломался, завершить инсталляцию ему не удалось. Хуже того, система превратилась в нечто неработоспособное, ибо любая команда с этого момента рушилась всё с тем же segmentation fault. И понятно, что после ребута она не ожила, потому как segmentation fault настиг в том числе и init-а.

Пришлось экстренно клепать загрузочную флешку с линухом и вертать всё взад. Неприятностей добавило и то, что просто так взять и сделать chroot в "основную" систему тоже уже не судьба: chroot сразу после выполнения пытался запустить bash, который ожидаемо... правильно, вываливался в segmentation fault.

Мне вот теперь интересно, что же я сделал не так? Почему раньше всё проходило без сучка и задоринки, а в этот раз "накрыло"? Экспериментировать на единственном рабочем домашнем компе больше не хочу, но чисто академическая потребность в знаниях всё равно осталась. И не надо говорить мне, что я потный извращенец. Вот, например, тов. simply_a_man умудряется удалённо менять архитектуру дистрибутива полностью.

Tags: debian, linux, администрирование
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 13 comments