|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Eugene Grosbein 2:5006/1 21 Dec 2006 18:46:14 To : dmitry@atlantis.dp.ua Subject : Re: ng_ipacct -------------------------------------------------------------------------------- 21 дек 2006, четверг, в 11:51 KRAST, dmitry@atlantis.dp.ua написал(а): SS>> При пересборке ядра в 6.x каталог /boot/kernel перемещается в SS>> /boot/kernel.old. Соотв. требуется пересборка тех портов, которые SS>> содержат kld-modules. Я так подозреваю это именно тот случай. >> Я везде использую MODULES_WITH_WORLD=no, одним из эффектов dadu> Учитывая, что переменная проверяется не по значению, а на defined(), dadu> можно по ошибке подумать, что Вы приказываете _не_ строить модули с dadu> миром. dadu> Hо мы-то знаем, что это не так ;) Поэтому, _если уж советовать_, лучше dadu> в каноническом стиле, который нам советует (на примере NO_MODULES) dadu> src/share/examples/etc/make.conf: dadu> MODULES_WITH_WORLD= #Build modules with world (not with kernel) Это опечатка у меня тут, =yes конечно. А определять переменные пустышкой мне не нравится :-) dadu> Однако см. ниже... >> является хранение модулей в /boot/modules, отдельно от ядра. >> Все такие странные проблемы уходят, всем рекомендую. dadu> IMHO зря _всем_ рекомендуете. Для тех, кто часто обновляет исходники dadu> _и_ dadu> перестраивает ядро это плохой, негодный совет. Я, например, при dadu> очередном dadu> обновлении STABLE смотрю лог csup (а часто и diff -u старого и нового dadu> src), dadu> и, если изменения принципиальные только в ядре (а остальной мир dadu> практически dadu> не изменился) - делаю только make kernel. Было ведь жесткое правило - держать ядро и мир синхронизированными, ну вот нафига пропагандировать его отмену? Сорцы обновил - пересобирай. Понятно, когда опытный админ, читающий с листа diff и логи на свою, мнээ, голову пересобирает только ядро, но вот озвучивать такой экстремизм я бы не стал без крупных варнингов :-) Если же только эксперименты с конфигом ядра, модули пересобирать почти всегда не надо. dadu> Hо устаревшие модуля мне, dadu> естественно, не нужны. Ведь и ядро, и модуля, которые строит buildkernel dadu> - dadu> продукт одних и тех же текстов из src/sys, они тесно интегрированы, dadu> разрывать их перестроение - чревато тонкими глюками и невозможностью dadu> толком dadu> проанализировать kernel dump. А еще бывают те же связки ядра и userland, поэтому модули пересобираются вместе с миром, а мир - с изменением исходников. Или типа стабильность ABI уже это требование похоронила? >> Изменение конфигурации ядра почти всегда - не причина пересобирать >> модули, а оверхед дикий. И проблемы для портов нет. dadu> Вот как раз порты, кладя в /boot/modules свои модуля, порождают кучу dadu> вопросов у пользователей-не-девелоперов, когда последние обновляют dadu> систему, dadu> а она, погань, слетает при перезагрузке из-за устаревшего драйвера dadu> nVidia dadu> или какого-нибудь rtc.ko. Тут MODULES_WITH_WORLD AFAIK ничем помочь не dadu> может (а созданием в /boot/modules мешанины из актуальных базовых и dadu> устаревших портовых модулей, наоборот, навредит). Hу это вопрос аккуратности, можно и UPDATING не читать перед пересборкой мира... Рекомендуемая процедура должна быть, в первую очередь, надежной, а во вторую эффективной и простой. Требование читать diff-ы не удовлетворяет второму :-) Требование при обновлении сорцов пересобирать ядро, модули и мир и портовые модули удовлетворяется хоть при использовании MODULES_WITH_WORLD, хоть без. Hо при использовании пересборка ядра без изменения сорцов, во-первых, не дает проблем с портовыми модулями (а без - проблемы есть), а во-вторых, гораздо эффективнее в смысле глупого оверхеда на пересборку модулей. dadu> IMHO /boot/modules примерно dadu> так же соотносится с /boot/kernel, как /usr/local с /usr: при обновлении dadu> dadu> текстов ядра (мира) мы пересобираем содержимое /boot/kernel dadu> (/usr/не-local), а dadu> своевременное обновление /boot/modules и /usr/local при смене веток, dadu> например, dadu> RELENG_5 -> 6 - за этим уже мы сами (или наши скрипты, но не базовый dadu> {build,install}{kernel,world}) должны следить. Мне вообще активно не нравится требование обновлять /usr/local при смене версии OS. И я не обновлял ничего при переходе с четверки на шестерку дома, за исключением досадных вещей типа смены locale on-disk format, работало все, начиная от XFree86 и кончая galeon-ом через compat4x без проблем. Eugene -- Знаете ли вы, что... Иисус имел не менее 4 братьев и 2 сестер (Матф.13:54) --- slrn/0.9.8.0 (FreeBSD) * Origin: Svyaz Service JSC (2:5006/1@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/26093b16aaec3.html, оценка из 5, голосов 10
|