From 10ad195a9bdc750bccfcf3408868af36fa922b65 Mon Sep 17 00:00:00 2001 From: asmeron Date: Thu, 9 Oct 2025 01:37:43 +0600 Subject: [PATCH] Add DOMAIN[ou] and fix /rc.halt.pre/71-kernel --- ublinux/rc.halt.pre/71-kernel | 18 ++++++++++++------ ublinux/templates/ublinux-data.ini | 7 ++++++- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/ublinux/rc.halt.pre/71-kernel b/ublinux/rc.halt.pre/71-kernel index c051907..feb47ff 100755 --- a/ublinux/rc.halt.pre/71-kernel +++ b/ublinux/rc.halt.pre/71-kernel @@ -11,18 +11,24 @@ PATH_BOOT="/memory/layer-base/0" PATH_KERNEL="/usr/lib/modules" copy_newkernel_to_boot(){ -# Найти все файлы ядра и initramfs и которые отсутствуют +# Найти все файлы ядра и initramfs. Еслии новее по дате модификации в системе, то заменить загрузочные mountpoint --quiet "${PATH_BOOT}" || return 0 find ${PATH_KERNEL} -maxdepth 2 -name "vmlinuz-*.*.*-*" -print | while read FIND_FILE; do - [[ $(stat -c%s $(readlink -e ${FIND_FILE} 2>/dev/null)) != $(stat -c%s ${PATH_BOOT}/${FIND_FILE##*/} 2>/dev/null) ]] \ + local DTIME_FIND_FILE=$(stat -c'%Y' $(readlink -e ${FIND_FILE} 2>/dev/null)) + [[ -e ${PATH_BOOT}/${FIND_FILE##*/} ]] && local DTIME_BOOT_FILE=$(stat -c'%Y' ${PATH_BOOT}/${FIND_FILE##*/} 2>/dev/null) || local DTIME_BOOT_FILE= + [[ ${DTIME_FIND_FILE} =~ ^[0-9]+$ && ${DTIME_BOOT_FILE} =~ ^[0-9]+$ ]] && [[ ${DTIME_FIND_FILE} -gt ${DTIME_BOOT_FILE} ]] \ && install -CDm400 -o root -g root $(readlink -e ${FIND_FILE}) ${PATH_BOOT}/${FIND_FILE##*/} done find ${PATH_KERNEL} -maxdepth 2 -name "ublinux-*.*.*-*" -print | while read FIND_FILE; do - [[ $(stat -c%s $(readlink -e ${FIND_FILE} 2>/dev/null)) != $(stat -c%s ${PATH_BOOT}/${FIND_FILE##*/} 2>/dev/null) ]] \ + local DTIME_FIND_FILE=$(stat -c'%Y' $(readlink -e ${FIND_FILE} 2>/dev/null)) + [[ -e ${PATH_BOOT}/${FIND_FILE##*/} ]] && local DTIME_BOOT_FILE=$(stat -c'%Y' ${PATH_BOOT}/${FIND_FILE##*/} 2>/dev/null) || local DTIME_BOOT_FILE= + [[ ${DTIME_FIND_FILE} =~ ^[0-9]+$ && ${DTIME_BOOT_FILE} =~ ^[0-9]+$ ]] && [[ ${DTIME_FIND_FILE} -gt ${DTIME_BOOT_FILE} ]] \ && install -CDm400 -o root -g root $(readlink -e ${FIND_FILE}) ${PATH_BOOT}/${FIND_FILE##*/} done find ${PATH_KERNEL} -maxdepth 2 -name "addon-*.*.*-*" -print | while read FIND_FILE; do - [[ $(stat -c%s $(readlink -e ${FIND_FILE} 2>/dev/null)) != $(stat -c%s ${PATH_BOOT}/${FIND_FILE##*/} 2>/dev/null) ]] \ + local DTIME_FIND_FILE=$(stat -c'%Y' $(readlink -e ${FIND_FILE} 2>/dev/null)) + [[ -e ${PATH_BOOT}/${FIND_FILE##*/} ]] && local DTIME_BOOT_FILE=$(stat -c'%Y' ${PATH_BOOT}/${FIND_FILE##*/} 2>/dev/null) || local DTIME_BOOT_FILE= + [[ ${DTIME_FIND_FILE} =~ ^[0-9]+$ && ${DTIME_BOOT_FILE} =~ ^[0-9]+$ ]] && [[ ${DTIME_FIND_FILE} -gt ${DTIME_BOOT_FILE} ]] \ && install -CDm400 -o root -g root $(readlink -e ${FIND_FILE}) ${PATH_BOOT}/${FIND_FILE##*/} done } @@ -30,8 +36,8 @@ copy_newkernel_to_boot(){ remove_oldkernel_from_boot(){ # Найти все файлы ядра "vmlinuz-*.*.*-*" и initramfs "ublinux-*.*.*-*" в ${PATH_BOOT}/boot и которые отсутствуют в /usr/modules/*/ удалить mountpoint --quiet "${PATH_BOOT}" || return 0 - find ${PATH_BOOT} -maxdepth 1 -name "vmlinuz-*.*.*-*" -exec bash -c "find ${PATH_KERNEL} -maxdepth 2 -name \${1##*/} -exec false \{\} + && echo rm -f \$1" bash {} \; - find ${PATH_BOOT} -maxdepth 1 -name "ublinux-*.*.*-*" -exec bash -c "find ${PATH_KERNEL} -maxdepth 2 -name \${1##*/} -exec false \{\} + && echo rm -f \$1" bash {} \; + find ${PATH_BOOT} -maxdepth 1 -name "vmlinuz-*.*.*-*" -exec bash -c "find ${PATH_KERNEL} -maxdepth 2 -name \${1##*/} -exec false \{\} + && rm -f \$1" bash {} \; + find ${PATH_BOOT} -maxdepth 1 -name "ublinux-*.*.*-*" -exec bash -c "find ${PATH_KERNEL} -maxdepth 2 -name \${1##*/} -exec false \{\} + && rm -f \$1" bash {} \; } exec_prepare_menu_kernel(){ diff --git a/ublinux/templates/ublinux-data.ini b/ublinux/templates/ublinux-data.ini index e4a9616..03b785a 100644 --- a/ublinux/templates/ublinux-data.ini +++ b/ublinux/templates/ublinux-data.ini @@ -1030,6 +1030,11 @@ VERSION= ## # Клиент, допустимые значение: *realmd_sssd,realmd_winbind,samba,none ## DOMAIN[client]=realmd_sssd +## Имя Organizational Unit (OU), в котором мы хотим создать учётную запись компьютера в домене. Если учётная запись уже существует, то она будет обновлена +## DOMAIN[ou]= +## # Дерево юнита, пример: ubhosts\units +## DOMAIN[ou]='ubhosts\units' + ## Клиент для подключения к домену [ *realmd_sssd|realmd_winbind|samba|none ] ## DOMAIN[dns]= ## # IP адрес сервера DNS, который имеет информацию о домене. При наличии нескольких DNS или разных DNS в сети. @@ -1960,7 +1965,7 @@ VERSION= ## none # Не создавать BIOS/EFI разделы ## AUTOINSTALL[bios_boot]=bios+efi -## Устройство на которое будет установлена система. Если установлена опция AUTOINSTALL[device_type], то возможно пречислять через запятую (,) несколько устройств +## Устройство на которое будет установлена система. Если установлена опция AUTOINSTALL[device_typevfs], то возможно пречислять через запятую (,) несколько устройств ## AUTOINSTALL[device]=[,] ## AUTOINSTALL[device]=sda ## AUTOINSTALL[device]=sda,sdb,sdc,sde