| Ici Moi ( @ 2009-04-01 12:11:00 |
линуксовый изврат на Убунте
Вчера по запарке при попытке обновить систему случайно удалил /sbin/init... Что любопытно, Убунта запрещает удалять sysvutils (так что я не мог поставить дебиановский sysvinit*), а init - не запрещает (жалкая подпорка для возможности переключения между upstart и System V init).
Восстановление заняло 3 часа. Затянулось в основном из-за того, что у меня нет CD-привода и другого рабочего линукса в загрузочном меню. Получился этакий "Grow Linux", если кто знает флеш-игры серии Grow :) Что бы не забылись идеи, публикую решение:
1) загрузиться в винде, скачать пакеты upstart*
2) загрузиться в Linux, используя init=/bin/bash в параметрах ядра
3) перемонтировать root, используя команду mount / -o remount,rw
4) смонтировать NTFS-раздел: mkdir /tmp/a; mount /dev/sda1 /tmp/a
5) скопировать и поставить upstart: dpkg -i upstart*
6) sync
7) /sbin/init
8) исправление зависимостей и штатный ребут.
Выводы:
1) Надо учить dbus и NetworkManager для возможности поставить сеть из-под голой консоли (у меня dbus ругался на отсутствие /sbin/runlevel).
2) Полезно иметь альтернативный линукс на разделе для восстановления основного.
Вчера по запарке при попытке обновить систему случайно удалил /sbin/init... Что любопытно, Убунта запрещает удалять sysvutils (так что я не мог поставить дебиановский sysvinit*), а init - не запрещает (жалкая подпорка для возможности переключения между upstart и System V init).
Восстановление заняло 3 часа. Затянулось в основном из-за того, что у меня нет CD-привода и другого рабочего линукса в загрузочном меню. Получился этакий "Grow Linux", если кто знает флеш-игры серии Grow :) Что бы не забылись идеи, публикую решение:
1) загрузиться в винде, скачать пакеты upstart*
2) загрузиться в Linux, используя init=/bin/bash в параметрах ядра
3) перемонтировать root, используя команду mount / -o remount,rw
4) смонтировать NTFS-раздел: mkdir /tmp/a; mount /dev/sda1 /tmp/a
5) скопировать и поставить upstart: dpkg -i upstart*
6) sync
7) /sbin/init
8) исправление зависимостей и штатный ребут.
Выводы:
1) Надо учить dbus и NetworkManager для возможности поставить сеть из-под голой консоли (у меня dbus ругался на отсутствие /sbin/runlevel).
2) Полезно иметь альтернативный линукс на разделе для восстановления основного.