Bug 22572

Summary: update-kernel обломался обновить модули для ядра
Product: Sisyphus Reporter: Igor Zubkov <icesik>
Component: update-kernelAssignee: Vitaly Chikunov <vt>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: a.o.liakh, at, boyarsh, cas, evg, lav, mike, vt, zerg
Version: unstable   
Hardware: all   
OS: Linux   

Description Igor Zubkov 2009-12-18 23:44:12 MSK
[root@iceberg ~]# update-kernel 
Try to install new kernel kernel-image-std-def-1:2.6.30-alt15 and update its modules [y]/n? 
Reading Package Lists... Done
Building Dependency Tree... Done
kernel-image-std-def#1:2.6.30-alt15 is already the newest version.
0 upgraded, 0 newly installed, 0 removed and 0 not upgraded.
update-kernel: Updating modules for kernel: 2.6.30-std-def-alt15
update-kernel: kernel-modules-alsa is installed, trying to update...
Reading Package Lists... Done
Building Dependency Tree... Done
Selecting kernel-modules-alsa-std-def#1:2.6.30-alt15 for 'kernel-modules-alsa-2.6.30-std-def-alt15'
kernel-modules-alsa-std-def#1:2.6.30-alt15 is already the newest version.
0 upgraded, 0 newly installed, 0 removed and 0 not upgraded.
update-kernel: kernel-modules-drm is installed, trying to update...
Reading Package Lists... Done
Building Dependency Tree... Done
Selecting kernel-modules-drm-std-def#1:2.6.30-alt15 for 'kernel-modules-drm-2.6.30-std-def-alt15'
kernel-modules-drm-std-def#1:2.6.30-alt15 is already the newest version.
0 upgraded, 0 newly installed, 0 removed and 0 not upgraded.
update-kernel: kernel-modules-kqemu is installed, trying to update...
Reading Package Lists... Done
Building Dependency Tree... Done
Selecting kernel-modules-kqemu-std-def#1.4.0-alt0.1.pre1.132638.15 for 'kernel-modules-kqemu-2.6.30-std-def-alt15'
kernel-modules-kqemu-std-def#1.4.0-alt0.1.pre1.132638.15 is already the newest version.
0 upgraded, 0 newly installed, 0 removed and 0 not upgraded.
update-kernel: kernel-modules-nvidia is installed, trying to update...
Reading Package Lists... Done
Building Dependency Tree... Done
Package kernel-modules-nvidia-2.6.30-std-def-alt15 is a virtual package provided by:
  kernel-modules-nvidia-std-def#190.42-alt1.132638.15 190.42-alt1.132638.15 [Installed]
  kernel-modules-nvidia-std-def#190.53-alt1.132638.15 190.53-alt1.132638.15
You should explicitly select one to install.
E: Package kernel-modules-nvidia-2.6.30-std-def-alt15 is a virtual package with multiple good providers.

update-kernel: kernel-modules-v4l is installed, trying to update...
Reading Package Lists... Done
Building Dependency Tree... Done
Selecting kernel-modules-v4l-std-def#1:2.6.30-alt15 for 'kernel-modules-v4l-2.6.30-std-def-alt15'
kernel-modules-v4l-std-def#1:2.6.30-alt15 is already the newest version.
0 upgraded, 0 newly installed, 0 removed and 0 not upgraded.
[root@iceberg ~]#
Comment 1 Michael Shigorin 2009-12-19 12:57:21 MSK
Кажется, чинить надо k-m-nvidia-*, а не update-kernel (или уже apt).

2 zerg, at: что скажете?
Comment 2 Sergey V Turchin 2009-12-21 14:28:07 MSK
Я на днях собрал новый kernel-modules-nvidia-std-def#190.53-alt1.132638.15, поэтому и возник выбор вариантов.

Чинить нужно update-kernel. У apt-get есть или готовая опция или через -o возможность автовыбирать новейшую версию, если есть варианты.
Comment 3 Michael Shigorin 2010-02-22 19:21:35 MSK
Никто не добирался часом? :)
Comment 4 Vladimir V. Kamarzin 2010-02-24 09:30:38 MSK
(В ответ на комментарий №3)
> Никто не добирался часом? :)

Нет. Вопрос в том, как вообще u-k должен действовать в такой ситуации.
Comment 5 Vitaly Lipatov 2013-07-11 22:56:19 MSK
Я правильно понимаю, что сейчас проблему не воспроизвести?

# epms kernel-modules-nvidia-std-def
 # apt-cache search kernel-modules-nvidia-std-def
