Я не могу помочь с установкой grub сейчас, но то, что я сделал, чтобы запустить мой RAID, я следую этой инструкции:
Как установить Ubuntu 8.04 с помощью программного обеспечения RAID1 | HowtoForge - Linux Howtos и Tutorials и установите grub на каждый раздел рейдов (не swap).
Это будет полезно, если сбой одного жесткого диска еще не работает.
Команда exec заменяет текущий процесс оболочки указанной командой. Обычно, когда вы запускаете команду, создается новый процесс (раздвоенный). Команда exec не порождает новый процесс. Вместо этого текущий процесс накладывается на новую команду. Другими словами, команда exec выполняется вместо текущей оболочки без создания нового процесса.
Существует три наиболее распространенных способа использования команды exec:
Пример-1: если вы открываете новую bash оболочку как
$ bash
в pstree, она выглядит как
├─gnome-terminal ├─bash───bash───pstree [d7 ] Предыдущая оболочка bash все еще существует, и вы получили новую оболочку bash. Если вы открываете новую оболочку bash как$ exec bash
, то pstree показывает
├─gnome-terminal ├─bash───pstreeЗдесь старый bash заменен новым. Особенно полезно выйти из нескольких логинов в одной команде. Пример-1: См. Выход из корня и пользователя с помощью одной команды
Пример-1: вы можете открыть файл как
[ f5]Когда вы покидаете vi, нет необходимости закрывать терминал отдельно, поскольку оболочка уже заменена. Как только вы закроете vi, терминал также будет закрыт.
Команда exec также может использоваться в сценариях оболочки, динамически открывать, закрывать и копировать файловые дескрипторы. Это позволяет выполнять перенаправление STDIN, STDERR, STDOUT и других файловых дескрипторов на различные файлы внутри сценария оболочки вместо строки вызова команды. Если вы не укажете команду или аргументы, вы можете указать символы перенаправления и дескрипторы файлов для выполнения этих функций.
Предположим, что у вас есть сценарий оболочки script.sh, который вы хотите иметь файл журнала script.log, вы можете использовать exec как,
LOG=/path/to/script.log
exec 1>>$LOG
exec 2>&1
, что эквивалентно
./script &>> /path/to/script.log
./script >> /path/to/script.log 2>&1
Вы также можете использовать команду exec для создания набора сценариев оболочки, которые последовательно выполняют друг друга, как этапы процесса. Вместо появления новых процессов каждый раз, когда вам нужно передать управление следующему скрипту, вы выполняете команду exec.
В этом случае последней операцией каждого этапа должна быть команда exec, которая вызывает следующий этап .
См. Выход из корня и пользователя с одной командой для более.
Примечание. Часть из этого взята из этого.
Насколько я знаю, он также используется для перенаправления файловых дескрипторов (например, STDOUT, STDERR, STDIN) сценария bash.
Так, например, вы можете читать из файла вместо этого с клавиатуры, используя перенаправление STDIN и запись в файл вместо терминала с помощью STDOUT (или может быть STDERR в зависимости от программы) перенаправления.