klink0v (klink0v) wrote,
klink0v
klink0v

Таки обновил libc6

Когда сисадмину нечем заняться, он libc6 обновляет. Я таки сделал это на домашнем ноутбуке.

Видать, при переходе с дистрибутива на дистрибутив поменялись названия пакетов, зависимости и директории расположения библиотек. А конфигуратор пакета в какой-то момент времени пытается запускать системные утилиты, слинкованные на старые версии сишных библиотек. При этом сами бинарники уже перезаписаны. Вот у него и не получается, он вываливается "на полпути" и "привет". Новые бинарники ещё не работают потому что линки не оформлены, а старые бинарники уже не работают, потому что lib-ы перезаписаны новыми версиями. Короче говоря, начинается бардак-с, адЪ, Израиль и segmentation fault.

Чтосукахарактерно, на "монолитной" системе почему-то всё отрабатывает "как надо", не смотря ни на что. А на multiarch наблюдается такой вот раздрай. Как я его победил.


  1. Заранее запустил побольше рутовых консолей с Midnight Commander, дабы сохранить возможность совершать операции над файлами после рукотворного факапа. Если не нравится midnight, то сгодится и busybox.

  2. Начал обновлять libc6. Дождался когда APT вывалится с ошибкой.

  3. Тупо скопировал всё содержимое директории "/lib/i386-linux-gnu" в "/lib/i386-linux-gnu/i686/cmov" без перезаписи файлов с одинаковыми именами. (Да, у меня основная архитектура i386.)

  4. Заменил символическую ссылку "/lib/ld-linux.so.2". Она показывала на "i386-linux-gnu/ld-2.23.so", а стала на "i386-linux-gnu/i686/cmov/ld-2.19.so".

  5. Запустил "dpkg --configure -a". Он доделал свою грязную работу, после чего всё снова начало валиться в segmentation fault.

  6. Вернул символическую ссылку "/lib/ld-linux.so.2" на место, как была.

  7. Запустил "apt-get -f install".

После этого всё заработало. Затем APT по своей инициативе пожелал снести пакеты "build-essential g++ g++-4.9 libc-dev-bin libc6-amd64 libc6-dev libstdc++-4.9-dev strace64". Я ему в этом препятствовать не стал. На всякий случай позапускал разные приложения, перезагрузился, проверил. Всё нормально, никаких проблем не выявлено.

Забавно-с...

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 

  • 3 comments