kernel-modules-nvidia-std-def - nVidia video card drivers

# epm repolist
 # apt-repo list
rpm [updates] file:/var/ftp/pub/ALTLinux/ p7/branch/i586 classic
rpm [updates] file:/var/ftp/pub/ALTLinux/ p7/branch/noarch classic
Comment 6 Andrey Liakhovets 2013-07-12 11:58:07 MSK
Вполне себе воспроизвелось 29 июня 2013 г. на p7 (x86_64).

Вот такое было в репо с 21 июня:
26076145 Июн 21 10:45 x86_64/RPMS.classic/kernel-image-std-def-3.8.13.3-alt1.M70P.1.x86_64.rpm
 8008979 Июн 21 10:55 x86_64/RPMS.classic/kernel-modules-nvidia-std-def-319.23-alt1.198669.e3.1.M70P.1.x86_64.rpm

А такое - с 28 июня:
26076145 Июн 21 10:45 x86_64/RPMS.classic/kernel-image-std-def-3.8.13.3-alt1.M70P.1.x86_64.rpm
 8052896 Июн 28 15:51 x86_64/RPMS.classic/kernel-modules-nvidia-std-def-319.32-alt1.198669.e3.1.M70P.1.x86_64.rpm

Соответственно, 29 июня update-kernel выругался на модуль nvidia и я его ставил
вручную (screen не сохранил, но в логе и в .bash_history осталось).
Comment 7 Andrey Liakhovets 2013-07-12 11:59:37 MSK
Переоткрываю... (см. предыдущий комментарий)
Comment 8 Sergey V Turchin 2015-05-26 18:42:50 MSK
(В ответ на комментарий №5)
> Я правильно понимаю, что сейчас проблему не воспроизвести?
Можно собрать для обновляемого ядра вручную kernel-modiles-nvidia любой отличной от текущей версии и подключить репозиторий с ним к apt, тогда будет воспроизводиться.
Comment 10 Andrey Cherepanov 2017-08-02 15:16:11 MSK
ping
Comment 11 Vitaly Lipatov 2017-08-02 16:07:59 MSK
Что я делаю не так при каждом обновлении ядра?

$ rpm -qa | egrep -i --color -- "(nvidia)"
kernel-modules-nvidia-std-def-375.39-alt1.263231.0.M80P.2
apt-scripts-nvidia-0.4.4-alt1
nvidia_glx_304.134-304.134-alt131
i586-nvidia_glx_340.102-340.102-alt149.M80P.1
i586-nvidia_glx_304.134-304.134-alt131
i586-nvidia_glx_304.131-304.131-alt129
i586-nvidia_glx_304.135-304.135-alt135.M80P.1
i586-nvidia_glx_375.66-375.66-alt171.M80P.1
nvidia_glx_375.66-375.66-alt171.M80P.1
nvidia_glx_340.102-340.102-alt149.M80P.1
nvidia_glx_340.98-340.98-alt144
nvidia_glx_375.39-375.39-alt169
kernel-modules-nvidia-std-def-375.66-alt1.263239.0.M80P.2
nvidia_glx_304.131-304.131-alt129
i586-nvidia_glx_340.101-340.101-alt145
i586-nvidia_glx_common-375.66-alt177
i586-nvidia_glx_375.20-375.20-alt164
nvidia_glx_common-375.66-alt177
i586-nvidia_glx_375.39-375.39-alt169
nvidia_glx_375.20-375.20-alt164
nvidia_glx_340.101-340.101-alt145
nvidia_glx_304.135-304.135-alt135.M80P.1
i586-nvidia_glx_340.98-340.98-alt144


 $ sudo -- eatmydata update-kernel
