# apt-cache pkgnames kernel-image-un-def kernel-image-un-def-debuginfo#1:5.15.28-alt2:p10+296646.140.3.1@1647363290 kernel-image-un-def#1:5.15.28-alt2:p10+296646.140.3.1@1647363290 kernel-image-un-def kernel-image-un-def#1:5.15.28-alt2:p10+296589.100.1.1@1647177359 kernel-image-un-def-checkinstall#1:5.15.28-alt2:p10+296646.140.3.1@1647363290 kernel-image-un-def-checkinstall kernel-image-un-def-debuginfo kernel-image-un-def#1:5.15.25-alt1:p10+295937.40.2.1@1645829159 # update-kernel -t un-def Ожидаемый результат: устанавливается ядро kernel-image-un-def#1:5.15.28-alt2:p10+296646.140.3.1@1647363290 (и модули к нему). Наблюдаемый результат: Running kernel version: kernel-image-un-def-1:5.15.28-alt2 Checking for available un-def kernel packages... Latest kernel un-def-1:5.15.28-alt2:p10+296589.100.1.1@1647177359 is already installed on your system. No upgrade is needed. Use -f for force. Если сделать, как советуют, и указать ключ -f, ничего не изменяется: Running kernel version: kernel-image-un-def-1:5.15.28-alt2 Checking for available un-def kernel packages... Try to install new kernel kernel-image-un-def-1:5.15.28-alt2:p10+296589.100.1.1@1647177359 and update its modules [y]/n? yes update-kernel: kernel-modules-drm is installed, trying to update... Чтение списков пакетов... Завершено Построение дерева зависимостей... Завершено Последняя версия kernel-image-un-def#1:5.15.28-alt2:p10+296589.100.1.1@1647177359 уже установлена. Последняя версия kernel-modules-drm-un-def#1:5.15.28-alt2:p10+296589.100.1.1@1647177359 уже установлена. 0 будет обновлено, 0 новых установлено, 0 пакетов будет удалено и 35 не будет обновлено.
update-kernel пытается понять, какая из доступных версий ядра самая свежая [1] И спотыкается на неожиданном поведении rpmevrcmp + kmaxver= ++ echo 'kernel-image-un-def#1:5.15.25-alt1:p10+295937.40.2.1@1645829159 kernel-image-un-def#1:5.15.28-alt2:p10+296589.100.1.1@1647177359 kernel-image-un-def#1:5.15.28-alt2:p10+296646.140.3.1@1647363290' ++ grep kernel-image-un-def# ++ sed -e 's,^kernel-image-un-def#,,g' + read version ++ rpmevrcmp '' 1:5.15.25-alt1:p10+295937.40.2.1@1645829159 + comparever=-1 + '[' -1 -lt 0 ']' + kmaxver=1:5.15.25-alt1:p10+295937.40.2.1@1645829159 + read version ++ rpmevrcmp 1:5.15.25-alt1:p10+295937.40.2.1@1645829159 1:5.15.28-alt2:p10+296589.100.1.1@1647177359 + comparever=-1 + '[' -1 -lt 0 ']' + kmaxver=1:5.15.28-alt2:p10+296589.100.1.1@1647177359 + read version ++ rpmevrcmp 1:5.15.28-alt2:p10+296589.100.1.1@1647177359 1:5.15.28-alt2:p10+296646.140.3.1@1647363290 + comparever=0 + '[' 0 -lt 0 ']' + : rpmevrcmp 1:5.15.28-alt2:p10+296589.100.1.1@1647177359 1:5.15.28-alt2:p10+296646.140.3.1@1647363290 0 Что очевидно неверно. [1] http://git.altlinux.org/gears/u/update-kernel.git?p=update-kernel.git;a=blob;f=update_kernel_modules_cetus.sh;h=6912ba4249dceecd0d03ce571b6555c69b64bd8c;hb=c447c1c21f6e2f6addda222e6941899b5483af01#l244
так давайте и смотреть что там не так с rpmvercmp. насколько я знаю, disttag им игнорируется.
$ rpmevrcmp 1-1:3 1-1:4 0
(In reply to Anton Farygin from comment #2) > так давайте и смотреть что там не так с rpmvercmp. > насколько я знаю, disttag им игнорируется. И правда. У нас сейчас нет инструмента, который позволил бы из шела сравнивать весь EVRDT.
update-kernel-0.9.21-alt1 -> sisyphus: Mon Apr 04 2022 Vitaly Chikunov <vt@altlinux> 0.9.21-alt1 - Tools cannot be used under user anymore because sudo sub-invocation is removed (call them under root instead). - Require explicit yes or enter to start installation (previously any key work work except no). - Improve package version comparison (ALT#42149). - Do not show epoch and disttag in package names. - Warn user if installed package (1 month) or APT database (1 day) are stalled. - Do not require install of 'apt-scripts' for package availability mark in list mode. - Show package age in list mode.