Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: ng_ipacct   Eugene Grosbein   21 Dec 2006 11:29:47 
 Re: ng_ipacct   Dmitry Pryanishnikov   21 Dec 2006 12:51:37 
 Re: ng_ipacct   Eugene Grosbein   21 Dec 2006 18:46:14 
 Re: ng_ipacct   Dmitry Pryanishnikov   21 Dec 2006 16:19:27 
 Re: ng_ipacct   Eugene Grosbein   21 Dec 2006 22:46:13 
 Re: ng_ipacct   Dmitry Pryanishnikov   21 Dec 2006 21:37:53 
 Re: ng_ipacct   Eugene Grosbein   22 Dec 2006 03:26:18 
 Re: ng_ipacct   Dmitry Pryanishnikov   21 Dec 2006 23:45:35 
 Re: ng_ipacct   Eugene Grosbein   22 Dec 2006 19:49:01 
 Re: ng_ipacct   Dmitry Pryanishnikov   22 Dec 2006 16:00:58 
 Re: ng_ipacct   Eugene Grosbein   22 Dec 2006 21:34:19 
Архивное /ru.unix.bsd/26093b16aaec3.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional