[Comm] update-kernel не_очень_удался

Sergey Vlasov vsu на altlinux.ru
Вт Окт 5 19:50:26 UTC 2010


On Tue, Oct 05, 2010 at 10:43:49PM +0400, Sergey wrote:
> On Tuesday 05 October 2010, Дмитрий Кулик wrote:
> 
> > Так ясней ?
> 
> Нет. Я этот конфиг на память и так помню, можно было и не копировать.
> В секции Hold нет kernel-image. Совпадение есть только в Allow-Duplicated.

Да, но как раз это и приводит к тому, что пакеты ядра и модулей не
обновляются автоматически - попадание в Allow-Duplicated приводит к
тому, что apt считает пакеты, отличающиеся номерами version-release,
не разными версиями одного и того же пакета, а совершенно разными
пакетами, в результате с точки зрения apt обновлять в этой ситуации
просто нечего.

В Debian/Ubuntu проблема обновления ядра решается, насколько я понял,
следующим образом:

 1) Производится отслеживание изменений ABI ядра - если изменения в
    новой сборке ядра не меняют интерфейсы, доступные для модулей,
    пакет с новой сборкой ядра просто заменяет предыдущий.  Такое
    решение многим не нравится, поскольку обновление с заменой пакета
    не оставляет возможности в случае возникновения проблем быстро
    вернуться к предыдущей сборке; кроме того, вывод команды uname -r
    не даёт полной информации об используемом ядре (туда попадает
    только первая часть номера сборки, меняющаяся при изменении ABI).
    С другой стороны, если обновление ядра не трогает ABI, при таком
    способе можно не пересобирать все пакеты с дополнительными
    модулями.

 2) В случае, когда ABI для модулей ядра меняется, пакет с новой
    сборкой ядра получает новое имя, и не заменяет предыдущий, а
    устанавливается рядом.  Однако сам по себе такой пакет не
    установится автоматически при обновлении через apt (как и в случае
    использования Allow-Duplicated в ALT).  Чтобы обновление всё-таки
    происходило автоматически, существуют так называемые метапакеты -
    пустые пакеты с зависимостью на самый свежий в данный момент
    настоящий пакет ядра; обновление такого метапакета происходит
    автоматически, обеспечивая и установку нового пакета ядра.

 3) Пакеты с дополнительными модулями ядра обновляются похожим
    образом: в случае, если обновляется только пакет с модулями без
    изменения самого ядра, имя реального пакета не меняется, и он
    обновляется с заменой предыдущей сборки; в случае обновления ядра
    со сменой ABI обновление модуля (с точки зрения apt - установка
    нового пакета, не имеющего отношения к предыдущей сборке модуля)
    обеспечивается через обновление соответствующего метапакета.

В ALT теоретически тоже можно реализовать схему обновления пакетов
ядра через метапакеты с соответствующими зависимостями, но пока этим
никто не озаботился.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 198 байтов
Описание: Digital signature
Url     : <http://lists.altlinux.org/pipermail/community/attachments/20101005/f3c4f714/attachment-0001.bin>


Подробная информация о списке рассылки community