Running kernel version: kernel-image-std-def-1:4.4.71-alt0.M80P.2
Checking for available kernel packages...
предупреждение: пакет kernel-image-std-def-4.4.77-alt0.M80P.1 не установлен
Try to install new kernel kernel-image-std-def-1:4.4.77-alt0.M80P.1 and update its modules [y]/n? y
update-kernel: kernel-modules-bcmwl is installed, trying to update...
update-kernel: kernel-modules-drm is installed, trying to update...
update-kernel: kernel-modules-drm-nouveau is installed, trying to update...
update-kernel: kernel-modules-drm-radeon is installed, trying to update...
update-kernel: kernel-modules-kvm is installed, trying to update...
update-kernel: kernel-modules-nvidia is installed, trying to update...
update-kernel: kernel-modules-tp_smapi is installed, trying to update...
update-kernel: kernel-modules-v4l is installed, trying to update...
update-kernel: kernel-modules-virtualbox is installed, trying to update...
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Выбрано kernel-modules-bcmwl-std-def#6.30.223.248-alt10.263245.0.M80P.1 для 'kernel-modules-bcmwl-4.4.77-std-def-alt0.M80P.1'
Выбрано kernel-modules-drm-std-def#1:4.4.77-alt0.M80P.1 для 'kernel-modules-drm-4.4.77-std-def-alt0.M80P.1'
Выбрано kernel-modules-drm-nouveau-std-def#1:4.4.77-alt0.M80P.1 для 'kernel-modules-drm-nouveau-4.4.77-std-def-alt0.M80P.1'
Выбрано kernel-modules-drm-radeon-std-def#1:4.4.77-alt0.M80P.1 для 'kernel-modules-drm-radeon-4.4.77-std-def-alt0.M80P.1'
Выбрано kernel-modules-kvm-std-def#1:4.4.77-alt0.M80P.1 для 'kernel-modules-kvm-4.4.77-std-def-alt0.M80P.1'
Выбрано kernel-modules-nvidia-std-def#375.66-alt1.263245.0.M80P.1 для 'kernel-modules-nvidia-4.4.77-std-def-alt0.M80P.1'
Выбрано kernel-modules-tp_smapi-std-def#0.41-alt3.263245.0.M80P.1 для 'kernel-modules-tp_smapi-4.4.77-std-def-alt0.M80P.1'
Выбрано kernel-modules-v4l-std-def#1:4.4.77-alt0.M80P.1 для 'kernel-modules-v4l-4.4.77-std-def-alt0.M80P.1'
Выбрано kernel-modules-virtualbox-std-def#5.1.24-alt1.263245.0.M80P.1 для 'kernel-modules-virtualbox-4.4.77-std-def-alt0.M80P.1'
Следующие НОВЫЕ пакеты будут установлены:
  kernel-image-std-def#1:4.4.77-alt0.M80P.1 kernel-modules-bcmwl-std-def#6.30.223.248-alt10.263245.0.M80P.1 kernel-modules-drm-nouveau-std-def#1:4.4.77-alt0.M80P.1
  kernel-modules-drm-radeon-std-def#1:4.4.77-alt0.M80P.1 kernel-modules-drm-std-def#1:4.4.77-alt0.M80P.1 kernel-modules-kvm-std-def#1:4.4.77-alt0.M80P.1
  kernel-modules-nvidia-std-def#375.66-alt1.263245.0.M80P.1 kernel-modules-tp_smapi-std-def#0.41-alt3.263245.0.M80P.1 kernel-modules-v4l-std-def#1:4.4.77-alt0.M80P.1
  kernel-modules-virtualbox-std-def#5.1.24-alt1.263245.0.M80P.1
0 будет обновлено, 10 новых установлено, 0 пакетов будет удалено и 40 не будет обновлено.
Необходимо получить 0B/55,2MB архивов.
После распаковки потребуется дополнительно 226MB дискового пространства.
[master 4e5c580] saving uncommitted changes in /etc prior to apt run
 Author: Vitaly Lipatov <lav@etersoft.ru>
 2 files changed, 6 insertions(+), 6 deletions(-)
Совершаем изменения...
Preparing...                                                                                            ################################################################################################### [100%]
 1: kernel-image-std-def                                                                                ################################################################################################### [ 10%]
 2: kernel-modules-drm-std-def                                                                          ################################################################################################### [ 20%]
 3: kernel-modules-bcmwl-std-def                                                                        ################################################################################################### [ 30%]
 4: kernel-modules-drm-nouveau-std-def                                                                  ################################################################################################### [ 40%]
 5: kernel-modules-drm-radeon-std-def                                                                   ################################################################################################### [ 50%]
 6: kernel-modules-kvm-std-def                                                                          ################################################################################################### [ 60%]
 7: kernel-modules-nvidia-std-def                                                                       ################################################################################################### [ 70%]
 8: kernel-modules-tp_smapi-std-def                                                                     ################################################################################################### [ 80%]
 9: kernel-modules-v4l-std-def                                                                          ################################################################################################### [ 90%]
