[Comm] update from 4.1 to p5

Sergey Vlasov vsu на altlinux.ru
Вс Ноя 1 18:24:15 UTC 2009


On Sun, Nov 01, 2009 at 03:40:26PM +0200, Jurij Bogaevs'kyj wrote:
> Только что запустил обновление подключив p5 бранч.
> Первым делом запустил update-kernel
> И все бы ничего, но после завершения обновления ядра и его модулей 
> автоматически продолжилось обновление системы. При чем после уведомления 
>   сколько чего поставится-снесется-замениться никто моего согласия не 
> спрашивал. В данный момент идет обновление...
> Это теперь так и должно быть?
> Часть лога в аттаче.

[...]
> update-kernel: kernel-headers-modules is installed, trying to update...
> Reading Package Lists... Done
> Building Dependency Tree... Done
> The following extra packages will be installed:
[...]
> 197 upgraded, 63 newly installed, 22 replaced, 21 removed and 860 not upgraded.
[...]

Действительно, update-kernel, кроме пакетов с модулями ядра,
пытается обновить и пакет с заголовками - в данном случае это
kernel-headers-modules-std-def (но flavour (std-def) там не
выводится).  С одной стороны, это вроде бы правильно (если перед
обновлением в системе были установлены файлы заголовков, необходимые
для сборки модулей к установленному ядру, после обновления
желательно сохранить возможность сборки модулей уже для нового
ядра).  С другой стороны, у пакетов kernel-headers-modules-*
существенно больше зависимостей, чем у kernel-image-* и
kernel-modules-* (как минимум, имеется зависимость на ту версию gcc,
которой собиралось ядро, и на свежую glibc - из-за компонентов
сборочной системы ядра), поэтому установка kernel-headers-modules-*
в старую систему может потянуть за собой существенное количество
новых пакетов.

Кроме того, в скрипте update-kernel используются отдельные вызовы
apt-get install для каждого устанавливаемого пакета (причём ошибки
игнорируются - это необходимо, поскольку набор доступных пакетов
kernel-modules-* может меняться), и, что самое неприятное, apt-get
install вызывается с опцией -y - из-за этой опции и не запрашивается
подтверждение.  С другой стороны, без этой опции пришлось бы
подтверждать установку каждого пакета с модулями (поскольку пакеты
запрашиваются по именам предоставляемых ими Provides), что тоже
никуда не годится.

Более близким к оптимальному вариантов могла бы быть сборка единого
списка пакетов для установки (с проверкой устанавливаемости пакетов,
например, по apt-get install --print-uris; использовать -s нельзя -
эта опция не работает) и последующий однократный запуск apt-get
install с полученным списком без опции -y - чтобы требовалось только
одно подтверждение для установки.  Правда, в этом случае скрипт
будет работать несколько дольше из-за лишнего анализа зависимостей
при предварительных вызовах apt-get.  Причём вызывать apt-get
install --print-uris нужно не по каждому пакету отдельно, а добавляя
очередной проверяемый пакет ко всему предыдущему списку - иначе
окончательный список пакетов может оказаться неустанавливаемым из-за
конфликтов между пакетами (и среди kernel-modules-* как раз
встречались конфликтующие - например, разные варианты madwifi).
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 198 байтов
Описание: Digital signature
Url     : <http://lists.altlinux.org/pipermail/community/attachments/20091101/0b09c51d/attachment.bin>


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