POLA again
2010-02-24 22:34Из FreeBSD 8.0 удалили поддержку /etc/rc.early - единственного штатного места в системе, куда можно было добавить команды, выполняющиеся непосредственно после определения оборудования, запуска ядром первого процесса init и запуска им скрипта /etc/rc - задолго до перехода системы в многопользовательский режим, до выполнения всех других системных стартовых скриптов (ну, честно говоря, не всех - своп-раздел и его опциональное шифрование активируется ещё раньше), до запуска сервисов и даже до проверки и монтирования файловых систем. Во время выполнения rc.early даже корневая FS ещё смонтирована read-only (fsck для неё тоже ещё не запускался, всё это позже).
Понадобилось недавно установить по-быстрому 8.0 для последующей неспешной удалённой настройки перед отправкой за 300 километров в работу. Прибыв поздно вечером "к телу" с ftp://ftp.freebsd.org/pub/FreeBSD/ISO-IMAGES-i386/8.0/8.0-RELEASE-i386-memstick.img на флешке, загрузил машину с неё и поставил по-быстрому систему на HDD (250G) штатным инсталлятором, отключив при разбиении на разделы softupdates для каждой FS, с тем чтобы потом пересоздать файлухи уже с журналом (gjournal). И только вернувшись к себе и зайдя удалённо, обнаружил, что второпях отключил softupdates вообще со всех FS, включая корневую (размером в 512Mb) и /usr (тоже 512Mb), для которых отключать-то было и не надо, журнал им противопоказан.
Включать-выключать softupdates в FreeBSD можно только для отмонтированных файловых систем, в случае / и /usr это означает выполнение команд в single user mode, причём не просто в single user, а до монтирования файлух. Ну, думаю, не беда, пропишу вызов tunefs в rc.early - хвать, а его ж убили. Пришлось лезть на семерку и копировать с неё rcNG-скрипт early в /etc/rc.d/ - для любознательных задачка на смекалку, почему в описанном случае нельзя в /usr/local/etc/rc.d/. Потом прописал всё что нужно в /etc/rc.early, перегрузил систему и получил включенные softupdates на / и /usr.
Спрашивается, нахрена было сносить поддержку rc.early?
no subject
Date: 2010-02-24 16:03 (UTC)no subject
Date: 2010-02-24 16:05 (UTC)no subject
Date: 2010-02-24 16:11 (UTC)man rc
no subject
Date: 2010-02-24 16:14 (UTC)P.S. Да, мне стыдно. Но скрывать не буду. Зато вот узнал :)
no subject
Date: 2010-02-24 17:00 (UTC)