yaourt -S glibc --force [РЕШЕНО]

Проснулся я выходным днём, и первым делом решил обновиться. Ничто не предвещало беды…
Только yaourt ругнулся при установке glibc на конфликт в файловой системе.
Ничего, –force есть -ума не надо. Так и поступил. Сразу после установки glibc, консоль начала ругаться, что, дескать, команда cp не найдена, mv куда потерялась и даже ls - я не мог посмотреть, что у меня в директории /bin .
Заподозрив неладное, я с прискорбием прочитал заметку про обновление glibc, но было поздно.
Пройдя по ссылке на руководство, я увидел там два способа, чтобы попытаться восстановить систему. Раз и два.
Оба они сводятся к загрузке в рутовую консоль и замене директории /lib/ на ссылку на /usr/lib/.
Я попробовал оба способа по шагам. Но система по-прежнему не желает загружаться и выдаёт:
switch_root: failed to execute /sbin/init: No such file or directory
[ 2.228249] Kernel panic - not syncing: Attempted to kill init! exitcode = 0x00000100

Как мне восстановить работоспособность системы?
З.ы. Пожалуйста, сильно не пинайте.
З.з.ы. Возможности загрузиться с live-cd или usb нет.
Возможности загрузиться с live-cd или usb нет.
Ну тогда, видимо, всё. Что называется “не ставьте Arch на сервер”.

viewtopic.php?f=3&t=9424&start=15 вот тут может найдёте чего-нибудь.
Говорили же – НЕ обновляйте glibc через –force :)
Как говорится, ССЗБ. При таком обновлении пакман успешно удаляет /lib , но не может создать на его месте симлинк, котому что glibc отсутствует :)

Лечение для тех, кто (см. пред. абз. :)
1) При загрузке открываем в загрузчике редактирование (в GRUB(1/2) это клавиша e), и добавляем в параметры ядра (в GRUB(1/2) это строка начинается на kernel или linux) слово break
2) загружаемся, видим приглашение ramfs #
3) через blkid или
ls -l /dev/disk/by-label
или по памяти находим ваш корневой раздел, к примеру /dev/sda1
4) монтируем его
mount /dev/sda1 /new_root
вместо sda1 подставляйте ваше устройство!
5) переходим в корень раздела
cd /new_root
и по команде ls -l убеждаемся, что lib у вас отсутствует.
6) создаём симлинк
ln -s usr/lib lib
Да, можно было вместо второго lib написать точку, но вдруг кто-то её не разглядит!
7) проверяем, что получилось
ls -l
и видим, что у нас теперь есть симлинк “lib -> usr/lib”
8) отмонтируем раздел
cd
umount /new_root
и жмём Ctrl+D для продолжения загрузки.
9) на всякий случай переустанавливаем glibc, чтобы пакман доделал всё, что не успел
pacman -S glibc
10) Никогда больше не делаем такого, как (см. пред. абз. :)
Natrio, done.
/lib теперь на месте.
Но система теперь зависает после запуска X-ов. Т.е. висит пригласительное окно логина (у меня slim) и не реагирует на клавиатуру.
Ещё я успел выхватить, что при загрузке была ошибка, что-то вроде “unknown interface in /etc/rc.conf: ”eth0".
А это уже другое. Переносили какие-то левые драйверы без переустановки модулей (nvidia, к примеру)? Переустанавливаем, пакман не в курсе, ядро тоже.
Или может у вас какой-то особенный модуль для сетевой карты? (eth0)
Нет, “yaourt -Syu” было первой и единственной командой с утра. Вечером перед этим я тоже ничем подобным не занимался.
Карта встроенная, вроде ничо экзотического.
В single-режиме показывает только loopback-петлю (хотя у меня ещё и wlan есть).
Ок, попробую переустановить все дровишки.
Natrio, спасибо за помощь советом.
Перезагрузился доделал “pacman -Su” и всё заработало.
На удивление легко проскочил эту проблему.

glibc обновился когда я устанавливал gcc. Забыл я про особенность обновления glibc :)

Благо, была открыт thunar от имени рута. Просто создал в thunar линк с /usr/lib в /lib.

Это называется халява :)
А у меня не получается… Перелинковал, но все равно
разрешение зависимостей...
проверка на взаимную несовместимость...
Цели (1): glibc-2.16.0-2
Будет установлено:  33,94 MiB
Изменение размера:  0,00 MiB
Приступить к установке? [Y/n] 
(1/1) проверяется целостность пакета               [######################] 100%
(1/1) загрузка файлов пакета                       [######################] 100%
(1/1) проверка возможных конфликтов файлов         [######################] 100%
ошибка: не удалось завершить запрос (конфликтующие файлы)
glibc: /lib уже существует в файловой системе
Обнаружены ошибки, пакеты не были обновлены.
[[email protected] blackbox]# 
По соседству пятистраничный топик - помимо ссылок, ситуация достаточно подробно рассмотрена. И?
 
Зарегистрироваться или войдите чтобы оставить сообщение.