nixp.ru v3.0

22 января 2017,
воскресенье,
23:26:32 MSK

DevOps с компанией «Флант»
Ping_Win написал 12 августа 2006 года в 01:29 (301 просмотр) Ведет себя неопределенно; открыл 73 темы в форуме, оставил 102 комментария на сайте.

Здравсте!

Такая вот проблема:

Пришлось переносить линух с одного винта на другой. Так получилось что сделано это было через «посредника» — винта с ФС NTFS (вся файловая структура была перенесена из-под винды с помощью Тотала на этот винт). После этого всё перетаскивалось на третий винт: диск был побит на разделы аналогичным образом, каждый раздел был отформатирован в той же ФС что и первоначально использовалась на 1ой машине.

Установил груба с помощью Кноппикса. При загрузке на новой машине выдалась ругань:

unable to open an initial console.

С этой проблемой сталкиваться уже приходилось, поэтому после

создания консоли с помощью # mknod console c 4 64 эта вешч исчезла, но появилась новая….

Kernel panic. No init found….

При попытке явно указать ядру, где находится init:

В грубе kernel (hd1,0)/bzImage root=/dev/hdb3 init=/sbin/init

Выдает

Failed to execute /sbin/init.

Посмотрел права на исполнение, всё проставлено. В /etc/fstab всё вроде как правильно:

/dev/hdb3 / reiserfs notail 1 1

/dev/hdb1 /boot ext2 default 0 0

/dev/hdb2 none swap default 0 0

Initrd раньше не использовался. Ядро по большей части монолитное, модулей мало.

Версия ядра — 2.6.17. Используется udev.

Может есть какие версии.

Премного благодарен.

P.S. Единственное что поменялось после переноса — это то что вместо устройства hda стало использоваться hdb.

pol

выкидывай

смотри

линукс (права на все файлы и папки) — ntfs (усе права в топку) — линукс (права там же)

да же если запинаешь работать будет через ж.

в случае когда необходим перенос затарива (tar) тогда все ок будет

по тексту:

«Failed to execute /sbin/init.»

у тебя данный файл атрибут исполняемый потерял — как и усе остальные

Ping_Win

Потерять-то потерял, но я ж руками восстановил права:

chmod -R 750 /usr/bin

chmod -R 750 /sbin

Feuerbach

Я не надеюсь решить твою проблему (ибо считаю что нет понту так систему переносить), но хочу заметить, что права 750 на /usr/bin — это, гм, немного не то :)

cyb3rpunk

Это ж надо вообще додуматься до такого — линух нв ntfs, а потом обратно

Ping_Win

сказал же, что пришлось….

бывают же в жизни ситуации, когда приходится делать или никак, или через ж*

зачем же язвить сразу?

если понял в чем дело — поделись советом.

что такого изменилось при проделанной операции??

почему эти файлы успешно исполняются при монтировании раздела при загрузке с LiveCD?

8084

>>что такого изменилось при проделанной операции??

Слетели права на абсолютно ВСЕ файлы в разделе.

Genie
Потерять-то потерял, но я ж руками восстановил права:

chmod -R 750 /usr/bin

chmod -R 750 /sbin

да. прикольные у тебя права выставились..

750 это не то же самое, что и 0750, которое означает rwxr-x—

Feuerbach
Genie
да. прикольные у тебя права выставились..

750 это не то же самое, что и 0750, которое означает rwxr-x—

Что ты имеешь в виду?

This number is always interpreted in octal; you do not have to add a
leading 0, as you do in C.  Mode 0055 is the same as mode 55.
Genie

а. ну, если тут уж до такого лентяйства дошло, то может и нормально у тебя выставилось….

правда, почему для Other нет прав на запуск/чтение — мне не очень понятно.

кроме того, некоторые программы должны иметь suid/sgid. поэтому — смотря какой у тебя дистрибутив, выполни восстановление файлов из пакетов. (правда, конфиги на всякий случай тебе надо скопировать, а то могут перезаписаться..)

Genie
P.S. Единственное что поменялось после переноса — это то что вместо устройства hda стало использоваться hdb.

а ты грубу об этом рассказал? (/boot/grub/device.map)

и потом. возможно, у тебя не собрался правильно initrd.

дело в том, что если у тебя нет статичного /dev/ со всеми записями на момент старта ядра, то у тебя не сможет быть примонтирован корень «/».

это вот обратная сторона использвоания udev…

хотя, странновато — какие строчки у тебя до «Failed to execute /sbin/init» ?

Feuerbach
Genie
а. ну, если тут уж до такого лентяйства дошло, то может и нормально у тебя выставилось….

А ты что, всегда нолики впереди пишешь? :)

Genie
правда, почему для Other нет прав на запуск/чтение — мне не очень понятно.

Да, я об этом уже писал.

Genie
кроме того, некоторые программы должны иметь suid/sgid. поэтому — смотря какой у тебя дистрибутив, выполни восстановление файлов из пакетов. (правда, конфиги на всякий случай тебе надо скопировать, а то могут перезаписаться..)

Имхо, по-любому проще забекапить всякие /var, /etc, /home, /usr/local и т.п. и переставить систему.

Ping_Win

Ну насчет проще — вопрос спорный.

У меня Гента, в течение эксплуатации не раз обновлял дерево, emerge качал из нета всё подряд. Жалка всё сносить:(((

В конфиге груба я вместо

root (hd0,2)

kernel (hd0,0)/bzImage root=/dev/hda3

прописал

root (hd1,2)

kernel (hd1,0)/bzImage root/dev/hdb3

Исправил /etc/fstab должным образом.

Вот с initrd не ковырялся. Почему ж, несмотря на использование udev, на ядрах 2.6.x всегда обходился без initrd, а тут вдруг он нужен? Насколько я понимаю, эта вешч нужна, если дрова для контроллера hdd или фс делаешь модулями, но у меня всегда такие вещи статично в ядро вкомпилены. Или я ошибаюсь?

По поводу 750: пробовал делать хоть 777 — итог один и тот же.

rgo
Ping_Win
Ну насчет проще — вопрос спорный.

У меня Гента, в течение эксплуатации не раз обновлял дерево, emerge качал из нета всё подряд. Жалка всё сносить:(((

оставь /home, /etc, /usr/etc, /usr/portage. Ну или, если просто качать много не хочеться, то, как минимум, надо оставить /usr/portage/distfiles. Остальное `rm -rf’. на оставшееся исправляешь права и владельца (особливо в /etc надо быть внимательным насчёт прав), и устанавливаешь генту. Ну ессно без форматирования и подпихнув ему уже существующее дерево портажей.

Ping_Win
В конфиге груба я вместо

root (hd0,2)

kernel (hd0,0)/bzImage root=/dev/hda3

прописал

root (hd1,2)

kernel (hd1,0)/bzImage root/dev/hdb3

оно у тебя точно root/dev/hdb3 или может всё-таки root=/dev/hdb3?

кстати, у меня какая мыслишка появилась: /sbin/init — это исполняемый файл, который, между прочим, требует определённых библиотек для запуска. В частности libc.so. А как после общения с ntfs чувствуют себя lib*.so симлинки, и исполняемые атрибуты на файлах куда эти симлинки указывают?

ecobeingecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.