[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