10: kernel-modules-virtualbox-std-def                                                                   ################################################################################################### [100%]
Running /usr/lib/rpm/posttrans-filetriggers
Config file: /etc/initrd.mk
Generating module dependencies on host ...
Creating initrd image ...
Adding modules ...
Adding rescue modules ...
Adding module dependencies ...
Generating module dependencies in image ...
Adding RAID support ...
Adding syslog support ...
Packed modules: ahci crc16 evdev ext4 hid hid-generic input-leds jbd2 libahci libata mbcache raid1 scsi_mod sd_mod serio_raw 
Packing image to archive ...
Compressing image ...
Installing image ...
Removing work directory ...

Image is saved as /boot/initrd-4.4.77-std-def-alt0.M80P.1.img

Added ALTLinux  +  *
Added failsafe  +
...

Завершено.
[master d12c99a] committing changes in /etc after apt run
 Author: Vitaly Lipatov <lav@etersoft.ru>
 1 file changed, 6 insertions(+)
ldconfig: /usr/lib64/libnssckbi.so не является символьной ссылкой

update-kernel: kernel-headers-modules is installed, trying to update...
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие пакеты будут ОБНОВЛЕНЫ:
  kernel-headers-modules-std-def
1 будет обновлено, 0 новых установлено, 0 пакетов будет удалено и 39 не будет обновлено.
Необходимо получить 0B/6750kB архивов.
После распаковки потребуется дополнительно 2858B дискового пространства.
Совершаем изменения...  


 $ rpm -q update-kernel
update-kernel-0.9.9-alt1
Comment 12 Vitaly Lipatov 2017-08-02 16:10:08 MSK
Если кто-то скажет, как устроить автовыбор, я добавлю.

команда, воспроизводящая установку пакета, у которого есть много вариантов:
# apt-get install gcc
Виртуальный пакет gcc предоставляется следующими пакетами:
  gcc5 5.3.1-alt3 [Установлено]
  gcc4.7 4.7.2-alt10 [Установлено]
  gcc4.9 4.9.2-alt5 [Установлено]
  gcc4.8 4.8.2-alt5
  gcc4.6 4.6.3-alt11
  gcc4.5 4.5.4-alt4
  gcc4.4 4.4.7-alt4
  gcc4.3 4.3.2-alt20
  gcc4.1 4.1.2-alt12
  gcc3.4 3.4.5-alt16
Необходимо точно указать, какой из пакетов должен быть установлен.
Comment 13 Andrey Cherepanov 2017-08-02 17:13:43 MSK
(В ответ на комментарий №12)
> Необходимо точно указать, какой из пакетов должен быть установлен.
Тот, у которого релиз соответствует ядру, на которое осуществляется обновление.
Comment 14 Sergey V Turchin 2017-08-02 18:13:42 MSK
(В ответ на комментарий №12)
> Если кто-то скажет, как устроить автовыбор, я добавлю.
apt-get -o APT::Install::VirtualVersion=true -o APT::Install::Virtual=true install gcc
Comment 15 Vitaly Lipatov 2017-08-03 00:34:25 MSK
(В ответ на комментарий №13)
> (В ответ на комментарий №12)
> > Необходимо точно указать, какой из пакетов должен быть установлен.
> Тот, у которого релиз соответствует ядру, на которое осуществляется обновление.

В том и проблема, что их два:
Package kernel-modules-nvidia-2.6.30-std-def-alt15 is a virtual package
provided by:
  kernel-modules-nvidia-std-def#190.42-alt1.132638.15 190.42-alt1.132638.15
[Installed]
  kernel-modules-nvidia-std-def#190.53-alt1.132638.15 190.53-alt1.132638.15


У пакетов вообще релиз к ядру не имеет отношения. Но они провайдят kernel-modules-nvidia для соответствующего ядра. Оба сразу.


> apt-get -o APT::Install::VirtualVersion=true -o APT::Install::Virtual=true
install gcc
Спасибо, это оно! Добавляю?
Comment 16 Sergey V Turchin 2017-08-03 11:19:19 MSK
(В ответ на комментарий №15)
> Добавляю?
Давно пора.
Comment 17 Michael Shigorin 2017-08-03 12:53:45 MSK
(В ответ на комментарий №14)
> apt-get -o APT::Install::VirtualVersion=true -o APT::Install::Virtual=true
> install gcc
На будущее добавил в http://altlinux.org/Apt/Tips
Comment 18 Repository Robot 2017-08-04 15:25:24 MSK
update-kernel-0.9.10-alt1 -> sisyphus:

Fri Aug 04 2017 Vitaly Lipatov <lav@altlinux.ru> 0.9.10-alt1
- force select newest kernel module package (ALT bug 22572)