После обновления ядра при помощи alterator-update-kernel не создается initrd образ: Совершаем изменения... Подготовка... ################################# [100%] Обновление / установка... 1: kernel-image-std-def-2:5.10.53-alt0.c9f ################################# [ 11%] 2: kernel-modules-drm-std-def-2:5.10.53-alt0.c9f ################################# [ 22%] 3: kernel-modules-drm-nouveau-std-def-2:5.10.53-alt0.c9f ################################# [ 33%] 4: kernel-modules-dm-secdel-std-def-2:1.0.7-alt2.330293.0.c9f ################################# [ 44%] 5: kernel-modules-drm-ancient-std-def-2:5.10.53-alt0.c9f ################################# [ 56%] 6: kernel-modules-ipset-std-def-7.5-alt1.330293.0.c9f ################################# [ 67%] 7: kernel-modules-ipt-so-std-def-1.0-alt6.330293.0.c9f ################################# [ 78%] 8: kernel-modules-ndpi-std-def-3.2-alt1.330293.0.c9f ################################# [ 89%] 9: kernel-modules-tripso-std-def-1.1-alt1.330293.0.c9f ################################# [100%] make-initrd: /tmp: Unable to check executable bit make-initrd: Perhaps 'noexec' mount option used? Генерируется файл настройки grub … Если обновлять ядро с помощью скрипта update-kernel, то образ initrd генерируется. Условия воспроизведения: [root@c9f1-20201202-desktop-01-x86-64 ~]# cat /etc/fstab proc /proc proc nosuid,noexec,gid=proc 0 0 devpts /dev/pts devpts nosuid,noexec,gid=tty,mode=620 0 0 tmpfs /tmp tmpfs noexec,nosuid 0 0 UUID=55f8a03b-18f0-4dc1-8d89-0063db20f226 / ext4 relatime 11 UUID=34331fca-d0b1-479f-94f8-83ff196418fe /home ext4 noexec,nosuid,relatime 1 2 /dev/sr0 /media/ALTLinux udf,iso9660 ro,noauto,user,utf8,nofail,comment=x-gvfs-show 0 0 tmpfs /tmp/.private/root tmpfs defaults 0 0 mirror.ipa.basealt.ru:/ftppool/private /mnt/repo/ nfs ro,nolock,x-systemd.automount 1 0 [root~]#env LANG=ru_RU.UTF-8 LESS=-MM DISPLAY=:0 HOSTNAME=test USERNAME=root JAVA_HOME=/usr/lib/jvm/jre LESS_TERMCAP_so= LESS_TERMCAP_se= USER=root ENV=/root/.bashrc INPUTRC=/etc/inputrc PWD=/usr/lib/alterator/backend3 SSH_ASKPASS=/usr/lib/openssh/ssh-askpass HOME=/root TMP=/tmp/.private/root LESS_TERMCAP_mb= LESS_TERMCAP_md= LESS_TERMCAP_me= TMPDIR=/tmp/.private/root SYSTEMD_PAGER=/usr/bin/less -FR MAIL=/var/mail/root LESSKEY=/etc/.less SHELL=/bin/bash TERM=xterm-256color SHLVL=1 G_FILENAME_ENCODING=utf8 LOGNAME=root XAUTHORITY=/root/.xauthQOmP28 LESS_TERMCAP_ue= LESS_TERMCAP_us= PATH=/root/bin:/sbin:/usr/sbin:/usr/local/sbin:/bin:/usr/bin:/usr/local/bin G_BROKEN_FILENAMES=1 HISTSIZE=999 HISTFILESIZE=9999 LESSOPEN=|/usr/share/less/lesspipe.sh %s _=/usr/bin/env OLDPWD=/root Переменные окружения из скрипта (backend'а alterator): PATH=/sbin:/usr/sbin:/usr/local/sbin:/bin:/usr/bin:/usr/local/bin ALTERATOR_DATADIR=/usr/share/alterator LISTEN_FDS=1 LANG=ru_RU.UTF-8 INVOCATION_ID=184c1a33b9d04ef1ba3e645c15a73aa4 LISTEN_PID=5965 PWD=/ JOURNAL_STREAM=9:114764 ALTERATOR_LIBDIR=/usr/lib/alterator SHLVL=1 LISTEN_FDNAMES=alteratord.socket _=/usr/bin/env Во втором случае отсутствуют TMP=/tmp/.private/root и TMPDIR=/tmp/.private/root Обсуждение похожего бага на форуме:https://forum.altlinux.org/index.php?topic=38262.0
Проблема, очевидно, в том, что у настоящего root $TMP ведёт в /tmp/.private/root , а у альтератора -- в /tmp Вообще говоря, альтератор может решать эту проблему, смонтировав собственную tmpfs под свои нужны, недоступную для простых пользователей. Это можно сделать и в альтераторе глобально (при старте создавать такую tmpfs и экспортировать $TMP для бэкжндов), так и локально в пострадавшем модуле: смонтировать tmpfs перед операцией экспортировать путь к ней в переменную, выполнить операцию, отмонтировать tmpfs
alterator-update-kernel-1.4-alt4 -> sisyphus: Fri Aug 27 2021 Ivan Savin <svn17@altlinux> 1.4-alt4 - Add the creation of tmpfs for make-initrd (env TMPDIR) when installing the kernel. (Closes: 40650)