From c82e69eba9e9d540bd6bc4dbb82cbcb36ace8475 Mon Sep 17 00:00:00 2001 From: asmeron Date: Sat, 4 Jan 2025 19:59:58 +0600 Subject: [PATCH] Fix domain and account group --- EULA.txt | 8 +-- EULA_DB.txt | 2 +- LICENSE | 2 +- ublinux/default | 8 ++- ublinux/functions | 11 +-- ublinux/rc.d/rc.desktop | 34 +++++----- ublinux/rc.d/rc.halt | 14 ++-- ublinux/rc.d/rc.halt.pre | 14 ++-- ublinux/rc.d/rc.local | 22 +++--- ublinux/rc.d/rc.network | 10 ++- ublinux/rc.d/rc.pamaccount | 6 +- ublinux/rc.d/rc.pamauth | 6 +- ublinux/rc.d/rc.pampassword | 6 +- ublinux/rc.d/rc.pamsession | 6 +- ublinux/rc.d/rc.post | 42 ++++++------ ublinux/rc.d/rc.preinit | 30 +++++---- ublinux/rc.d/rc.xorg | 10 ++- ublinux/rc.d/readme.txt | 3 + ublinux/rc.desktop/readme.txt | 3 + ublinux/rc.domain.d/30-usershwaccess | 20 +++--- ublinux/rc.domain.d/readme.txt | 3 + ublinux/rc.domain/readme.txt | 3 + ublinux/rc.halt.pre/01-sysrq-sleepshutdown | 4 ++ ublinux/rc.halt.pre/10-shutdown | 6 +- ublinux/rc.halt.pre/15-cleanup | 6 +- ublinux/rc.halt.pre/20-grub | 4 ++ ublinux/rc.halt.pre/25-accounts-sync | 4 ++ ublinux/rc.halt.pre/70-upgrade | 12 ++-- ublinux/rc.halt.pre/71-kernel | 4 ++ ublinux/rc.halt.pre/75-chmod | 4 ++ ublinux/rc.halt.pre/80-savetomodule | 6 +- ublinux/rc.halt.pre/85-save-cache | 4 ++ ublinux/rc.halt.pre/86-save-rootcopy | 31 +++++---- ublinux/rc.halt.pre/90-deactivate | 6 +- ublinux/rc.halt.pre/95-umount | 4 ++ ublinux/rc.halt.pre/readme.txt | 3 + ublinux/rc.halt/20-timesave | 8 ++- ublinux/rc.halt/99-sync | 7 +- ublinux/rc.halt/readme.txt | 3 + ublinux/rc.local.d/98-ubpile | 20 +++--- ublinux/rc.local.d/readme.txt | 3 + ublinux/rc.network.d/10-network | 4 ++ ublinux/rc.network.d/81-samba | 6 +- ublinux/rc.network.d/90-ublinuxupdate | 8 ++- ublinux/rc.network.d/readme.txt | 3 + ublinux/rc.pamaccount.d/readme.txt | 3 + ublinux/rc.pamauth.d/readme.txt | 3 + ublinux/rc.pampassword.d/readme.txt | 3 + ublinux/rc.pamsession.d/01-placeondesktop | 4 ++ ublinux/rc.pamsession.d/readme.txt | 3 + ublinux/rc.post.d/readme.txt | 3 + ublinux/rc.post/01-system | 6 +- ublinux/rc.post/10-ldconfig | 6 +- ublinux/rc.post/20-plymouth | 6 +- ublinux/rc.post/30-selinux | 6 +- ublinux/rc.post/readme.txt | 3 + ublinux/rc.preinit.d/01-depmod | 9 ++- ublinux/rc.preinit.d/02-modulespreload | 7 +- ublinux/rc.preinit.d/03-ldconfig | 12 +++- ublinux/rc.preinit.d/04-update-fonts | 14 +++- ublinux/rc.preinit.d/10-system | 13 ++-- ublinux/rc.preinit.d/11-partitions | 19 ++++-- ublinux/rc.preinit.d/12-save2module | 15 ++++- ublinux/rc.preinit.d/13-release | 14 ++-- ublinux/rc.preinit.d/20-services | 21 +++--- ublinux/rc.preinit.d/21-ntp | 11 +-- ublinux/rc.preinit.d/22-samba | 9 ++- ublinux/rc.preinit.d/23-realmd | 21 +++--- ublinux/rc.preinit.d/24-logging | 7 +- ublinux/rc.preinit.d/30-network-hostname | 8 ++- ublinux/rc.preinit.d/31-network-proxy-system | 9 ++- ublinux/rc.preinit.d/32-network | 7 +- ublinux/rc.preinit.d/35-iptables | 21 ++++-- ublinux/rc.preinit.d/36-ufw | 22 ++++-- ublinux/rc.preinit.d/40-authpam | 11 +-- ublinux/rc.preinit.d/50-xorg | 9 ++- ublinux/rc.preinit.d/50-xorg-old | 7 +- ublinux/rc.preinit.d/51-autologin | 7 +- ublinux/rc.preinit.d/52-desktop | 9 ++- ublinux/rc.preinit.d/53-language | 9 ++- ublinux/rc.preinit.d/54-backgrounds | 11 +-- ublinux/rc.preinit.d/55-multiseat | 9 ++- ublinux/rc.preinit.d/56-openssl-engine | 10 +-- ublinux/rc.preinit.d/57-access-denied-vtx11 | 9 ++- ublinux/rc.preinit.d/58-access-login | 15 +++-- ublinux/rc.preinit.d/59-polkit | 15 +++-- ublinux/rc.preinit.d/60-lightdm-settings | 13 ++-- ublinux/rc.preinit.d/63-xorg-dpi | 11 +-- ublinux/rc.preinit.d/64-swapspace | 11 +-- ublinux/rc.preinit.d/65-kesl | 7 +- ublinux/rc.preinit.d/70-virtualbox | 9 ++- ublinux/rc.preinit.d/71-vmware | 9 ++- ublinux/rc.preinit.d/72-hyperv | 9 ++- ublinux/rc.preinit.d/73-qemu | 9 ++- .../rc.preinit.d/80-server-containers-storage | 13 ++-- .../rc.preinit.d/81-server-libvirt-storage | 7 +- ublinux/rc.preinit.d/90-apparmor | 7 +- ublinux/rc.preinit.d/99-osinstall | 13 ++-- ublinux/rc.preinit.d/readme.txt | 6 ++ ublinux/rc.preinit/01-inifile | 7 +- ublinux/rc.preinit/02-skel-adds | 5 +- ublinux/rc.preinit/03-initvars | 5 +- ublinux/rc.preinit/05-save-clean | 8 +++ ublinux/rc.preinit/06-statemode | 8 +++ ublinux/rc.preinit/07-remounthome | 8 +++ ublinux/rc.preinit/08-install-pkg | 37 ---------- ublinux/rc.preinit/10-accounts | 9 +-- ublinux/rc.preinit/readme.txt | 6 ++ ublinux/rc.runonce/readme.txt | 3 + ublinux/rc.xorg/00-envvars | 6 +- ublinux/rc.xorg/01-de-background | 4 ++ ublinux/rc.xorg/02-xrandr | 8 ++- ublinux/rc.xorg/10-fixkeyboard_layout | 4 ++ ublinux/rc.xorg/20-video-xorg-dpi | 4 ++ ublinux/rc.xorg/50-domain_join | 6 +- ublinux/rc.xorg/60-checknet | 6 +- ublinux/rc.xorg/90-secretnet | 6 +- ublinux/rc.xorg/readme.txt | 3 + .../ublinux/ublinux-00-install.sh | 6 +- ublinux/systemd/printers-setup@.service | 11 +++ ublinux/systemd/ublinux-postinit.service | 11 +++ ublinux/systemd/ublinux-pre-shutdown.service | 11 +++ ublinux/systemd/ublinux-rc-local.service | 8 ++- ublinux/systemd/ublinux-rc-network.service | 8 ++- ublinux/systemd/ublinux-shutdown.service | 4 ++ ublinux/templates/ublinux-data.ini | 67 ++++++++++--------- ublinux/templates/ublinux.ini | 4 +- ublinux/udev/70-nvidia-ubconfig.rules | 5 ++ ublinux/udev/70-setup-prn-ubconfig.rules | 5 ++ ublinux/udev/99-hide-partition-ubconfig.rules | 5 ++ ublinux/udev/99-printers-local-ubconfig.rules | 5 ++ 131 files changed, 856 insertions(+), 390 deletions(-) delete mode 100755 ublinux/rc.preinit/08-install-pkg diff --git a/EULA.txt b/EULA.txt index 5994bbf..dce67b3 100644 --- a/EULA.txt +++ b/EULA.txt @@ -1,3 +1,6 @@ +Последняя дата обновления — 01 сентября 2019 г. +Полностью заменяет предыдущую версию. + ЛИЦЕНЗИОННОЕ СОГЛАШЕНИЕ ДЛЯ КОНЕЧНОГО ПОЛЬЗОВАТЕЛЯ ПО ИСПОЛЬЗОВАНИЮ ОПЕРАЦИОННЫХ СИСТЕМ @@ -6,9 +9,6 @@ «UBLINUX SERVER» «UBLINUX ADARA DESKTOP ENTERPRISE» «UBLINUX ADARA SERVER» -«UBLINUX DESKTOP ENTERPRISE SIBSUTIS» -«UBLINUX EDUCATION SIBSUTIS» -«UBLINUX SERVER SIBSUTIS» ВНИМАНИЕ! Прочтите внимательно нижеизложенное Лицензионное соглашение, прежде чем устанавливать, копировать или иным образом использовать приобретенный Программный продукт. Любое использование приобретенного Программного продукта, в том числе его установка и копирование, означает согласие с условиями приведенного ниже Лицензионного соглашения. @@ -40,7 +40,7 @@ 5.2. Правовой титул и все права на объекты интеллектуальной собственности, которые не являются разработкой ПРАВООБЛАДАТЕЛЯ, но входят в состав ПРОГРАММНОГО ПРОДУКТА, включая (но не ограничиваясь только этим) любые входящие в его состав элементы мультимедиа, текст и программы, и доступ к которым предоставляет ПРОГРАММНЫЙ ПРОДУКТ, принадлежат владельцам прав на такие элементы и защищены международными соглашениями и законодательством Российской Федерации о защите интеллектуальной собственности. Настоящее СОГЛАШЕНИЕ не предоставляет ПОЛЬЗОВАТЕЛЮ никаких прав на использование такого содержания ПРОГРАММНОГО ПРОДУКТА. Права на такое содержание ПРОГРАММНОГО ПРОДУКТА определяются отдельными лицензионными соглашениями правообладателей данных объектов интеллектуальной собственности. 5.3. За нарушение авторских прав ПРАВООБЛАДАТЕЛЯ на ПРОГРАММНЫЙ ПРОДУКТ ПОЛЬЗОВАТЕЛЬ несет гражданскую, административную или уголовную ответственность в соответствии с действующим законодательством Российской Федерации. 6. ГАРАНТИИ -6.1. ПРАВООБЛАДАТЕЛЬ гарантирует, что: +6.1. ПРАВООБЛАДАТЕЛЬ гарантирует, что: 6.1.1. ПРОГРАММНЫЙ ПРОДУКТ содержится в полном объеме, соответствующем описанию, представленному в печатных материалах или электронной документации, которые входят в состав ПРОГРАММНОГО ПРОДУКТА. 6.1.2. Функции, которые выполняет ПРОГРАММНЫЙ ПРОДУКТ, соответствуют функциям, указанным в печатных и электронных материалах и (или) документации к ПРОГРАММНОМУ ПРОДУКТУ, либо превосходят их. 6.2. Настоящая гарантия недействительна, если сбой в работе ПРОГРАММНОГО ПРОДУКТА возник в результате неосторожности, неправильного обращения или применения, а также в случаях, перечисленных в 3.4. настоящего СОГЛАШЕНИЯ. diff --git a/EULA_DB.txt b/EULA_DB.txt index 0a98ed1..68ae219 100644 --- a/EULA_DB.txt +++ b/EULA_DB.txt @@ -24,7 +24,7 @@ 1.4. ПРОГРАММНЫЙ ПРОДУКТ является сложным объектом и содержит компоненты как собственной разработки ПРАВООБЛАДАТЕЛЯ, так и сторонних авторов. 1.5. При нарушении ПОЛЬЗОВАТЕЛЕМ положений данного СОГЛАШЕНИЯ ПРАВООБЛАДАТЕЛЬ имеет право отменить его действие. В этом случае ПОЛЬЗОВАТЕЛЬ обязан прекратить использование ПРОГРАММНОГО ПРОДУКТА и уничтожить все его копии, находящиеся в распоряжении ПОЛЬЗОВАТЕЛЯ. -1.6. Все условия, оговоренные далее, относятся как к ПРОГРАММНОМУ ПРОДУКТУ в целом, так и ко всем его компонентам в отдельности. +1.6. Все условия, оговоренные далее, относятся как к ПРОГРАММНОМУ ПРОДУКТУ в целом, так и ко всем его компонентам в отдельности. 2. НЕИСКЛЮЧИТЕЛЬНОЕ ПРАВО, ПРЕДОСТАВЛЯЕМОЕ ПОЛЬЗОВАТЕЛЮ 2.1. Настоящее СОГЛАШЕНИЕ предоставляет ПОЛЬЗОВАТЕЛЮ, являющемуся юридическим лицом (любой организационно-правовой формы), органом государственной власти или индивидуальным предпринимателем право на установку и использование ПРОГРАММНОГО ПРОДУКТА на ОДНОМ компьютере и изготовление ОДНОЙ резервной копии, используемой в случае утраты или порчи diff --git a/LICENSE b/LICENSE index 43816b5..1e2aa84 100644 --- a/LICENSE +++ b/LICENSE @@ -33,7 +33,7 @@ Гарантии: - Данное программное обеспечение поставляется без каких-либо гарантий + Данное программное обеспечение поставляется без каких-либо гарантий Авторы: diff --git a/ublinux/default b/ublinux/default index e7b05a6..6b789c0 100644 --- a/ublinux/default +++ b/ublinux/default @@ -1,4 +1,9 @@ #!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# + ## ## This file contains default values for ublinux configurations ## @@ -151,7 +156,6 @@ ADMGROUPS=wheel,vboxsf,disk ADMUID=1000 ADDADM=yes HASHPASSWD=yescrypt -DM_HINT_PASSWORD= #/rc.preinit/50-xorg #NVIDIATEST="nvidia-current nvidia340 nvidia304 nvidia" @@ -241,7 +245,7 @@ AUTHPAM[minimal]="with-faillock,with-time,with-systemd-homed,with-mkhomedir-simp AUTHPAM[local]="with-faillock,with-time,with-systemd-homed,with-mkhomedir-simple,with-pamaccess" AUTHPAM[nis]="with-faillock,with-time,with-systemd-homed,with-mkhomedir-simple,with-pamaccess" AUTHPAM[winbind]="with-faillock,with-time,with-systemd-homed,with-mkhomedir-simple,with-pamaccess" -AUTHPAM[sssd]="with-faillock,with-time,with-systemd-homed,with-mkhomedir-simple,with-pamaccess,with-sudo,with-mdns4,with-mdns6,with-files-domain" +AUTHPAM[sssd]="with-faillock,with-time,with-systemd-homed,with-mkhomedir-simple,with-pamaccess,with-sudo,with-mdns4,with-mdns6" AUTHPAM=local JOURNALD[Storage]=persistent diff --git a/ublinux/functions b/ublinux/functions index 38d3e3d..2b14b85 100755 --- a/ublinux/functions +++ b/ublinux/functions @@ -1,11 +1,14 @@ #!/usr/bin/env bash +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# [[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SYSCONF="${ROOTFS}${SYSCONF}" -export TEXTDOMAINDIR=/usr/share/locale -export TEXTDOMAIN=ublinux_functions +export TEXTDOMAINDIR="${ROOTFS}/usr/share/locale" +export TEXTDOMAIN="ublinux_functions" ere_quote_grep() { # Что экранировать @@ -561,7 +564,7 @@ group_add(){ } local PARAM="$@" # Получаем из аргумента значения - local SELECT_GROUPNAME= SELECT_GID= SELECT_MEMBERS= SELECT_PASSWORD= SELECT_ADMINISTRATORS= NULL= + local SELECT_GROUPNAME= SELECT_GID= SELECT_MEMBERS= SELECT_PASSWORD= SELECT_ADMINISTRATORS= NULL= IFS=: read -r SELECT_GROUPNAME SELECT_GID SELECT_MEMBERS SELECT_PASSWORD SELECT_ADMINISTRATORS NULL <<< "${PARAM}" [[ ${SELECT_GROUPNAME} == "" && ${SELECT_GID} == "" ]] && { >&2 echo "ERROR: not added/changed '${SELECT_GROUPNAME}' groupname"; return 1; } # Получаем из файла значения @@ -645,7 +648,7 @@ group_add(){ while [[ ${DATA_FILE_GSHADOW} =~ ^(.*)(^|$'\n')"${SELECT_GROUPNAME}:"([^$'\n'])+($'\n'|$)(.*)$ ]]; do DATA_FILE_GSHADOW="${BASH_REMATCH[1]}${BASH_REMATCH[5]}"; done [[ ${DATA_FILE_GSHADOW} =~ ^(.*)($'\n')+$ ]] && DATA_FILE_GSHADOW="${BASH_REMATCH[1]}" - printf "%s\n%s:%s:%d:%s\n" "${DATA_FILE_GSHADOW}" "${SELECT_GROUPNAME}" "${SELECT_PLAINPASSWORD}" "${SELECT_GID}" "${SELECT_MEMBERS}" > "${FILE_GSHADOW}" + printf "%s\n%s:%s:%s:%s\n" "${DATA_FILE_GSHADOW}" "${SELECT_GROUPNAME}" "${SELECT_PASSWORD}" "${SELECT_ADMINISTRATORS}" "${SELECT_MEMBERS}" > "${FILE_GSHADOW}" #printf "%s:%s:%s:%s\n" "${SELECT_GROUPNAME}" "${SELECT_PASSWORD}" "${SELECT_ADMINISTRATORS}" "${SELECT_MEMBERS}" fi diff --git a/ublinux/rc.d/rc.desktop b/ublinux/rc.d/rc.desktop index 4c9e143..2587689 100755 --- a/ublinux/rc.d/rc.desktop +++ b/ublinux/rc.d/rc.desktop @@ -1,4 +1,8 @@ -#!/bin/bash +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 @@ -9,21 +13,21 @@ SOURCE=/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null -DE=$(detectDE) -cd $HOME + DE=$(detectDE) + cd ${HOME} -NOEXEC=$(echo " $NOEXEC " | tr ',;' ' ') + NOEXEC=$(echo " ${NOEXEC} " | tr ',;' ' ') -# We have to launch some rc scripts -for a in /usr/lib/ublinux/rc.desktop/$DE/* ;do - [ -x $a ] && $a & 2>/dev/null -done -for a in /usr/lib/ublinux/rc.desktop/all/* ;do - echo "$NOEXEC" | grep -q " $(basename $a) " && continue - echo "$NOEXEC" | grep -q " $DE:$(basename $a) " && continue - [ -x $a ] && $a & 2>/dev/null -done + # We have to launch some rc scripts + for SCRIPT in /usr/lib/ublinux/rc.desktop/${DE}/*; do + [[ -x ${SCRIPT} ]] && ${SCRIPT} & 2>/dev/null + done + for SCRIPT in /usr/lib/ublinux/rc.desktop/all/*; do + echo "${NOEXEC}" | grep -q " $(basename ${SCRIPT}) " && continue + echo "${NOEXEC}" | grep -q " $DE:$(basename ${SCRIPT}) " && continue + [[ -x ${SCRIPT} ]] && ${SCRIPT} & 2>/dev/null + done -echo 1 > /run/ublinux_started + echo 1 > /run/ublinux_started -true + true diff --git a/ublinux/rc.d/rc.halt b/ublinux/rc.d/rc.halt index 11479c9..5789dc9 100755 --- a/ublinux/rc.d/rc.halt +++ b/ublinux/rc.d/rc.halt @@ -1,10 +1,14 @@ -#!/bin/bash +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 -for a in /usr/lib/ublinux/rc.halt/* ;do - [ -x $a ] && $a 2>/dev/null -done + for SCRIPT in /usr/lib/ublinux/rc.halt/*; do + [[ -x ${SCRIPT} ]] && ${SCRIPT} 2>/dev/null + done -true + true diff --git a/ublinux/rc.d/rc.halt.pre b/ublinux/rc.d/rc.halt.pre index 455b4f1..546f168 100755 --- a/ublinux/rc.d/rc.halt.pre +++ b/ublinux/rc.d/rc.halt.pre @@ -1,10 +1,14 @@ -#!/bin/bash +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 -for a in /usr/lib/ublinux/rc.halt.pre/* ;do - [ -x $a ] && $a 2>/dev/null -done + for SCRIPT in /usr/lib/ublinux/rc.halt.pre/*; do + [[ -x ${SCRIPT} ]] && ${SCRIPT} 2>/dev/null + done -true + true diff --git a/ublinux/rc.d/rc.local b/ublinux/rc.d/rc.local index d928736..c00871d 100755 --- a/ublinux/rc.d/rc.local +++ b/ublinux/rc.d/rc.local @@ -1,4 +1,8 @@ -#!/bin/bash +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 @@ -11,13 +15,13 @@ SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null debug_mode "$0" "$@" -# We have to launch some rc scripts -for a in /usr/lib/ublinux/rc.local.d/* ;do - [ -x $a ] && $a 2>/dev/null & -done + # We have to launch some rc scripts + for SCRIPT in /usr/lib/ublinux/rc.local.d/*; do + [[ -x ${SCRIPT} ]] && ${SCRIPT} 2>/dev/null & + done -echo -ne > /run/ublinux_started -chgrp users /run/ublinux_started -chmod 664 /run/ublinux_started + echo -ne > /run/ublinux_started + chgrp users /run/ublinux_started + chmod 664 /run/ublinux_started -true + true diff --git a/ublinux/rc.d/rc.network b/ublinux/rc.d/rc.network index 9f04119..031b903 100755 --- a/ublinux/rc.d/rc.network +++ b/ublinux/rc.d/rc.network @@ -1,4 +1,8 @@ -#!/bin/bash +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 @@ -12,8 +16,8 @@ SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null debug_mode "$0" "$@" # We have to launch some rc scripts - for a in /usr/lib/ublinux/rc.network.d/* ;do - [ -x $a ] && $a 2>/dev/null & + for SCRIPT in /usr/lib/ublinux/rc.network.d/*; do + [[ -x ${SCRIPT} ]] && ${SCRIPT} 2>/dev/null & done true diff --git a/ublinux/rc.d/rc.pamaccount b/ublinux/rc.d/rc.pamaccount index caffd69..cd8b0b6 100755 --- a/ublinux/rc.d/rc.pamaccount +++ b/ublinux/rc.d/rc.pamaccount @@ -1,4 +1,8 @@ -#!/bin/bash +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 diff --git a/ublinux/rc.d/rc.pamauth b/ublinux/rc.d/rc.pamauth index 9015f94..d6c462a 100755 --- a/ublinux/rc.d/rc.pamauth +++ b/ublinux/rc.d/rc.pamauth @@ -1,4 +1,8 @@ -#!/bin/bash +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 diff --git a/ublinux/rc.d/rc.pampassword b/ublinux/rc.d/rc.pampassword index 7d039b6..e173b10 100755 --- a/ublinux/rc.d/rc.pampassword +++ b/ublinux/rc.d/rc.pampassword @@ -1,4 +1,8 @@ -#!/bin/bash +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 diff --git a/ublinux/rc.d/rc.pamsession b/ublinux/rc.d/rc.pamsession index 9f2f165..4e1dc0f 100755 --- a/ublinux/rc.d/rc.pamsession +++ b/ublinux/rc.d/rc.pamsession @@ -1,4 +1,8 @@ -#!/bin/bash +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 diff --git a/ublinux/rc.d/rc.post b/ublinux/rc.d/rc.post index 59078df..8f76d54 100755 --- a/ublinux/rc.d/rc.post +++ b/ublinux/rc.d/rc.post @@ -1,4 +1,8 @@ #!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 @@ -9,22 +13,22 @@ SOURCE=/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null debug_mode "$0" "$@" -for a in /usr/lib/ublinux/rc.post.d/* ;do - [ -x $a ] && $a 2>/dev/null & -done -for a in /usr/lib/ublinux/rc.post/* ;do - [ -x $a ] && $a 2>/dev/null -done - -# We have to launch some rc scripts from external modules -LOCKDIR=/var/lock/ublinux/rc.runonce -[ -d "$LOCKDIR" ] || mkdir -p "$LOCKDIR" -for a in /usr/lib/ublinux/rc.runonce/* ;do - [ -f "$LOCKDIR/$(basename $a)" -o ! -x "$a" ] && continue - $a start 2>/dev/null - touch "$LOCKDIR/$(basename $a)" -done - -readlink -fq /usr/bin/init 2>/dev/null | grep -q "lib/systemd/systemd$" && wait - -true + for SCRIPT in /usr/lib/ublinux/rc.post.d/* ;do + [[ -x ${SCRIPT} ]] && ${SCRIPT} 2>/dev/null & + done + for SCRIPT in /usr/lib/ublinux/rc.post/* ;do + [[ -x ${SCRIPT} ]] && ${SCRIPT} 2>/dev/null + done + + # We have to launch some rc scripts from external modules + LOCKDIR=/var/lock/ublinux/rc.runonce + [[ -d ${LOCKDIR} ]] || mkdir -p "${LOCKDIR}" + for SCRIPT in /usr/lib/ublinux/rc.runonce/*; do + [[ -f "${LOCKDIR}/$(basename ${SCRIPT})" || ! -x "${SCRIPT}" ]] && continue + ${SCRIPT} start 2>/dev/null + touch "${LOCKDIR}/$(basename ${SCRIPT})" + done + + readlink -fq /usr/bin/init 2>/dev/null | grep -q "lib/systemd/systemd$" && wait + + true diff --git a/ublinux/rc.d/rc.preinit b/ublinux/rc.d/rc.preinit index 337f994..ebca8d8 100755 --- a/ublinux/rc.d/rc.preinit +++ b/ublinux/rc.d/rc.preinit @@ -1,4 +1,8 @@ -#!/bin/bash +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 @@ -6,22 +10,22 @@ ENABLED=yes PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin DEBUGMODE=no -. /liblinuxlive 2>/dev/null || . /mnt/live/liblinuxlive +. /liblinuxlive 2>/dev/null || . /mnt/live/liblinuxlive 2>/dev/null debug_mode "$0" "$@" debug_log "starting rc.preinit" debug_shell -# install systemd services -[[ ! -h usr/lib/systemd/system/ublinux-postinit.service ]] && bash usr/lib/ublinux/rootfs-patches/ublinux/ublinux-00-install.sh + # install systemd services + [[ ! -h usr/lib/systemd/system/ublinux-postinit.service ]] && bash usr/lib/ublinux/rootfs-patches/ublinux/ublinux-00-install.sh -# We have to launch some rc scripts -for SELECT_SCRIPT in usr/lib/ublinux/rc.preinit/* ;do - [[ -x ${SELECT_SCRIPT} ]] && ${SELECT_SCRIPT} 2>/dev/null -done -for SELECT_SCRIPT in usr/lib/ublinux/rc.preinit.d/* ;do - [[ -x ${SELECT_SCRIPT} ]] && ${SELECT_SCRIPT} 2>/dev/null & -done + # We have to launch some rc scripts + for SCRIPT in usr/lib/ublinux/rc.preinit/* ;do + [[ -x ${SCRIPT} ]] && ${SCRIPT} 2>/dev/null + done + for SCRIPT in usr/lib/ublinux/rc.preinit.d/* ;do + [[ -x ${SCRIPT} ]] && ${SCRIPT} 2>/dev/null & + done -wait -true + wait + true diff --git a/ublinux/rc.d/rc.xorg b/ublinux/rc.d/rc.xorg index eee1435..7942b48 100755 --- a/ublinux/rc.d/rc.xorg +++ b/ublinux/rc.d/rc.xorg @@ -1,10 +1,14 @@ -#!/bin/bash +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 - for a in /usr/lib/ublinux/rc.xorg/* ;do - [ -x $a ] && $a 2>/dev/null + for SCRIPT in /usr/lib/ublinux/rc.xorg/*; do + [ -x ${SCRIPT} ] && ${SCRIPT} 2>/dev/null done true diff --git a/ublinux/rc.d/readme.txt b/ublinux/rc.d/readme.txt index e69de29..8730bb1 100644 --- a/ublinux/rc.d/readme.txt +++ b/ublinux/rc.d/readme.txt @@ -0,0 +1,3 @@ +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# diff --git a/ublinux/rc.desktop/readme.txt b/ublinux/rc.desktop/readme.txt index e69de29..8730bb1 100644 --- a/ublinux/rc.desktop/readme.txt +++ b/ublinux/rc.desktop/readme.txt @@ -0,0 +1,3 @@ +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# diff --git a/ublinux/rc.domain.d/30-usershwaccess b/ublinux/rc.domain.d/30-usershwaccess index a6f5732..30029a1 100755 --- a/ublinux/rc.domain.d/30-usershwaccess +++ b/ublinux/rc.domain.d/30-usershwaccess @@ -1,4 +1,8 @@ -#!/bin/bash +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=no [[ ${ENABLED} == "yes" ]] || exit 0 @@ -8,10 +12,10 @@ DOMUSGR=audio,video,usb,vboxusers,bumblebee,cdrom,cdwriter,lp,floppy SOURCE=${SYSCONF}/config; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null -if [ "$DOMAINUSERSHWACCESS" ] ;then - for a in $(echo "$DOMAINUSERSHWACCESS" | tr ",;" " ") ;do - for b in $(echo "$DOMUSGR" | tr ",;" " ") ;do - usermod -a -G $b $a - done - done -fi + if [[ -n ${DOMAINUSERSHWACCESS} ]]; then + for a in $(echo "$DOMAINUSERSHWACCESS" | tr ",;" " ") ;do + for b in $(echo "$DOMUSGR" | tr ",;" " ") ;do + usermod -a -G $b $a + done + done + fi diff --git a/ublinux/rc.domain.d/readme.txt b/ublinux/rc.domain.d/readme.txt index e69de29..8730bb1 100644 --- a/ublinux/rc.domain.d/readme.txt +++ b/ublinux/rc.domain.d/readme.txt @@ -0,0 +1,3 @@ +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# diff --git a/ublinux/rc.domain/readme.txt b/ublinux/rc.domain/readme.txt index e69de29..8730bb1 100644 --- a/ublinux/rc.domain/readme.txt +++ b/ublinux/rc.domain/readme.txt @@ -0,0 +1,3 @@ +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# diff --git a/ublinux/rc.halt.pre/01-sysrq-sleepshutdown b/ublinux/rc.halt.pre/01-sysrq-sleepshutdown index 5edba7a..e28a766 100755 --- a/ublinux/rc.halt.pre/01-sysrq-sleepshutdown +++ b/ublinux/rc.halt.pre/01-sysrq-sleepshutdown @@ -1,4 +1,8 @@ #!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 diff --git a/ublinux/rc.halt.pre/10-shutdown b/ublinux/rc.halt.pre/10-shutdown index 4296def..e2220cb 100755 --- a/ublinux/rc.halt.pre/10-shutdown +++ b/ublinux/rc.halt.pre/10-shutdown @@ -1,4 +1,8 @@ -#!/bin/bash +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 diff --git a/ublinux/rc.halt.pre/15-cleanup b/ublinux/rc.halt.pre/15-cleanup index 4315727..cbb3dd1 100755 --- a/ublinux/rc.halt.pre/15-cleanup +++ b/ublinux/rc.halt.pre/15-cleanup @@ -1,4 +1,8 @@ -#!/bin/bash +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 diff --git a/ublinux/rc.halt.pre/20-grub b/ublinux/rc.halt.pre/20-grub index 1b611e1..7019419 100755 --- a/ublinux/rc.halt.pre/20-grub +++ b/ublinux/rc.halt.pre/20-grub @@ -1,4 +1,8 @@ #!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 diff --git a/ublinux/rc.halt.pre/25-accounts-sync b/ublinux/rc.halt.pre/25-accounts-sync index 7627bee..f04d4d5 100755 --- a/ublinux/rc.halt.pre/25-accounts-sync +++ b/ublinux/rc.halt.pre/25-accounts-sync @@ -1,4 +1,8 @@ #!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 diff --git a/ublinux/rc.halt.pre/70-upgrade b/ublinux/rc.halt.pre/70-upgrade index 7e4fb0f..fe803b6 100755 --- a/ublinux/rc.halt.pre/70-upgrade +++ b/ublinux/rc.halt.pre/70-upgrade @@ -1,4 +1,8 @@ #!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 @@ -15,7 +19,7 @@ ENABLED=yes PATH_UPGRADE=$(find /memory/layer-base/*/ -maxdepth 1 -type d -name "upgrade") F_UPGRADE_CONF=$(find ${PATH_UPGRADE} -maxdepth 1 -type f -name "upgrade.conf") PATH_KERNEL=$(find /memory/layer-base/*/ -maxdepth 1 -type f -name "vmlinuz*" | head -1 | xargs dirname) - + # Удаляем модули, отмеченные на устаревшие for F_REMOVE in $(cat ${F_UPGRADE_CONF} | uniq | grep "remove=" | sed "s/remove=//"); do [[ -f ${F_REMOVE} ]] && rm -f ${F_REMOVE} 2>/dev/null @@ -50,14 +54,14 @@ ENABLED=yes fi done - # Удаляем модули с одинаковыми именами старых версий + # Удаляем модули с одинаковыми именами старых версий find ${PATH_BASE} ${PATH_MODULES} -maxdepth 1 -name "*.${EXT}" 2>/dev/null | sed -En "s/(.*\/)((.*)-([^-]+)-([^-]+)-[^-]+\.${EXT})/\1|\3|\2/p" | sort --field-separator="|" --key=3rbV | awk -F '|' 'prefixes[$2]++ {print $1$3}' | xargs rm -vf 2>/dev/null - # TODO: Вырезать из файла чек сумм имена удаляемых модулей + # TODO: Вырезать из файла чек сумм имена удаляемых модулей # Обновление найденных модулей ядра find ${PATH_UPGRADE} -type f -regextype sed -regex ".*/vmlinuz-[0-9.]\{5,8\}-[0-9]\{1,4\}" -exec mv -ft ${PATH_KERNEL} {} + find ${PATH_UPGRADE} -type f -regextype sed -regex ".*/ublinux-[0-9.]\{5,8\}-[0-9]\{1,4\}" -exec mv -ft ${PATH_KERNEL} {} + - + rm -f ${F_UPGRADE_CONF} diff --git a/ublinux/rc.halt.pre/71-kernel b/ublinux/rc.halt.pre/71-kernel index 42cacc2..588b1e1 100755 --- a/ublinux/rc.halt.pre/71-kernel +++ b/ublinux/rc.halt.pre/71-kernel @@ -1,4 +1,8 @@ #!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 diff --git a/ublinux/rc.halt.pre/75-chmod b/ublinux/rc.halt.pre/75-chmod index 8b408ed..3cebb6b 100755 --- a/ublinux/rc.halt.pre/75-chmod +++ b/ublinux/rc.halt.pre/75-chmod @@ -1,4 +1,8 @@ #!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 diff --git a/ublinux/rc.halt.pre/80-savetomodule b/ublinux/rc.halt.pre/80-savetomodule index e322212..700c3a6 100755 --- a/ublinux/rc.halt.pre/80-savetomodule +++ b/ublinux/rc.halt.pre/80-savetomodule @@ -1,4 +1,8 @@ -#!/bin/bash +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=no [[ ${ENABLED} == "yes" ]] || exit 0 diff --git a/ublinux/rc.halt.pre/85-save-cache b/ublinux/rc.halt.pre/85-save-cache index 78ed8f0..af218a3 100755 --- a/ublinux/rc.halt.pre/85-save-cache +++ b/ublinux/rc.halt.pre/85-save-cache @@ -1,4 +1,8 @@ #!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 diff --git a/ublinux/rc.halt.pre/86-save-rootcopy b/ublinux/rc.halt.pre/86-save-rootcopy index 8f6185e..9043fb8 100755 --- a/ublinux/rc.halt.pre/86-save-rootcopy +++ b/ublinux/rc.halt.pre/86-save-rootcopy @@ -1,4 +1,8 @@ #!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 @@ -35,12 +39,12 @@ exec_save_rootcopy(){ [[ -n ${SAVE_ROOTCOPY_CHANGES} ]] && while read -r SELECT_CHANGES; do [[ -e ${SELECT_CHANGES#/*} ]] \ && eval rsync --quiet --update --archive --recursive --acls --xattrs --relative --delete --delete-excluded --exclude={''${ROOTCOPY_EXCLUDE}} ${SELECT_CHANGES#/*} ${PATH_ROOTCOPY} - # --dry-run --verbose --quiet + # --dry-run --verbose --quiet done <<< ${SAVE_ROOTCOPY_CHANGES//,/$'\n'} [[ -n ${SAVE_ROOTCOPY_INCLUDE} ]] && while read -r SELECT_INCLUDE; do [[ -e ${ROOTFS}/${SELECT_INCLUDE} ]] \ && eval rsync --quiet --update --archive --recursive --acls --xattrs --relative --delete --delete-excluded --exclude={''${ROOTCOPY_EXCLUDE}} ${ROOTFS}/${SELECT_INCLUDE} ${PATH_ROOTCOPY} - # --dry-run --verbose --quiet + # --dry-run --verbose --quiet done <<< ${SAVE_ROOTCOPY_INCLUDE//,/$'\n'} fi @@ -52,18 +56,21 @@ exec_save_sssd_rootcopy(){ [[ -n ${PATH_ROOTCOPY} ]] || PATH_ROOTCOPY="$(find /memory/layer-base/*/ -maxdepth 1 -type f -name "ublinux-data*.sgn" | head -1)" [[ -n ${PATH_ROOTCOPY} ]] && PATH_ROOTCOPY="${PATH_ROOTCOPY%/*}/${NAME_ROOTCOPY}" || exit 0 - find ${PATH_ROOTCOPY}/etc/ -maxdepth 1 -type f -name "krb5.conf" -delete - find ${PATH_ROOTCOPY}/etc/ -maxdepth 1 -type f -name "krb5.keytab" -delete - find ${PATH_ROOTCOPY}/etc/ -maxdepth 1 -type f -name "realmd.conf" -delete - find ${PATH_ROOTCOPY}/etc/sssd/ -type f -name "*.conf" -delete - # Save DOMAIN settings if [[ -n ${DOMAIN} && -w ${PATH_ROOTCOPY} ]]; then - cd ${PATH_CHANGES} - find etc/ -type f -name "krb5.conf" -exec install -CDm644 {} ${PATH_ROOTCOPY}/{} \; - find etc/ -type f -name "krb5.keytab" -exec install -CDm600 {} ${PATH_ROOTCOPY}/{} \; - find etc/ -type f -name "realmd.conf" -exec install -CDm600 {} ${PATH_ROOTCOPY}/{} \; - find etc/sssd/ -type f -name "*.conf" -exec install -CDm600 {} ${PATH_ROOTCOPY}/{} \; + [[ -d "${PATH_ROOTCOPY}/etc" ]] || install -dm755 "${PATH_ROOTCOPY}/etc" + [[ -d "${PATH_ROOTCOPY}/var/lib/sss" ]] || install -dm755 "${PATH_ROOTCOPY}/var/lib/sss" + [[ -f "${PATH_CHANGES}/etc/krb5.conf" ]] && cp -af -t "${PATH_ROOTCOPY}/etc/" "${PATH_CHANGES}/etc/krb5.conf" 2>/dev/null || rm -f "${PATH_ROOTCOPY}/etc/krb5.conf" 2>/dev/null + [[ -f "${PATH_CHANGES}/etc/krb5.keytab" ]] && cp -af -t "${PATH_ROOTCOPY}/etc/" "${PATH_CHANGES}/etc/krb5.keytab" 2>/dev/null || rm -f "${PATH_ROOTCOPY}/etc/krb5.keytab" 2>/dev/null + [[ -f "${PATH_CHANGES}/etc/realmd.conf" ]] && cp -af -t "${PATH_ROOTCOPY}/etc/" "${PATH_CHANGES}/etc/realmd.conf" 2>/dev/null || rm -f "${PATH_ROOTCOPY}/etc/realmd.conf" 2>/dev/null + [[ -d "${PATH_CHANGES}/etc/sssd" ]] && rsync -aAXUH --delete "${PATH_CHANGES}/etc/sssd" "${PATH_ROOTCOPY}/etc/" 2>/dev/null || rm -rdf "${PATH_ROOTCOPY}/etc/sssd" 2>/dev/null + [[ -d "${PATH_CHANGES}/var/lib/sss" ]] && rsync -aAXUH --delete "${PATH_CHANGES}/var/lib/sss" "${PATH_ROOTCOPY}/var/lib/" 2>/dev/null || rm -rdf "${PATH_ROOTCOPY}/var/lib/sss" 2>/dev/null + +# cd ${PATH_CHANGES} +# find etc/ -type f -name "krb5.conf" -exec install -CDm644 {} ${PATH_ROOTCOPY}/{} \; +# find etc/ -type f -name "krb5.keytab" -exec install -CDm600 {} ${PATH_ROOTCOPY}/{} \; +# find etc/ -type f -name "realmd.conf" -exec install -CDm600 {} ${PATH_ROOTCOPY}/{} \; +# find etc/sssd/ -type f -name "*.conf" -exec install -CDm600 {} ${PATH_ROOTCOPY}/{} \; fi } diff --git a/ublinux/rc.halt.pre/90-deactivate b/ublinux/rc.halt.pre/90-deactivate index 11d88f1..fc1cea7 100755 --- a/ublinux/rc.halt.pre/90-deactivate +++ b/ublinux/rc.halt.pre/90-deactivate @@ -1,4 +1,8 @@ -#!/bin/bash +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 diff --git a/ublinux/rc.halt.pre/95-umount b/ublinux/rc.halt.pre/95-umount index 5474a90..0cbaec9 100755 --- a/ublinux/rc.halt.pre/95-umount +++ b/ublinux/rc.halt.pre/95-umount @@ -1,4 +1,8 @@ #!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 diff --git a/ublinux/rc.halt.pre/readme.txt b/ublinux/rc.halt.pre/readme.txt index e69de29..8730bb1 100644 --- a/ublinux/rc.halt.pre/readme.txt +++ b/ublinux/rc.halt.pre/readme.txt @@ -0,0 +1,3 @@ +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# diff --git a/ublinux/rc.halt/20-timesave b/ublinux/rc.halt/20-timesave index e18436f..3eebcd4 100755 --- a/ublinux/rc.halt/20-timesave +++ b/ublinux/rc.halt/20-timesave @@ -1,4 +1,8 @@ -#!/bin/bash +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} != "yes" ]] && exit 0 @@ -7,7 +11,7 @@ SOURCE=/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null | SOURCE=${SYSCONF}/clock; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null [[ ${HALTSAVETIME,,} =~ ^no$|^off$|^disable$ ]] && exit 0 - if [[ ${HWCLOCK_SYNC,,} == "utc" ]]; then + if [[ ${HWCLOCK_SYNC,,} == "utc" ]]; then HWCLOCK_OPTIONS="--utc" elif [[ ${HWCLOCK_SYNC,,} == "localtime" ]]; then HWCLOCK_OPTIONS="--localtime" diff --git a/ublinux/rc.halt/99-sync b/ublinux/rc.halt/99-sync index 253259b..044b878 100755 --- a/ublinux/rc.halt/99-sync +++ b/ublinux/rc.halt/99-sync @@ -1,4 +1,9 @@ -#!/bin/bash +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# + echo -n "Syncing block devices..." sync sync diff --git a/ublinux/rc.halt/readme.txt b/ublinux/rc.halt/readme.txt index e69de29..8730bb1 100644 --- a/ublinux/rc.halt/readme.txt +++ b/ublinux/rc.halt/readme.txt @@ -0,0 +1,3 @@ +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# diff --git a/ublinux/rc.local.d/98-ubpile b/ublinux/rc.local.d/98-ubpile index a2e925d..882a263 100755 --- a/ublinux/rc.local.d/98-ubpile +++ b/ublinux/rc.local.d/98-ubpile @@ -1,4 +1,8 @@ #!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 @@ -72,10 +76,10 @@ exec_01_ubpile_db(){ elif [[ ${NAME_ARG_CONF} != 0 ]]; then STRING_ARG_CONF+=".${NAME_ARG_CONF} = \"${UBPILE_DB[${NAME_ARG_CONF}]}\" | " fi - done - [[ -z ${STRING_ARG_CONF} ]] || echo -E "$(jq "${STRING_ARG_CONF%|*}" ${UBPILE_STORAGE_CONF_JSON})" > ${UBPILE_STORAGE_CONF_JSON} - else - true + done + [[ -z ${STRING_ARG_CONF} ]] || echo -E "$(jq "${STRING_ARG_CONF%|*}" ${UBPILE_STORAGE_CONF_JSON})" > ${UBPILE_STORAGE_CONF_JSON} + else + true fi elif [[ ${COMMAND} == @("set-="|"set--="|"remove") ]]; then if [[ ${PARAM%%=*} =~ ^.*'['(.*)']' ]]; then @@ -150,7 +154,7 @@ exec_02_ubpile(){ } [[ -n ${APP_UBPILE} || -n ${APP_UBPILE_WORKFLOW} ]] || return 0 [[ ! -f ${UBPILE_CONF_JSON} || $(stat --printf="%s" ${UBPILE_CONF_JSON} 2>/dev/null) -lt 10 ]] && cp -f ${UBPILE_CONF_JSON_TEMPLATE} ${UBPILE_CONF_JSON} - + [[ $1 == @("set="|"set+="|"set++="|"set-="|"set--="|"remove") ]] && COMMAND=$1 && shift [[ -n ${COMMAND} ]] || COMMAND="set=" local PARAM="$@" @@ -180,7 +184,7 @@ exec_02_ubpile(){ [[ -n ${STRING_ARG_CONF} ]] && echo -E "$(jq "${STRING_ARG_CONF%|*}" ${UBPILE_CONF_JSON})" > ${UBPILE_CONF_JSON} fi # Удалить ключ из системной конфигурации - [[ -n ${UBPILE[secret_key]} ]] && sed -E "s/(UBPILE\[secret_key\]=).*/\1=secret/" -i ${SYSCONF}/server + [[ -n ${UBPILE[secret_key]} && -f ${SYSCONF}/server ]] && sed -E "s/(UBPILE\[secret_key\]=).*/\1=secret/" -i ${SYSCONF}/server if [[ ${UBPILE[0]} == "clean" ]]; then ubconfig set [server] UBPILE=disable @@ -266,7 +270,7 @@ exec_03_ubpile_reverse_proxy(){ # Если параметры не заданы в конфиге, то зададим #ubconfig set [server] UBPILE[web_direct_connect]="true" #ubconfig set [server] UBPILE[base_app_url]="http://localhost:${UBPILE_REVERSE_PROXY:-3012}" - RESTART_UBPILE=yes + RESTART_UBPILE=yes RESTART_HAPROXY=yes fi elif [[ ${COMMAND} == @("set-="|"set--="|"remove") ]]; then @@ -284,7 +288,7 @@ message_motd(){ [[ -d ${PATH_UBPILE} ]] || return 0 local UBPILE_RUN="/run/ubpile" PC_HOSTNAME="$(hostname -f)" - PC_IP="$(ip route get 1 | sed -n 's/^.*src \([0-9.]*\) .*$/\1/p')" + PC_IP="$(ip route get 1 2>/dev/null | sed -n 's/^.*src \([0-9.]*\) .*$/\1/p')" install -dm0755 ${UBPILE_RUN} [[ -f ${UBPILE_CONF_JSON} ]] && UBPILE_PORT=$(jq '.WebServer.http_port' ${UBPILE_CONF_JSON}) systemctl --quiet is-active haproxy-ubpile.service &>/dev/null && UBPILE_PORT="$(sed -En '/^\s*frontend http/,/^\s*backend/{s/^\s*bind.*:([[:digit:]]*).*/\1/p}' ${PATH_HAPROXY_UBPILE_CONF})" diff --git a/ublinux/rc.local.d/readme.txt b/ublinux/rc.local.d/readme.txt index e69de29..8730bb1 100644 --- a/ublinux/rc.local.d/readme.txt +++ b/ublinux/rc.local.d/readme.txt @@ -0,0 +1,3 @@ +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# diff --git a/ublinux/rc.network.d/10-network b/ublinux/rc.network.d/10-network index 0c9a1e8..a85d179 100755 --- a/ublinux/rc.network.d/10-network +++ b/ublinux/rc.network.d/10-network @@ -1,4 +1,8 @@ #!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == yes ]] || exit 0 diff --git a/ublinux/rc.network.d/81-samba b/ublinux/rc.network.d/81-samba index 8bd265e..9b40a30 100755 --- a/ublinux/rc.network.d/81-samba +++ b/ublinux/rc.network.d/81-samba @@ -1,4 +1,8 @@ -#!/bin/bash +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# # Description: This script will generate initial passwords for samba users ENABLED=yes diff --git a/ublinux/rc.network.d/90-ublinuxupdate b/ublinux/rc.network.d/90-ublinuxupdate index 22f4f7e..6fdd366 100755 --- a/ublinux/rc.network.d/90-ublinuxupdate +++ b/ublinux/rc.network.d/90-ublinuxupdate @@ -1,5 +1,9 @@ -#!/bin/bash -# Description: This script will generate +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Description: This script will generate ENABLED= [[ ${ENABLED} == "yes" ]] || exit 0 diff --git a/ublinux/rc.network.d/readme.txt b/ublinux/rc.network.d/readme.txt index e69de29..8730bb1 100644 --- a/ublinux/rc.network.d/readme.txt +++ b/ublinux/rc.network.d/readme.txt @@ -0,0 +1,3 @@ +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# diff --git a/ublinux/rc.pamaccount.d/readme.txt b/ublinux/rc.pamaccount.d/readme.txt index e69de29..8730bb1 100644 --- a/ublinux/rc.pamaccount.d/readme.txt +++ b/ublinux/rc.pamaccount.d/readme.txt @@ -0,0 +1,3 @@ +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# diff --git a/ublinux/rc.pamauth.d/readme.txt b/ublinux/rc.pamauth.d/readme.txt index e69de29..8730bb1 100644 --- a/ublinux/rc.pamauth.d/readme.txt +++ b/ublinux/rc.pamauth.d/readme.txt @@ -0,0 +1,3 @@ +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# diff --git a/ublinux/rc.pampassword.d/readme.txt b/ublinux/rc.pampassword.d/readme.txt index e69de29..8730bb1 100644 --- a/ublinux/rc.pampassword.d/readme.txt +++ b/ublinux/rc.pampassword.d/readme.txt @@ -0,0 +1,3 @@ +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# diff --git a/ublinux/rc.pamsession.d/01-placeondesktop b/ublinux/rc.pamsession.d/01-placeondesktop index 477adac..173f9d1 100755 --- a/ublinux/rc.pamsession.d/01-placeondesktop +++ b/ublinux/rc.pamsession.d/01-placeondesktop @@ -1,4 +1,8 @@ #!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# # Extended pattern matching: https://www.gnu.org/software/bash/manual/html_node/Pattern-Matching.html#Pattern-Matching shopt -s extglob diff --git a/ublinux/rc.pamsession.d/readme.txt b/ublinux/rc.pamsession.d/readme.txt index e69de29..8730bb1 100644 --- a/ublinux/rc.pamsession.d/readme.txt +++ b/ublinux/rc.pamsession.d/readme.txt @@ -0,0 +1,3 @@ +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# diff --git a/ublinux/rc.post.d/readme.txt b/ublinux/rc.post.d/readme.txt index e69de29..8730bb1 100644 --- a/ublinux/rc.post.d/readme.txt +++ b/ublinux/rc.post.d/readme.txt @@ -0,0 +1,3 @@ +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# diff --git a/ublinux/rc.post/01-system b/ublinux/rc.post/01-system index c89e3da..85aad29 100755 --- a/ublinux/rc.post/01-system +++ b/ublinux/rc.post/01-system @@ -1,4 +1,8 @@ -#!/bin/bash +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 diff --git a/ublinux/rc.post/10-ldconfig b/ublinux/rc.post/10-ldconfig index 153a986..3bbac14 100755 --- a/ublinux/rc.post/10-ldconfig +++ b/ublinux/rc.post/10-ldconfig @@ -1,4 +1,8 @@ -#!/bin/bash +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=no [[ ${ENABLED} == "yes" ]] || exit 0 diff --git a/ublinux/rc.post/20-plymouth b/ublinux/rc.post/20-plymouth index 89e5c1f..5990772 100755 --- a/ublinux/rc.post/20-plymouth +++ b/ublinux/rc.post/20-plymouth @@ -1,4 +1,8 @@ -#!/bin/bash +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=no [[ ${ENABLED} == "yes" ]] || exit 0 diff --git a/ublinux/rc.post/30-selinux b/ublinux/rc.post/30-selinux index fae0d37..6c6a805 100755 --- a/ublinux/rc.post/30-selinux +++ b/ublinux/rc.post/30-selinux @@ -1,4 +1,8 @@ -#!/bin/bash +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 diff --git a/ublinux/rc.post/readme.txt b/ublinux/rc.post/readme.txt index e69de29..8730bb1 100644 --- a/ublinux/rc.post/readme.txt +++ b/ublinux/rc.post/readme.txt @@ -0,0 +1,3 @@ +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# diff --git a/ublinux/rc.preinit.d/01-depmod b/ublinux/rc.preinit.d/01-depmod index 01c0cca..db77cca 100755 --- a/ublinux/rc.preinit.d/01-depmod +++ b/ublinux/rc.preinit.d/01-depmod @@ -1,6 +1,9 @@ -#!/bin/bash +#!/usr/bin/env bash # -# Initial script for Linux UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; CMD_CHROOT="chroot ${ROOTFS}"; } +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" diff --git a/ublinux/rc.preinit.d/02-modulespreload b/ublinux/rc.preinit.d/02-modulespreload index 1fe2193..8fbb421 100755 --- a/ublinux/rc.preinit.d/02-modulespreload +++ b/ublinux/rc.preinit.d/02-modulespreload @@ -1,4 +1,7 @@ -#!/bin/bash +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux # # Initial script for Linux UBLinux # This script are launching before starting init from initrd script @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; CMD_CHROOT="chroot ${ROOTFS}"; } +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 diff --git a/ublinux/rc.preinit.d/03-ldconfig b/ublinux/rc.preinit.d/03-ldconfig index 36f3afa..67c7957 100755 --- a/ublinux/rc.preinit.d/03-ldconfig +++ b/ublinux/rc.preinit.d/03-ldconfig @@ -1,10 +1,18 @@ -#!/bin/bash +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux +# This script are launching before starting init from initrd script +# Current dir allways must be set to root (/) +# All system path must be relative, except initrd dirs ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 DEBUGMODE=no -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; CMD_CHROOT="chroot ${ROOTFS}"; } +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" diff --git a/ublinux/rc.preinit.d/04-update-fonts b/ublinux/rc.preinit.d/04-update-fonts index ce715a0..6fdd0a6 100755 --- a/ublinux/rc.preinit.d/04-update-fonts +++ b/ublinux/rc.preinit.d/04-update-fonts @@ -1,4 +1,12 @@ -#!/bin/bash +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux +# This script are launching before starting init from initrd script +# Current dir allways must be set to root (/) +# All system path must be relative, except initrd dirs ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 @@ -6,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; CMD_CHROOT="chroot ${ROOTFS}"; } +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" @@ -33,5 +41,5 @@ debug_mode "$0" "$@" chroot . usr/bin/mkfontscale ${FONT_PATH} chroot . usr/bin/mkfontdir ${FONT_PATH} fi - done + done chroot . usr/bin/fc-cache -s 2>&1 &>/dev/null diff --git a/ublinux/rc.preinit.d/10-system b/ublinux/rc.preinit.d/10-system index 5657de4..124122b 100755 --- a/ublinux/rc.preinit.d/10-system +++ b/ublinux/rc.preinit.d/10-system @@ -1,5 +1,8 @@ #!/usr/bin/env bash # +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# # Initial script for UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; CMD_CHROOT="chroot ${ROOTFS}"; } +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" @@ -45,7 +48,7 @@ exec_machineid(){ [[ -z "${MACHINEID}" ]] || echo "${MACHINEID}" > ${ROOTFS}/etc/machine-id } exec_udevrules(){ - #Setting UDEV + #Setting UDEV FILE_UDEV_99="/usr/lib/ublinux/udev/99-hide-partition-ubconfig.rules" FILE_UDEV_70="/usr/lib/ublinux/udev/70-setup-prn-ubconfig.rules" mkdir -p ${ROOTFS}/etc/udev/rules.d @@ -78,7 +81,7 @@ exec_enviroment(){ for SELECT in "${!ENVIROMENT[@]}"; do IFS=: read -r TYPE VARIABLE OTHER <<< ${SELECT} VALUE=${ENVIROMENT[${SELECT}]} - if [[ ${TYPE} == "system" ]]; then + if [[ ${TYPE} == "system" ]]; then [[ -f ${ROOTFS}/${FILE_SYSTEMD_ENV} ]] || { [[ -d ${ROOTFS}/${FILE_SYSTEMD_ENV%/*} ]] || install -dm0755 ${ROOTFS}/${FILE_SYSTEMD_ENV%/*}; } echo "${VARIABLE}=\"${VALUE}\"" >> ${ROOTFS}/${FILE_SYSTEMD_ENV} elif [[ ${TYPE} == "profile" ]]; then @@ -88,7 +91,7 @@ exec_enviroment(){ echo "setenv ${VARIABLE} \"${VALUE}\"" >> ${ROOTFS}/${FILE_PROFILE_CSH_ENV} else if [[ -d ${ROOTFS}/home/${TYPE} ]]; then - if [[ ! -f ${ROOTFS}/home/${TYPE}/${FILE_SYSTEMD_USER_ENV} ]]; then + if [[ ! -f ${ROOTFS}/home/${TYPE}/${FILE_SYSTEMD_USER_ENV} ]]; then local -a GET_STATS_USER=($(stat -c '%u %g' ${ROOTFS}/home/${TYPE} 2>/dev/null)) [[ ! -d ${ROOTFS}/home/${TYPE}/${FILE_SYSTEMD_USER_ENV%/*} ]] && [[ -n ${GET_STATS_USER[@]} ]] && install -dm700 -o ${GET_STATS_USER[0]} -g ${GET_STATS_USER[1]} ${ROOTFS}/home/${TYPE}/${FILE_SYSTEMD_USER_ENV%/*} touch ${ROOTFS}/home/${TYPE}/${FILE_SYSTEMD_USER_ENV} @@ -116,7 +119,7 @@ exec_enviroment(){ FUNCTION= while [[ $# -gt 0 ]]; do [[ -z ${1} ]] || { declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" || FUNCTION+=" '${1}'"; } - shift + shift done eval ${FUNCTION#*; } fi diff --git a/ublinux/rc.preinit.d/11-partitions b/ublinux/rc.preinit.d/11-partitions index 802fb49..e2c688f 100755 --- a/ublinux/rc.preinit.d/11-partitions +++ b/ublinux/rc.preinit.d/11-partitions @@ -1,6 +1,9 @@ -#!/bin/bash +#!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -10,14 +13,16 @@ ENABLED=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin DEBUGMODE=no + +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } #. usr/lib/ublinux/scripts/liblinuxlive -. usr/lib/ublinux/functions -. usr/lib/ublinux/default +SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 +SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" -echo $SYSCONF | grep -q ^/ && SYSCONF=.$SYSCONF -SOURCE=${SYSCONF}/config; [ -f "${SOURCE}" ] && . ${SOURCE} 2>/dev/null -SOURCE=${SYSCONF}/mount; [ -f "${SOURCE}" ] && . ${SOURCE} 2>/dev/null +SYSCONF="${ROOTFS}${SYSCONF}" +SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null +SOURCE=${SYSCONF}/mount; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null get_name() { diff --git a/ublinux/rc.preinit.d/12-save2module b/ublinux/rc.preinit.d/12-save2module index f863a84..e35ea93 100755 --- a/ublinux/rc.preinit.d/12-save2module +++ b/ublinux/rc.preinit.d/12-save2module @@ -1,6 +1,9 @@ -#!/bin/bash +#!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -10,9 +13,15 @@ ENABLED=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin DEBUGMODE=no -. usr/lib/ublinux/functions + +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } +SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 +SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" +SYSCONF="${ROOTFS}${SYSCONF}" +SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null + if [ $(cmdline_value savelist) ] ;then echo -ne .savelist for a in $(cmdline_value savelist | tr , " " ) ;do diff --git a/ublinux/rc.preinit.d/13-release b/ublinux/rc.preinit.d/13-release index 5fa3e16..fe80094 100755 --- a/ublinux/rc.preinit.d/13-release +++ b/ublinux/rc.preinit.d/13-release @@ -1,6 +1,9 @@ -#!/bin/bash +#!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=. +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" @@ -21,11 +24,6 @@ SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null PATH_LIB_UBBOOT="${ROOTFS}/usr/lib/ubboot" #Profile updating - OS_RELEASE_PRETTY_NAME="UBLinux 0000 Unknown (x)" - PATH_VERSION=$(find /memory/layer-base/ -maxdepth 2 -type f -name "VERSION*" 2>/dev/null | tail -1) - [[ -n ${PATH_VERSION} ]] || PATH_VERSION="$(find ${ROOTFS}/ -maxdepth 1 -type f -name "VERSION*" 2>/dev/null | tail -1)" - [[ -n ${PATH_VERSION} ]] && OS_RELEASE_PRETTY_NAME=$(head -1 "${PATH_VERSION}" 2>/dev/null) - echo "${OS_RELEASE_PRETTY_NAME}" > ${ROOTFS}/etc/ublinux-release ${PATH_LIB_UBBOOT}/ubdistconv -l ${OS_RELEASE_PRETTY_NAME} > ${ROOTFS}/etc/lsb-release ${PATH_LIB_UBBOOT}/ubdistconv -o ${OS_RELEASE_PRETTY_NAME} > ${ROOTFS}/usr/lib/os-release diff --git a/ublinux/rc.preinit.d/20-services b/ublinux/rc.preinit.d/20-services index 7fee405..5ce0e74 100755 --- a/ublinux/rc.preinit.d/20-services +++ b/ublinux/rc.preinit.d/20-services @@ -1,6 +1,9 @@ #!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; CMD_CHROOT="chroot ${ROOTFS}"; } +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" @@ -21,7 +24,7 @@ SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/system; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null exec_copy_to_initd(){ -# Функция создания симлинка в /etc/init.d на сервисы из /etc/rc.d/init.d +# Функция создания симлинка в /etc/init.d на сервисы из /etc/rc.d/init.d PATH_INITD="${ROOTFS}/etc/init.d" PATH_RCD_INITD="${ROOTFS}/etc/rc.d/init.d" while read -u3 SELECT_FILE_SERVICE; do @@ -37,7 +40,7 @@ exec_services_enabledisable(){ ISSYSTEMD=$(readlink -fq ${ROOTFS}/usr/bin/init | grep "lib/systemd/systemd$") [[ $1 == @("set="|"set+="|"set++="|"set-="|"set--="|"remove") ]] && shift local PARAM="$@" - if [[ -n ${PARAM} ]]; then + if [[ -n ${PARAM} ]]; then unset SERVICESSTART SERVICESNOSTART SERVICESMASK SERVICESUNMASK unset SERVICES_ENABLE SERVICES_DISABLE SERVICES_MASK SERVICES_UNMASK eval "${PARAM%%=*}=\${PARAM#*=}" @@ -52,7 +55,7 @@ exec_services_enabledisable(){ [[ -z ${SERVICES_DISABLE_KERNEL} ]] || SERVICES_DISABLE=${SERVICES_DISABLE_KERNEL} fi if [[ -n "${SERVICESSTART}${SERVICESNOSTART}${SERVICESMASK}${SERVICESUNMASK}${SERVICES_ENABLE}${SERVICES_DISABLE}${SERVICES_MASK}${SERVICES_UNMASK}" ]]; then - if [[ -n ${ROOTFS} ]]; then + if [[ -n ${ROOTFS} ]]; then mkdir -p proc mount -o rbind /proc proc fi @@ -133,7 +136,7 @@ exec_services_startstop_live(){ # ISSYSTEMD=$(readlink -fq ${ROOTFS}/usr/bin/init | grep "lib/systemd/systemd$") # [[ $1 == @("set="|"set+="|"set++="|"set-="|"set--="|"remove") ]] && shift # local PARAM="$@" -# if [[ -n ${PARAM} ]]; then +# if [[ -n ${PARAM} ]]; then # unset SERVICE # declare -A SERVICE # eval "${PARAM%%=*}=\${PARAM#*=}" @@ -151,7 +154,7 @@ exec_services_startstop_live(){ # done 3< <(tr ',; ' '\n' <<< "${SERVICES_DISABLE_KERNEL}" | tr -s '\n') # fi # if [[ -n "${SERVICE[@]}" ]]; then -# if [[ -n ${ROOTFS} ]]; then +# if [[ -n ${ROOTFS} ]]; then # mkdir -p proc # mount -o rbind /proc proc # fi @@ -167,7 +170,7 @@ exec_services_startstop_live(){ # echo ${CMD_CHROOT} /usr/bin/systemctl --quiet disable ${SELECT_SERVICE} # fi # elif [[ ${SERVICE[${SELECT_SERVICE}]} == @(mask) ]]; then -# if [[ -n ${ISSYSTEMD} ]]; then +# if [[ -n ${ISSYSTEMD} ]]; then # echo ${CMD_CHROOT} /usr/bin/systemctl --quiet disable ${SELECT_SERVICE} # echo ${CMD_CHROOT} /usr/bin/systemctl --quiet mask ${SELECT_SERVICE} # fi @@ -225,7 +228,7 @@ exec_services_startstop_live(){ FUNCTION= while [[ $# -gt 0 ]]; do [[ -z ${1} ]] || { declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" || FUNCTION+=" '${1}'"; } - shift + shift done eval ${FUNCTION#*; } fi diff --git a/ublinux/rc.preinit.d/21-ntp b/ublinux/rc.preinit.d/21-ntp index 66093f5..06a55da 100755 --- a/ublinux/rc.preinit.d/21-ntp +++ b/ublinux/rc.preinit.d/21-ntp @@ -1,6 +1,9 @@ #!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; CMD_CHROOT="chroot ${ROOTFS} "; } +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" @@ -33,7 +36,7 @@ SOURCE=${SYSCONF}/network; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null exec_ntp_servers_set(){ restart_systemd_ntp(){ if [[ -n ${ROOTFS} ]]; then - ${CMD_CHROOT} /usr/bin/systemctl --quiet enable ${NTP_SYSTEMSERVICE} &>/dev/null + ${CMD_CHROOT} /usr/bin/systemctl --quiet enable ${NTP_SYSTEMSERVICE} &>/dev/null else /usr/bin/systemctl daemon-reload /usr/bin/systemctl --quiet enable ${NTP_SYSTEMSERVICE} &>/dev/null @@ -77,7 +80,7 @@ exec_ntp_servers_stop(){ while IFS=' ' read ITEM_NTP_SERVICE ITEM_NTP_PROCESS; do [[ -z ${ITEM_NTP_SERVICE} || -z ${ITEM_NTP_PROCESS} ]] && continue if [[ -n ${ISSYSTEMD} && -n ${ROOTFS} ]]; then - ${CMD_CHROOT} /usr/bin/systemctl --quiet disable ${ITEM_NTP_SERVICE##*/} &>/dev/null + ${CMD_CHROOT} /usr/bin/systemctl --quiet disable ${ITEM_NTP_SERVICE##*/} &>/dev/null elif [[ -n ${ISSYSTEMD} ]]; then /usr/bin/systemctl --quiet disable --now ${ITEM_NTP_SERVICE##*/} &>/dev/null || pkill -f ${ITEM_NTP_PROCESS} fi diff --git a/ublinux/rc.preinit.d/22-samba b/ublinux/rc.preinit.d/22-samba index 7e64e17..b455219 100755 --- a/ublinux/rc.preinit.d/22-samba +++ b/ublinux/rc.preinit.d/22-samba @@ -1,6 +1,9 @@ -#!/usr/bin/bash +#!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -10,8 +13,8 @@ ENABLED=no DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=. +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" diff --git a/ublinux/rc.preinit.d/23-realmd b/ublinux/rc.preinit.d/23-realmd index f479c23..bf6d607 100755 --- a/ublinux/rc.preinit.d/23-realmd +++ b/ublinux/rc.preinit.d/23-realmd @@ -1,6 +1,9 @@ -#!/bin/bash +#!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; CMD_CHROOT="chroot ${ROOTFS} "; } +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" @@ -51,8 +54,8 @@ exec_domain(){ if [[ ${COMMAND} == @("set="|"set+="|"set++=") ]]; then if [[ -n ${DOMAIN} && ${DOMAIN[client]} == "realmd_sssd" ]]; then if [[ -f ${ROOTFS}/etc/krb5.keytab ]]; then - ${CMD_CHROOT} /usr/bin/ubdomain-client --quiet configure - #[[ -f ${ROOTFS}/etc/krb5.conf && -f ${ROOTFS}/etc/sssd/sssd.conf ]] || ${CMD_CHROOT} /usr/bin/ubdomain-client --quite configure #2>/dev/null + ${CMD_CHROOT} /usr/bin/ubdomain-client --quiet configure + #[[ -f ${ROOTFS}/etc/krb5.conf && -f ${ROOTFS}/etc/sssd/sssd.conf ]] || ${CMD_CHROOT} /usr/bin/ubdomain-client --quite configure #2>/dev/null [[ -f ${ROOTFS}/usr/lib/systemd/system/sssd.service ]] && ln -sf /usr/lib/systemd/system/sssd.service ${ROOTFS}/etc/systemd/system/multi-user.target.wants/sssd.service fi elif [[ -n ${DOMAIN} && ${DOMAIN[client]} == "realmd_winbind" ]]; then @@ -61,8 +64,8 @@ exec_domain(){ true fi elif [[ ${COMMAND} == @("set-="|"set--="|"remove") ]]; then - ${CMD_CHROOT} /usr/bin/ubdomain-client unconfigure - fi + ${CMD_CHROOT} /usr/bin/ubdomain-client unconfigure + fi } domain_configure_live(){ @@ -79,7 +82,7 @@ domain_configure_live(){ [[ -z ${DOMAIN} ]] && return 0 ${ROOTFS}/usr/bin/ubdomain-client configure systemctl restart sssd.service - fi + fi } @@ -97,7 +100,7 @@ domain_configure_live(){ FUNCTION= while [[ $# -gt 0 ]]; do [[ -z ${1} ]] || { declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" || FUNCTION+=" '${1}'"; } - shift + shift done eval ${FUNCTION#*; } fi diff --git a/ublinux/rc.preinit.d/24-logging b/ublinux/rc.preinit.d/24-logging index 386e8f6..705bb91 100755 --- a/ublinux/rc.preinit.d/24-logging +++ b/ublinux/rc.preinit.d/24-logging @@ -1,6 +1,9 @@ #!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; CMD_CHROOT="chroot ${ROOTFS}"; } +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" diff --git a/ublinux/rc.preinit.d/30-network-hostname b/ublinux/rc.preinit.d/30-network-hostname index 948c9fa..59fc679 100755 --- a/ublinux/rc.preinit.d/30-network-hostname +++ b/ublinux/rc.preinit.d/30-network-hostname @@ -1,6 +1,9 @@ #!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -11,8 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=. - +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" diff --git a/ublinux/rc.preinit.d/31-network-proxy-system b/ublinux/rc.preinit.d/31-network-proxy-system index 1a8c3cf..4c12373 100755 --- a/ublinux/rc.preinit.d/31-network-proxy-system +++ b/ublinux/rc.preinit.d/31-network-proxy-system @@ -1,6 +1,9 @@ -#!/bin/bash +#!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=. +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" diff --git a/ublinux/rc.preinit.d/32-network b/ublinux/rc.preinit.d/32-network index bf82897..0cf7046 100755 --- a/ublinux/rc.preinit.d/32-network +++ b/ublinux/rc.preinit.d/32-network @@ -1,6 +1,9 @@ #!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; CMD_CHROOT="chroot ${ROOTFS} "; } +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" diff --git a/ublinux/rc.preinit.d/35-iptables b/ublinux/rc.preinit.d/35-iptables index ad7ce35..623041a 100755 --- a/ublinux/rc.preinit.d/35-iptables +++ b/ublinux/rc.preinit.d/35-iptables @@ -1,21 +1,28 @@ -#!/bin/bash +#!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs ENABLED=no [[ ${ENABLED} == "yes" ]] || exit 0 +DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -DEBUGMODE=no -. usr/lib/ublinux/functions -. usr/lib/ublinux/default + +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } +SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 +SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" -echo $SYSCONF | grep -q ^/ && SYSCONF=.$SYSCONF -SOURCE=${SYSCONF}/config; [ -f "${SOURCE}" ] && . ${SOURCE} 2>/dev/null +SYSCONF="${ROOTFS}${SYSCONF}" +SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null +SOURCE=${SYSCONF}/system; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null +SOURCE=${SYSCONF}/network; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null [ -z "$IPTABLESTRUSTEDIP" ] || sed -i s-192.168.1.0/24-$IPTABLESTRUSTEDIP- etc/exports [ -z "$IPTABLESTRUSTEDIP" ] && sed -i s_"^\[.*-A INPUT -s .* -j ACCEPT.*"_'#[0:0] -A INPUT -s $IPTABLESTRUSTEDIP -j ACCEPT'_ etc/ublinux/iptables diff --git a/ublinux/rc.preinit.d/36-ufw b/ublinux/rc.preinit.d/36-ufw index 1aed295..1999ad4 100755 --- a/ublinux/rc.preinit.d/36-ufw +++ b/ublinux/rc.preinit.d/36-ufw @@ -1,21 +1,29 @@ -#!/bin/bash +#!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs ENABLED=no [[ ${ENABLED} == "yes" ]] || exit 0 +DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -DEBUGMODE=no -. usr/lib/ublinux/functions -. usr/lib/ublinux/default + +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } +SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 +SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" -echo $SYSCONF | grep -q ^/ && SYSCONF=.$SYSCONF -SOURCE=${SYSCONF}/config; [ -f "${SOURCE}" ] && . ${SOURCE} 2>/dev/null +SYSCONF="${ROOTFS}${SYSCONF}" +SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null +SOURCE=${SYSCONF}/system; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null +SOURCE=${SYSCONF}/network; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null + #[ -z "$IPTABLESTRUSTEDIP" ] || sed -i s-192.168.1.0/24-$IPTABLESTRUSTEDIP- etc/exports #[ -z "$IPTABLESTRUSTEDIP" ] && sed -i s_"^\[.*-A INPUT -s .* -j ACCEPT.*"_'#[0:0] -A INPUT -s $IPTABLESTRUSTEDIP -j ACCEPT'_ etc/ublinux/iptables diff --git a/ublinux/rc.preinit.d/40-authpam b/ublinux/rc.preinit.d/40-authpam index 8736889..6ce29fa 100755 --- a/ublinux/rc.preinit.d/40-authpam +++ b/ublinux/rc.preinit.d/40-authpam @@ -1,6 +1,9 @@ #!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; CMD_CHROOT="chroot ${ROOTFS} "; } +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" @@ -35,9 +38,9 @@ exec_authpam(){ fi elif [[ ${COMMAND} == @("set-="|"set--="|"remove") ]]; then if [[ ${AUTHPAM[0]} != @(""|disable|no|none|off) ]]; then - ${CMD_CHROOT} /usr/bin/authselect select ${AUTHPAM[0]} ${AUTHPAM_FEATURE} --force --nobackup --quiet + ${CMD_CHROOT} /usr/bin/authselect select ${AUTHPAM[0]} ${AUTHPAM_FEATURE} --force --nobackup --quiet fi - fi + fi } diff --git a/ublinux/rc.preinit.d/50-xorg b/ublinux/rc.preinit.d/50-xorg index 06cd011..ee61635 100755 --- a/ublinux/rc.preinit.d/50-xorg +++ b/ublinux/rc.preinit.d/50-xorg @@ -1,6 +1,9 @@ -#!/bin/bash +#!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; CMD_CHROOT="chroot ${ROOTFS} "; } +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" diff --git a/ublinux/rc.preinit.d/50-xorg-old b/ublinux/rc.preinit.d/50-xorg-old index c5c3f45..8b56621 100755 --- a/ublinux/rc.preinit.d/50-xorg-old +++ b/ublinux/rc.preinit.d/50-xorg-old @@ -1,6 +1,9 @@ -#!/bin/bash +#!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs diff --git a/ublinux/rc.preinit.d/51-autologin b/ublinux/rc.preinit.d/51-autologin index 5251062..e1add78 100755 --- a/ublinux/rc.preinit.d/51-autologin +++ b/ublinux/rc.preinit.d/51-autologin @@ -1,6 +1,9 @@ #!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; CMD_CHROOT="chroot ${ROOTFS} "; } +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" diff --git a/ublinux/rc.preinit.d/52-desktop b/ublinux/rc.preinit.d/52-desktop index 54b875a..703c955 100755 --- a/ublinux/rc.preinit.d/52-desktop +++ b/ublinux/rc.preinit.d/52-desktop @@ -1,6 +1,9 @@ #!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -10,7 +13,7 @@ ENABLED=yes DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=. +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" @@ -89,7 +92,7 @@ setupde(){ #[ -d etc/X11/dm/Sessions ] && cp -pf /${DESKTOP_FILE_PATH}/default.desktop etc/X11/dm/Sessions/00DEFAULT.desktop case $1 in xfce) - # FIX xfce.screensaver add button + # FIX xfce.screensaver add button [[ -f ${ROOTFS}/usr/share/dbus-1/services/org.xfce.ScreenSaver.service ]] && rm -f ${ROOTFS}/usr/share/dbus-1/services/org.xfce.ScreenSaver.service [[ -f ${ROOTFS}/etc/xdg/autostart/xscreensaver.desktop ]] && rm -f ${ROOTFS}/etc/xdg/autostart/xscreensaver.desktop ;; diff --git a/ublinux/rc.preinit.d/53-language b/ublinux/rc.preinit.d/53-language index c11ec1c..68b1b3d 100755 --- a/ublinux/rc.preinit.d/53-language +++ b/ublinux/rc.preinit.d/53-language @@ -1,6 +1,9 @@ #!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; CMD_CHROOT="chroot ${ROOTFS}"; } +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" @@ -36,7 +39,7 @@ LOCALE_CONF=${LOCALE//-/}; LOCALE_CONF=${LOCALE_CONF,,}; LOCALE_CONF=${LOCALE_CO LOCALE_SYSTEM=$(${CMD_CHROOT} localedef --list-archive | sort -fu); LOCALE_SYSTEM=${LOCALE_SYSTEM,,} [[ "${LOCALE_CONF}" == "${LOCALE_SYSTEM}" ]] || FORCEGEN=1 [[ -n ${FORCEGEN} ]] && ${CMD_CHROOT} locale-gen &>/dev/null -#; unset LANG; source /etc/profile.d/locale.sh" +#; unset LANG; source /etc/profile.d/locale.sh" # Если имеются языкозависимые файлы, то копируем в корень [[ -d ${ROOTFS}/usr/share/ublinux/langs/${LANG} ]] && cp -pfr ${ROOTFS}/usr/share/ublinux/langs/${LANG}/* ${ROOTFS}/ diff --git a/ublinux/rc.preinit.d/54-backgrounds b/ublinux/rc.preinit.d/54-backgrounds index e38c02f..14457a9 100755 --- a/ublinux/rc.preinit.d/54-backgrounds +++ b/ublinux/rc.preinit.d/54-backgrounds @@ -1,6 +1,9 @@ #!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; CMD_CHROOT="chroot ${ROOTFS} "; } +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" @@ -19,11 +22,11 @@ debug_mode "$0" "$@" SYSCONF="${ROOTFS}${SYSCONF}" SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null - find /memory/layer-base/ -maxdepth 2 -path "*" -iname "ublinux-data*.sgn" | while read FIND_FILESGN; do + find /memory/layer-base/ -maxdepth 2 -path "*" -iname "ublinux-data*.sgn" | while read FIND_FILESGN; do mkdir -p ${FIND_FILESGN%/*}/backgrounds/ublinux done [[ -d ${ROOTFS}/usr/share/backgrounds ]] || mkdir -p ${ROOTFS}/usr/share/backgrounds - if [[ $(cmdline_parameter ub.mask) == "" || $(cmdline_parameter ub.hide) == "" ]]; then + if [[ $(cmdline_parameter ub.mask) == "" || $(cmdline_parameter ub.hide) == "" ]]; then # With unmasked /memory/* , without parametre kernel ub.mask ub.hide find /memory/layer-base/ -maxdepth 3 -path "*/backgrounds/*" -exec ln -fs {} ${ROOTFS}/usr/share/backgrounds/ \; else diff --git a/ublinux/rc.preinit.d/55-multiseat b/ublinux/rc.preinit.d/55-multiseat index 04f9413..0ea43e3 100755 --- a/ublinux/rc.preinit.d/55-multiseat +++ b/ublinux/rc.preinit.d/55-multiseat @@ -1,6 +1,9 @@ -#!/bin/bash +#!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=. +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" diff --git a/ublinux/rc.preinit.d/56-openssl-engine b/ublinux/rc.preinit.d/56-openssl-engine index e20e1d4..0cb7a94 100755 --- a/ublinux/rc.preinit.d/56-openssl-engine +++ b/ublinux/rc.preinit.d/56-openssl-engine @@ -1,6 +1,9 @@ -#!/bin/bash +#!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=. +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" @@ -43,4 +46,3 @@ exec_openssl_engine(){ ################ exec_openssl_engine $@ - \ No newline at end of file diff --git a/ublinux/rc.preinit.d/57-access-denied-vtx11 b/ublinux/rc.preinit.d/57-access-denied-vtx11 index 988af7e..2d654a4 100755 --- a/ublinux/rc.preinit.d/57-access-denied-vtx11 +++ b/ublinux/rc.preinit.d/57-access-denied-vtx11 @@ -1,6 +1,9 @@ -#!/bin/bash +#!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=. +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" diff --git a/ublinux/rc.preinit.d/58-access-login b/ublinux/rc.preinit.d/58-access-login index 2f480a9..d963e90 100755 --- a/ublinux/rc.preinit.d/58-access-login +++ b/ublinux/rc.preinit.d/58-access-login @@ -1,6 +1,9 @@ -#!/bin/bash +#!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; CMD_CHROOT="chroot ${ROOTFS}"; } +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" @@ -29,7 +32,7 @@ exec_access_allowed_login(){ tr , $'\n' <<< ${ACCESS_ALLOWED_LOGIN} | while read RULE; do echo "+:${RULE}" >> "${FILE_ACCESS_CONF}" done - fi + fi } exec_access_denied_login(){ ## Управление доступом в систему, правила блокировки @@ -40,7 +43,7 @@ exec_access_denied_login(){ tr , $'\n' <<< ${ACCESS_DENIED_LOGIN} | while read RULE; do echo "-:${RULE}" >> "${FILE_ACCESS_CONF}" done - fi + fi } ################ @@ -57,7 +60,7 @@ exec_access_denied_login(){ FUNCTION= while [[ $# -gt 0 ]]; do [[ -z ${1} ]] || { declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" || FUNCTION+=" '${1}'"; } - shift + shift done eval ${FUNCTION#*; } fi diff --git a/ublinux/rc.preinit.d/59-polkit b/ublinux/rc.preinit.d/59-polkit index 13ac089..ba70af2 100755 --- a/ublinux/rc.preinit.d/59-polkit +++ b/ublinux/rc.preinit.d/59-polkit @@ -1,6 +1,9 @@ -#!/bin/bash +#!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=. +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" @@ -39,11 +42,11 @@ exec_polkit(){ done cat >> ${RULES_FILE} < +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; CMD_CHROOT="chroot ${ROOTFS} "; } +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" @@ -25,7 +28,7 @@ SOURCE=${SYSCONF}/desktop; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null ## yes|enable # Включить XDMCP с параметрами по умолчанию ## no|disable # Выключить XDMCP ## LIGHTDM_XDMCP[]= -## # Название параметра, примеры в /etc/lightdm/lightdm.conf +## # Название параметра, примеры в /etc/lightdm/lightdm.conf ## port # Порт подключения UDP/IP. По умолчанию: 177 ## address # Адрес хоста соединения XDMCP. По умолчанию: все адреса ## key # Ключ аутентификации, используемый для XDM-AUTHENTICATION-1, или пустой, чтобы не использовать аутентификацию (хранится в файлеkeys.conf) @@ -65,7 +68,7 @@ EOF ## Настройка гритера для менеджера диспелея Lightdm ## По умолчанию если не выбрано, то любой доступный, обычно 'lightdm-gtk-greeter' ## LIGHTDM_GREETER[]= -## # Название параметра, примеры в /etc/lightdm/lightdm.conf +## # Название параметра, примеры в /etc/lightdm/lightdm.conf ## greeter-session # Название установленного гритера в каталоге /usr/share/xgreeters/*.desktop ## =lightdm-gtk-greeter # LightDM GTK+ гритер ## =io.elementary.greeter # Pantheon гритер @@ -125,7 +128,7 @@ EOF FUNCTION= while [[ $# -gt 0 ]]; do [[ -z ${1} ]] || { declare -f ${1} &>/dev/null && FUNCTION+="; ${1}" || FUNCTION+=" '${1}'"; } - shift + shift done eval ${FUNCTION#*; } fi diff --git a/ublinux/rc.preinit.d/63-xorg-dpi b/ublinux/rc.preinit.d/63-xorg-dpi index 2e6d23e..98f8bf9 100755 --- a/ublinux/rc.preinit.d/63-xorg-dpi +++ b/ublinux/rc.preinit.d/63-xorg-dpi @@ -1,6 +1,9 @@ -#!/bin/bash +#!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=. +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" @@ -30,7 +33,7 @@ exec_xorg_dpi(){ GDK_DPI_SCALE=0 ELM_SCALE=1 # Масштабирование для UI Elementary QT_FONT_DPI=96 # - PLASMA_USE_QT_SCALING=0 # Разрешить Plasma использовать настройки QT по масштабированию + PLASMA_USE_QT_SCALING=0 # Разрешить Plasma использовать настройки QT по масштабированию #QT_AUTO_SCREEN_SCALE_FACTOR=0 # Автоматическое масштабирование, отключать при масштабировании вручную #QT_SCALE_FACTOR=2 # Масштабирование вручную, глобально для всех экранов #QT_SCREEN_SCALE_FACTORS="2;2;2;2" # Масштабирование вручную для каждого экрана diff --git a/ublinux/rc.preinit.d/64-swapspace b/ublinux/rc.preinit.d/64-swapspace index ef12109..53c08a8 100755 --- a/ublinux/rc.preinit.d/64-swapspace +++ b/ublinux/rc.preinit.d/64-swapspace @@ -1,6 +1,9 @@ -#!/bin/bash +#!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; CMD_CHROOT="chroot ${ROOTFS}"; } +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 @@ -41,7 +44,7 @@ exec_swapspace(){ || sed "\$a\swappath=\"${PATH_SWAP}/swap\"" -i ${ROOTFS}/etc/swapspace.conf else echo "swappath=\"${PATH_SWAP}/swap\"" >> ${ROOTFS}/etc/swapspace.conf - fi + fi fi fi } diff --git a/ublinux/rc.preinit.d/65-kesl b/ublinux/rc.preinit.d/65-kesl index fbb8362..f0b46cb 100755 --- a/ublinux/rc.preinit.d/65-kesl +++ b/ublinux/rc.preinit.d/65-kesl @@ -1,6 +1,9 @@ #!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -15,7 +18,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; CMD_CHROOT="chroot ${ROOTFS} "; } +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" diff --git a/ublinux/rc.preinit.d/70-virtualbox b/ublinux/rc.preinit.d/70-virtualbox index fe4b5d0..ad484af 100755 --- a/ublinux/rc.preinit.d/70-virtualbox +++ b/ublinux/rc.preinit.d/70-virtualbox @@ -1,6 +1,9 @@ -#!/bin/bash +#!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=. +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" diff --git a/ublinux/rc.preinit.d/71-vmware b/ublinux/rc.preinit.d/71-vmware index 7e3eb63..aeaefa6 100755 --- a/ublinux/rc.preinit.d/71-vmware +++ b/ublinux/rc.preinit.d/71-vmware @@ -1,6 +1,9 @@ -#!/bin/bash +#!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=. +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" diff --git a/ublinux/rc.preinit.d/72-hyperv b/ublinux/rc.preinit.d/72-hyperv index 8b62c86..572b223 100755 --- a/ublinux/rc.preinit.d/72-hyperv +++ b/ublinux/rc.preinit.d/72-hyperv @@ -1,6 +1,9 @@ -#!/bin/bash +#!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=. +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" diff --git a/ublinux/rc.preinit.d/73-qemu b/ublinux/rc.preinit.d/73-qemu index 58dc85e..92db566 100755 --- a/ublinux/rc.preinit.d/73-qemu +++ b/ublinux/rc.preinit.d/73-qemu @@ -1,6 +1,9 @@ -#!/bin/bash +#!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=. +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" diff --git a/ublinux/rc.preinit.d/80-server-containers-storage b/ublinux/rc.preinit.d/80-server-containers-storage index 6178cbc..c6d5cf2 100755 --- a/ublinux/rc.preinit.d/80-server-containers-storage +++ b/ublinux/rc.preinit.d/80-server-containers-storage @@ -1,6 +1,9 @@ #!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=. +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" @@ -26,7 +29,7 @@ exec_storage_containers_path(){ STORAGE_CONTAINERS_PATH_DEFAULT="/memory/layer-base/1/${STORAGE_CONTAINERS_NAME}" STORAGE_CONTAINERS_PATH_SYSTEM="/var/lib/containers/storage" FILE_STORAGE_CONTAINERS_CONF="/etc/containers/storage.conf" - + if [[ -n ${STORAGE_CONTAINERS_PATH} ]]; then if [[ ${STORAGE_CONTAINERS_PATH,,} == @(y|yes|enable) ]]; then [[ -d ${STORAGE_CONTAINERS_PATH_DEFAULT} ]] || install -dm0755 ${STORAGE_CONTAINERS_PATH_DEFAULT} @@ -35,9 +38,9 @@ exec_storage_containers_path(){ [[ -d ${STORAGE_CONTAINERS_PATH} ]] || install -dm0755 ${STORAGE_CONTAINERS_PATH} fi if ! grep -qi "^\s*graphroot = \"${STORAGE_CONTAINERS_PATH}\"" ${ROOTFS}/${FILE_STORAGE_CONTAINERS_CONF}; then - if grep -qi "^\s*graphroot" ${ROOTFS}/${FILE_STORAGE_CONTAINERS_CONF}; then + if grep -qi "^\s*graphroot" ${ROOTFS}/${FILE_STORAGE_CONTAINERS_CONF}; then sed -r "s:^\s*(graphroot).*:\1 = \"${STORAGE_CONTAINERS_PATH}\":g" -i ${ROOTFS}/${FILE_STORAGE_CONTAINERS_CONF} - elif grep -qi "^\s*#graphroot" ${ROOTFS}/${FILE_STORAGE_CONTAINERS_CONF}; then + elif grep -qi "^\s*#graphroot" ${ROOTFS}/${FILE_STORAGE_CONTAINERS_CONF}; then sed "/^\s*#graphroot\s*/agraphroot = \"${STORAGE_CONTAINERS_PATH}\"" -i ${ROOTFS}/${FILE_STORAGE_CONTAINERS_CONF} else sed "/^\s*\[storage\]\s*/agraphroot = \"${STORAGE_CONTAINERS_PATH}\"" -i ${ROOTFS}/${FILE_STORAGE_CONTAINERS_CONF} diff --git a/ublinux/rc.preinit.d/81-server-libvirt-storage b/ublinux/rc.preinit.d/81-server-libvirt-storage index b672c35..f05707d 100755 --- a/ublinux/rc.preinit.d/81-server-libvirt-storage +++ b/ublinux/rc.preinit.d/81-server-libvirt-storage @@ -1,6 +1,9 @@ #!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; CMD_CHROOT="chroot ${ROOTFS} "; } +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" diff --git a/ublinux/rc.preinit.d/90-apparmor b/ublinux/rc.preinit.d/90-apparmor index df07f5b..2a5d0cd 100755 --- a/ublinux/rc.preinit.d/90-apparmor +++ b/ublinux/rc.preinit.d/90-apparmor @@ -1,6 +1,9 @@ #!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; CMD_CHROOT="chroot ${ROOTFS} "; } +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" diff --git a/ublinux/rc.preinit.d/99-osinstall b/ublinux/rc.preinit.d/99-osinstall index c599417..90b9852 100755 --- a/ublinux/rc.preinit.d/99-osinstall +++ b/ublinux/rc.preinit.d/99-osinstall @@ -1,6 +1,9 @@ -#!/bin/bash +#!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -9,9 +12,9 @@ ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 DEBUGMODE=no -#PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin +PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=. +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" @@ -19,7 +22,7 @@ debug_mode "$0" "$@" SYSCONF="${ROOTFS}${SYSCONF}" SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null -if [ "$(cmdline_parameter ub.osinstall)" ]; then +if [[ -n "$(cmdline_parameter ub.osinstall)" ]]; then TTY_N=2 EXEC_START="/usr/bin/ubinstall.cli" sed -i "s/.*NAutoVTs=6.*/NAutoVTs=0/" ${ROOTFS}/etc/systemd/logind.conf diff --git a/ublinux/rc.preinit.d/readme.txt b/ublinux/rc.preinit.d/readme.txt index e69de29..ab7c034 100644 --- a/ublinux/rc.preinit.d/readme.txt +++ b/ublinux/rc.preinit.d/readme.txt @@ -0,0 +1,6 @@ +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Скрипты запускаются из initrd после rc.preinit +# Выполняются одновременно все и параллельно +# diff --git a/ublinux/rc.preinit/01-inifile b/ublinux/rc.preinit/01-inifile index b01ffa1..4ba7e8f 100755 --- a/ublinux/rc.preinit/01-inifile +++ b/ublinux/rc.preinit/01-inifile @@ -1,6 +1,9 @@ #!/usr/bin/env bash # -# Initial script for UBLinux +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for Linux UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) # All system path must be relative, except initrd dirs @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -unset ROOTFS CMD_CHROOT; [[ -d /usr/lib/ublinux ]] || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" diff --git a/ublinux/rc.preinit/02-skel-adds b/ublinux/rc.preinit/02-skel-adds index 02222ad..63285c0 100755 --- a/ublinux/rc.preinit/02-skel-adds +++ b/ublinux/rc.preinit/02-skel-adds @@ -1,4 +1,7 @@ -#!/bin/bash +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux # # Initial script for UBLinux # This script are launching before starting init from initrd script diff --git a/ublinux/rc.preinit/03-initvars b/ublinux/rc.preinit/03-initvars index e567576..293eedc 100755 --- a/ublinux/rc.preinit/03-initvars +++ b/ublinux/rc.preinit/03-initvars @@ -1,5 +1,8 @@ #!/usr/bin/env bash # +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# # Initial script for UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) @@ -11,7 +14,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -unset ROOTFS CMD_CHROOT; [[ -d /usr/lib/ublinux ]] || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" diff --git a/ublinux/rc.preinit/05-save-clean b/ublinux/rc.preinit/05-save-clean index b6c3be8..895de1d 100755 --- a/ublinux/rc.preinit/05-save-clean +++ b/ublinux/rc.preinit/05-save-clean @@ -1,4 +1,12 @@ #!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for UBLinux +# This script are launching before starting init from initrd script +# Current dir allways must be set to root (/) +# All system path must be relative, except initrd dirs ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 diff --git a/ublinux/rc.preinit/06-statemode b/ublinux/rc.preinit/06-statemode index 7bb5b1b..fcaf07e 100755 --- a/ublinux/rc.preinit/06-statemode +++ b/ublinux/rc.preinit/06-statemode @@ -1,4 +1,12 @@ #!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for UBLinux +# This script are launching before starting init from initrd script +# Current dir allways must be set to root (/) +# All system path must be relative, except initrd dirs ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 diff --git a/ublinux/rc.preinit/07-remounthome b/ublinux/rc.preinit/07-remounthome index 36caf95..89e5795 100755 --- a/ublinux/rc.preinit/07-remounthome +++ b/ublinux/rc.preinit/07-remounthome @@ -1,4 +1,12 @@ #!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Initial script for UBLinux +# This script are launching before starting init from initrd script +# Current dir allways must be set to root (/) +# All system path must be relative, except initrd dirs ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 diff --git a/ublinux/rc.preinit/08-install-pkg b/ublinux/rc.preinit/08-install-pkg deleted file mode 100755 index ecfa823..0000000 --- a/ublinux/rc.preinit/08-install-pkg +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/bin/env bash - -ENABLED=yes -[[ ${ENABLED} == "yes" ]] || exit 0 -DEBUGMODE=no - -[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } -SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 -SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 -debug_mode "$0" "$@" - -SYSCONF="${ROOTFS}${SYSCONF}" -SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null - -exec_install_pkg_tar(){ - LIST_PKG=$(find /memory/layer-base/*/install/preinit -type f -name "*.pkg.tar.*" -print 2>/dev/null) - if [[ -n ${ROOTFS} && -n ${LIST_PKG} ]]; then - mount -t proc /proc /${ROOTFS}/proc - mount -t sysfs /sys /${ROOTFS}/sys - mount --bind /dev/ /${ROOTFS}/dev - LC_ALL=C LD_LIBRARY_PATH="${ROOTFS}/usr/lib" ${ROOTFS}/usr/bin/pacman --sysroot ${ROOTFS} -U --noprogressbar --noconfirm ${LIST_PKG} - umount /${ROOTFS}/dev - umount /${ROOTFS}/sys - umount /${ROOTFS}/proc - elif [[ -n ${LIST_PKG} ]]; then - pacman -U --noprogressbar --noconfirm ${LIST_PKG} - fi -} - -################ -##### MAIN ##### -################ - - # Если файл подключен как ресурс с функциями, то выйти - return 0 2>/dev/null && return 0 - - exec_install_pkg_tar $@ diff --git a/ublinux/rc.preinit/10-accounts b/ublinux/rc.preinit/10-accounts index 9c01c40..7234ee6 100755 --- a/ublinux/rc.preinit/10-accounts +++ b/ublinux/rc.preinit/10-accounts @@ -1,5 +1,8 @@ #!/usr/bin/env bash # +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# # Initial script for UBLinux # This script are launching before starting init from initrd script # Current dir allways must be set to root (/) @@ -11,12 +14,11 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -CMD_CHROOT= ; [[ -d /usr/lib/ublinux ]] || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } +[[ -d /usr/lib/ublinux ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" - SYSCONF="${ROOTFS}${SYSCONF}" SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/users; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null @@ -770,8 +772,7 @@ exec_99_dm_hint_password(){ [[ ${PARAM%%=*} =~ [!\$%\&()*+,/\;\<\=\>?\^\{|\}~] ]] || eval "${PARAM%%=*}=\${PARAM#*=}" fi if [[ -n ${ROOTFS} ]]; then - if grep -q "^root:${DEFAULTROOTPASSWD}:" ${ROOTFS}/etc/shadow \ - && grep -q "^$(grep ".*:x:${ADMUID}:" ${ROOTFS}/etc/passwd | cut -d: -f1):${DEFAULTPASSWD}:" ${ROOTFS}/etc/shadow; then + if grep -q "^$(grep ".*:x:${ADMUID}:" ${ROOTFS}/etc/passwd | cut -d: -f1):${NOSECUREROOTPASSWD}:" ${ROOTFS}/etc/shadow; then [[ $(cat ${SYSCONF}/config 2>/dev/null) =~ ($'\n'|^)+'DM_HINT_PASSWORD=' ]] || echo "DM_HINT_PASSWORD=yes" >> ${SYSCONF}/config else sed "/DM_HINT_PASSWORD=/d" -i ${SYSCONF}/config diff --git a/ublinux/rc.preinit/readme.txt b/ublinux/rc.preinit/readme.txt index e69de29..c0ea8c8 100644 --- a/ublinux/rc.preinit/readme.txt +++ b/ublinux/rc.preinit/readme.txt @@ -0,0 +1,6 @@ +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# Скрипты запускаются из initrd до rc.preinit.d +# Выполняются в порядке очереди отсортированной по именам файлов +# diff --git a/ublinux/rc.runonce/readme.txt b/ublinux/rc.runonce/readme.txt index e69de29..8730bb1 100644 --- a/ublinux/rc.runonce/readme.txt +++ b/ublinux/rc.runonce/readme.txt @@ -0,0 +1,3 @@ +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# diff --git a/ublinux/rc.xorg/00-envvars b/ublinux/rc.xorg/00-envvars index 0419b43..88c043c 100755 --- a/ublinux/rc.xorg/00-envvars +++ b/ublinux/rc.xorg/00-envvars @@ -1,4 +1,8 @@ -#!/bin/bash +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 diff --git a/ublinux/rc.xorg/01-de-background b/ublinux/rc.xorg/01-de-background index fb791ee..40e964e 100755 --- a/ublinux/rc.xorg/01-de-background +++ b/ublinux/rc.xorg/01-de-background @@ -1,4 +1,8 @@ #!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} != yes ]] && exit 0 diff --git a/ublinux/rc.xorg/02-xrandr b/ublinux/rc.xorg/02-xrandr index ab3a5e3..f214aae 100755 --- a/ublinux/rc.xorg/02-xrandr +++ b/ublinux/rc.xorg/02-xrandr @@ -1,4 +1,8 @@ #!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 @@ -13,7 +17,7 @@ SOURCE=${SYSCONF}/video; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null SOURCE=${SYSCONF}/desktop; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null [[ ${DISPLAYMANAGER} == "none" ]] && exit 0 - + ## Parametrs: ## cvt , gtf , reduced|r , auto , preferred , off , primary , mode:1920x1080 ## lo|LeftOf:{name} , ro|RightOf:{name} , ab|Above:{name} , be|Below:{name} , rotate:normal|left|right|invert @@ -27,7 +31,7 @@ SOURCE=${SYSCONF}/desktop; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null if [[ -n ${SOFT_MODELINE_R} ]]; then MODELINE=$(cvt -r $(sed 's/\([0-9]* [0-9]*\) .*/\1/' <<< ${VIDEO_PORT_PARAM//x/ }) | sed '/^\s*$/d ; /^\s*#/d ; s/\s*Modeline //') SOFT_MODELINE_R= - elif [[ ${SOFT_MODELINE} == "cvt" ]]; then + elif [[ ${SOFT_MODELINE} == "cvt" ]]; then MODELINE=$(cvt ${VIDEO_PORT_PARAM//x/ } | sed '/^\s*$/d ; /^\s*#/d ; s/\s*Modeline //') else if grep -Eiq "^[0-9]*x[0-9]*$" <<< "${VIDEO_PORT_PARAM}"; then diff --git a/ublinux/rc.xorg/10-fixkeyboard_layout b/ublinux/rc.xorg/10-fixkeyboard_layout index 0c54253..7fe24e5 100755 --- a/ublinux/rc.xorg/10-fixkeyboard_layout +++ b/ublinux/rc.xorg/10-fixkeyboard_layout @@ -1,4 +1,8 @@ #!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == yes ]] || exit 0 diff --git a/ublinux/rc.xorg/20-video-xorg-dpi b/ublinux/rc.xorg/20-video-xorg-dpi index d2dac64..be41f08 100755 --- a/ublinux/rc.xorg/20-video-xorg-dpi +++ b/ublinux/rc.xorg/20-video-xorg-dpi @@ -1,4 +1,8 @@ #!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == yes ]] || exit 0 diff --git a/ublinux/rc.xorg/50-domain_join b/ublinux/rc.xorg/50-domain_join index e2cf6e2..5924a66 100755 --- a/ublinux/rc.xorg/50-domain_join +++ b/ublinux/rc.xorg/50-domain_join @@ -1,4 +1,8 @@ -#!/bin/bash +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# # to be sourced ENABLED=yes diff --git a/ublinux/rc.xorg/60-checknet b/ublinux/rc.xorg/60-checknet index 2c61146..1494278 100755 --- a/ublinux/rc.xorg/60-checknet +++ b/ublinux/rc.xorg/60-checknet @@ -1,4 +1,8 @@ -#!/bin/sh +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=no [[ ${ENABLED} == "yes" ]] || exit 0 diff --git a/ublinux/rc.xorg/90-secretnet b/ublinux/rc.xorg/90-secretnet index da6a136..f8110f0 100755 --- a/ublinux/rc.xorg/90-secretnet +++ b/ublinux/rc.xorg/90-secretnet @@ -1,4 +1,8 @@ -#!/bin/bash +#!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# ENABLED=yes [[ ${ENABLED} == "yes" ]] || exit 0 diff --git a/ublinux/rc.xorg/readme.txt b/ublinux/rc.xorg/readme.txt index e69de29..8730bb1 100644 --- a/ublinux/rc.xorg/readme.txt +++ b/ublinux/rc.xorg/readme.txt @@ -0,0 +1,3 @@ +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# diff --git a/ublinux/rootfs-patches/ublinux/ublinux-00-install.sh b/ublinux/rootfs-patches/ublinux/ublinux-00-install.sh index 2b016dd..6b9ee9a 100755 --- a/ublinux/rootfs-patches/ublinux/ublinux-00-install.sh +++ b/ublinux/rootfs-patches/ublinux/ublinux-00-install.sh @@ -1,4 +1,8 @@ #!/usr/bin/env bash +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# unset ROOTFS && [[ -d /usr/lib/ublinux ]] || ROOTFS="." @@ -51,4 +55,4 @@ X-KDE-SubstituteUID=false X-KDE-Username= EOF -exit 0 +true diff --git a/ublinux/systemd/printers-setup@.service b/ublinux/systemd/printers-setup@.service index cff4c14..7fa7692 100644 --- a/ublinux/systemd/printers-setup@.service +++ b/ublinux/systemd/printers-setup@.service @@ -1,3 +1,14 @@ +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. + [Unit] Description=UBLinux configure Plugged-In Printer Requires=cups.socket diff --git a/ublinux/systemd/ublinux-postinit.service b/ublinux/systemd/ublinux-postinit.service index 34949da..b548547 100644 --- a/ublinux/systemd/ublinux-postinit.service +++ b/ublinux/systemd/ublinux-postinit.service @@ -1,3 +1,14 @@ +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. + [Unit] Description=UBLinux autorun scripts - postinit stage DefaultDependencies=no diff --git a/ublinux/systemd/ublinux-pre-shutdown.service b/ublinux/systemd/ublinux-pre-shutdown.service index c0a4642..edee8a3 100644 --- a/ublinux/systemd/ublinux-pre-shutdown.service +++ b/ublinux/systemd/ublinux-pre-shutdown.service @@ -1,3 +1,14 @@ +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. + [Unit] Description=UBLinux autorun scripts before shutdown event Before=shutdown.target umount.target diff --git a/ublinux/systemd/ublinux-rc-local.service b/ublinux/systemd/ublinux-rc-local.service index 7c655d4..248b530 100644 --- a/ublinux/systemd/ublinux-rc-local.service +++ b/ublinux/systemd/ublinux-rc-local.service @@ -1,8 +1,12 @@ +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# # This file is part of systemd. # # systemd is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or # (at your option) any later version. [Unit] diff --git a/ublinux/systemd/ublinux-rc-network.service b/ublinux/systemd/ublinux-rc-network.service index 355da3f..5cb6c79 100644 --- a/ublinux/systemd/ublinux-rc-network.service +++ b/ublinux/systemd/ublinux-rc-network.service @@ -1,8 +1,12 @@ +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# # This file is part of systemd. # # systemd is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or # (at your option) any later version. [Unit] diff --git a/ublinux/systemd/ublinux-shutdown.service b/ublinux/systemd/ublinux-shutdown.service index 6650dde..51d4039 100644 --- a/ublinux/systemd/ublinux-shutdown.service +++ b/ublinux/systemd/ublinux-shutdown.service @@ -1,3 +1,7 @@ +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# # This file is part of systemd. # # systemd is free software; you can redistribute it and/or modify it diff --git a/ublinux/templates/ublinux-data.ini b/ublinux/templates/ublinux-data.ini index 46feb28..41c9947 100644 --- a/ublinux/templates/ublinux-data.ini +++ b/ublinux/templates/ublinux-data.ini @@ -1,3 +1,6 @@ +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# # Файл ublinux.ini рекомендуется использовать в папке /ublinux-data/ # Если вы работаете в режиме песочницы и у вас отсутствует папка # /ublinux-data/, вы можете перенести его в папку /ublinux/ @@ -94,7 +97,7 @@ VERSION= ## # Имя сервиса/юнита, если не указан тип, то используется '.service'. Пример: nmb #SERVICES_UNMASK=adb -## Включить Apparmor, по умолчанию отключен +## Включить Apparmor, по умолчанию отключен #APPARMOR=yes ## Установить переменные окружения глобальные и пользовательские @@ -119,8 +122,8 @@ VERSION= ## winbind # Enable winbind for system authentication ## # Функции для профиля, доступные функции для профиля: ## with-altfiles with-ecryptfs with-faillock with-files-access-provider with-files-domain with-pamaccess with-silent-lastlog with-sudo with-systemd-homed with-time without-nullok -## with-fingerprint with-pam-u2f with-pam-u2f-2fa without-nullokwithout-pam-u2f-nouserok -## with-smartcard with-smartcard-lock-on-removal with-smartcard-required +## with-fingerprint with-pam-u2f with-pam-u2f-2fa without-nullokwithout-pam-u2f-nouserok +## with-smartcard with-smartcard-lock-on-removal with-smartcard-required ## with-mdns4 with-mdns6 with-mkhomedir with-mkhomedir-simple with-nispwquality ## disable|no|off # Отключить выбор профиля ## Информация о профиле: authselect show sssd @@ -211,7 +214,7 @@ VERSION= ## # Основная группа пользователя, номер или имя, если выбрано пусто или 'x', то 'user_group=user_name' ## # Если не указан и существует каталог /home/ , то будет взят у этого каталога ## # Дополнительные группы пользователя. Дополнительные к USERGROUPS -## # Если группа отсутствует или 'x', то 'extra_groups=users'. Если группа не существует, то будет создана. Перечисление через запятую. +## # Если группа отсутствует или 'x', то 'extra_groups=users'. Если группа не существует, то будет создана. Перечисление через запятую. ## # Дополнительные параметры, например: '--shell /bin/bash --create-home --no-create-home --no-user-group --non-unique' ## --home-dir <ДОМ_КАТ> # Домашний каталог новой учётной записи ## -s, --shell /bin/bash # Регистрационная оболочка новой учётной записи @@ -508,9 +511,9 @@ VERSION= ## # Устройство подключения ## # Назначенная группа на точку монтирования. Пример: users ## # Назначенные права доступа. Пример: 775 -## # Опции подключения. Пример: noacl -#AUTOMOUNT_SHARE[/media/direct:sdb1]='direct:/dev/sdb1:wheel:775:noacl' -#AUTOMOUNT_SHARE[/media/sda4]='direct:/dev/sda4:wheel:775:noacl' +## # Опции подключения. Пример: noexec,nosuid +#AUTOMOUNT_SHARE[/media/direct:sdb1]='direct:/dev/sdb1:wheel:775' +#AUTOMOUNT_SHARE[/media/sda4]='direct:/dev/sda4:wheel:775:noexec,nosuid' ## ## AUTOMOUNT_SHARE[]='virtiofs::[]:[]:[]' ## # Точка монтирования. Пример: /media/virtiofs:mytag @@ -650,9 +653,9 @@ VERSION= ## maxsize # Файлы журналов ротируются, когда их размер превышает размер байтов k,M,G, даже до истечения дополнительно указанного интервала времени (daily,weekly,monthly,yearly) ## # Настройки файлов и папок ## create [] [] [] -## # Указывает, что необходимо создать пустой лог файл после перемещения старого, не обязательные +## # Указывает, что необходимо создать пустой лог файл после перемещения старого, не обязательные ## # аттрибуты разрешения -## # имя пользователь +## # имя пользователь ## # имя группы файла ## nocreate # Указывает, что необходимо создать пустой лог файл после перемещения старого ## copytruncate # После создания копии, обрезать исходный файл журнала взамен перемещения старого файла журнала и создания нового @@ -672,14 +675,14 @@ VERSION= ## mailfirst # Отсылать первую ротированную копию ## maillast # Отсылать последнюю ротированную копию ## # Настройка выполнения сценариев -## sharedscripts # Сценарии предварительной и последующей ротации запускаются для каждого ротируемого журнала. +## sharedscripts # Сценарии предварительной и последующей ротации запускаются для каждого ротируемого журнала. ## # Один сценарий может быть запущен несколько раз для записей файла журнала, которые соответствуют нескольким файлам. ## firstaction # Сценарий выполняется один раз перед ротацией всех файлов журналов ## lastaction # Сценарий выполняется один раз после ротации всех файлов журналов ## prerotate # Сценарий выполняется до ротации файла журнала ## postrotate # Сценарий выполняется после ротации файла журнала. ## preremove # Сценарий выполняется один раз непосредственно перед удалением файла журнала -## ,, # Команды сценария +## ,, # Команды сценария ## endscript # Обязательный операнд после команд сценария firstaction,lastaction,prerotate,postrotate,preremove,endscript ## # Пример записи сценария: sharedscripts,postrotate,/usr/bin/chronyc cyclelogs > /dev/null 2>&1 || true,echo Ok,endscript #LOGROTATE[samba]="/var/log/samba/log.smbd,/var/log/samba/log.nmbd,/var/log/samba/*.log:notifempty,missingok,copytruncate" @@ -718,10 +721,10 @@ VERSION= ## *loglevel=3 # Уменьшить глубину вывода предупреждений в логе. По умолчанию #GRUB_BOOT_SILENT="splash loglevel=3" -## Устройство ввода для терминала +## Устройство ввода для терминала ## GRUB_TERMINAL_INPUT="console serial" -## Устройство вывода для терминала +## Устройство вывода для терминала ## GRUB_TERMINAL_OUTPUT= ## Мелодия при включении ПК @@ -734,7 +737,7 @@ VERSION= ## nomodeset # Отключить выбор и загрузку ядром драйверов видео ## i915.enable_dc=0 # Отключить управление питанием графического процессора ## ahci.mobile_lpm_policy=1 # Максимальная производительность, управление питанием -## intel_idle.max_cstate=1 # Ограничивает состояния сна процессора, это предотвращает переход процессора в состояния глубокого сна +## intel_idle.max_cstate=1 # Ограничивает состояния сна процессора, это предотвращает переход процессора в состояния глубокого сна ## intel_idle.max_cstate=4 # Устраняет мерцание дисплея ноутбука на процессорах Ultra Voltage ## snd-intel-dspcfg.dsp_driver=1 # Принудительный выбор драйвера звукового устройства от Intel ## snd-intel-dspcfg.dsp_driver=3 @@ -817,7 +820,7 @@ VERSION= ## job_memory_max # Максимальное ограничение памяти по умолчанию для каждого задания, по умолчанию: 1073741824 (1Гб) ## ## server_comm_use_hostnames # Разрешить серверам подключаться друг к другу по именам хостов, полезно с меняющимися IP адресами. Значения: *false, true -## web_direct_connect # Разрешить веб-интерфейсу прямое подключение к главному серверу, полезно при использовании нескольких резервных серверов +## web_direct_connect # Разрешить веб-интерфейсу прямое подключение к главному серверу, полезно при использовании нескольких резервных серверов ## # или балансировщик нагрузки или обратного прокси. Значения: *false, true ## web_socket_use_hostnames # Разрешить веб-интерфейсу подключаться к внутренним серверам, используя их имена хостов, а не IP-адреса. Значения: *false, true ## # Это свойство вступает в силу только в том случае, если web_direct_connect=true @@ -911,18 +914,18 @@ VERSION= ## # IP адрес сервера DNS, который имеет информацию о домене. При наличии нескольких DNS или разных DNS в сети. ## DOMAIN[dns]=192.168.1.1 -## Пользователь имеющий права ввода в домен. -## Применяется, если необходимо автоматизировать ввод в домен с большого числа ПК, или при работе в режиме полной песочницы, где невозможно сохранить +## Пользователь имеющий права ввода в домен +## Применяется, если необходимо автоматизировать ввод в домен с большого числа ПК, или при работе в режиме полной песочницы, где невозможно сохранить ## Пароль кодировать в base64: echo 'password' | base64 ## DOMAIN[admanger]=:' -## DOMAIN[admanger]=Администратор:0J3QvtCy0YvQuV/QlNC10L3RjCEK +## DOMAIN[admanger]=Администратор:dWJsaW51eA== ## TODO: Группа на контроллере домена, пользователи которой будут иметь права для sudo ## DOMAIN[group:sudoers]=sudoers@ubdc.ru ## TODO: Группа на контроллере домена, пользователи которой будут иметь права для доступа по ssh ## DOMAIN[group:ssh]=sudoers@ubdc.ru - + ## Ограничить пользователей.групп, которым разрешён вход в домен. Всем остальным запрещён. Только access_provider=simple ## REALM_PERMIT_USER=user-1@ubdc.ru,user-2@ubdc.ru ## REALM_PERMIT_GROUP="пользователи домена@ubdc.ru" @@ -940,7 +943,7 @@ VERSION= ## REALM_SSSD[offline_credentials_expiration:pam]=3 ## Короткие имена пользователей домена "user" | полные "user@domain.ru" [False|*True] ## REALM_SSSD[use_fully_qualified_names]=False -## Строить карту всех пользователей домена на локальном ПК [False|*True] +## Строить карту всех пользователей домена на локальном ПК [False|*True] ## REALM_SSSD[ldap_id_mapping]=False ## Перечисление всех пользователей и групп, нагружает сервер домена при большом числе пользователей [*False|True] ## REALM_SSSD[enumerate]=True @@ -1055,7 +1058,7 @@ VERSION= ## PROXY_SYSTEM[]= ## =|http|https|ftp|socks|rsync|all|auto|exclude ## # Если пусто, то применить глобально, используется только с SERVER=no|n|disable -## http # Прокси для протокола HTTP +## http # Прокси для протокола HTTP ## https # Прокси для протокола HTTPS ## ftp # Прокси для протокола FTP ## socks # Прокси для протокола SOCKS @@ -1262,7 +1265,7 @@ VERSION= ## Показать мониторинг потребляемых ресурсов: systemd-cgtop -c; systemd-cgtop -m ## Показать статус и используемые ограничения: systemctl status user.slice --no-page ## Единицы измерения: %, K, M, G, T -## unit: system.slice, user.slice, user-0.slice, user-1000.slice, smb.service, cups.service, httpd.service, +## unit: system.slice, user.slice, user-0.slice, user-1000.slice, smb.service, cups.service, httpd.service, ## user: superadmin, user-1 # Системное имя пользователя ## property: ## MemoryHigh=200M # Мягкое ограничение ОЗУ, юнит выходящий за рамки потребления ограничивается @@ -1323,11 +1326,11 @@ VERSION= ## Режим киоска XFCE4, запретить изменять параметры пользователям и группам ## XFCE4_KIOSK[:]= ## # Пользователи и группы, варианты значений: -## =ALL # Разрешить всем -## =NONE # Запретить +## =ALL # Разрешить всем +## =NONE # Запретить ## =@whell,@users # Разрешить группам -## =superadmin,user-1 # Разрешить пользователям -## =@wheel,user-1 # Разрешить группе и пользователю +## =superadmin,user-1 # Разрешить пользователям +## =@wheel,user-1 # Разрешить группе и пользователю #XFCE4_KIOSK[xfce4-panel:CustomizePanel]=@wheel #XFCE4_KIOSK[xfce4-session:SaveSession]=NONE #XFCE4_KIOSK[xfce4-session:CustomizeSplash]=NONE @@ -1349,7 +1352,7 @@ VERSION= ## # Пользователи и группы, варианты значений: ## =* # Все пользователи ## =@whell;@users # Указанные группы -## =superadmin;user-1 # Указанным пользователям +## =superadmin;user-1 # Указанным пользователям ## =@wheel;user-1 # Указанным группам и пользователям ## XFCE4_KIOSK_USER_LOCKED="*" @@ -1360,7 +1363,7 @@ VERSION= ## # Пользователи и группы, варианты значений: ## =* # Все пользователи ## =@whell;@users # Указанные группы -## =superadmin;user-1 # Указанным пользователям +## =superadmin;user-1 # Указанным пользователям ## =@wheel;user-1 # Указанным группам и пользователям ## XFCE4_KIOSK_USER_UNLOCKED="root,@wheel" @@ -1386,7 +1389,7 @@ VERSION= ## [] # Разрешить пользователям, пример: [superadmin,user-1]. Разделитель: запятая, точка с запятой ## [<@groups>] # Разрешить группе, пример: [@whell,@users] ## # Можно комбинировать группы с пользователями, пример: @wheel,user-1 -## =: # Значение, может принимать: hide, show +## =: # Значение, может принимать: hide, show ## =hide # Скрыть кнопку ## =show # Показать кнопку #XFCE4_DIALOGPOWER_LOGOUT[@users]=hide @@ -1507,7 +1510,7 @@ VERSION= ## Поддерживает Multiseat по номеру порта display:0=port:5900 display:1=port:5901 display:2=port:5902 ## X11VNC[password]= ## # Пароль кодировать в base64: echo 'ublinux' | base64 -## # Пароль для VNC сервиса x11vnc-ublinux:*.service. Настроен на работу только по паролю для всех рабочих мест. +## # Пароль для VNC сервиса x11vnc-ublinux:*.service. Настроен на работу только по паролю для всех рабочих мест. ## # Создаёт шифрованный пароль в файле /root/.vnc/.passwd ## X11VNC[password]=dWJsaW51eAo= @@ -1566,7 +1569,7 @@ VERSION= [/etc/ublinux/video] ## Настройка видеоподсистемы ################################################################################ -## Загрузить подходящий видеодрайвер, вначале пытаемся запустить проприетарный, после свободный. +## Загрузить подходящий видеодрайвер, вначале пытаемся запустить проприетарный, после свободный. ## Модули видеодрайверов с нужной версией должны быть подключены. По умолчанию отключено (no). ## VGADRV_AUTO=yes|*no #VGADRV_AUTO=yes @@ -1618,7 +1621,7 @@ VERSION= [/etc/ublinux/theme] ## Настройка тем ################################################################################ -# Доступные темы: ublinux(по умолчанию) ublinux-green ublinux-dark +# Доступные темы: ublinux(по умолчанию) ublinux-green ublinux-dark #THEME=ublinux ## Выбор обоев рабочего стола: XFCE4, Plasma diff --git a/ublinux/templates/ublinux.ini b/ublinux/templates/ublinux.ini index f177aed..ff7e1a3 100644 --- a/ublinux/templates/ublinux.ini +++ b/ublinux/templates/ublinux.ini @@ -1,6 +1,6 @@ # Файл ublinux.ini рекомендуется использовать в папке /ublinux-data/ -# Если вы работаете в режиме песочницы и у вас отсутствует папка +# Если вы работаете в режиме песочницы и у вас отсутствует папка # /ublinux-data/, вы можете перенести его в папку /ublinux/ # We recommend using the ublinux.ini file in the /ublinux-data/ folder -# If you are working in sandbox mode and you don't have the /ublinux-data/ +# If you are working in sandbox mode and you don't have the /ublinux-data/ # folder, you can move it to the /ublinux/ folder \ No newline at end of file diff --git a/ublinux/udev/70-nvidia-ubconfig.rules b/ublinux/udev/70-nvidia-ubconfig.rules index f87f7d7..7fac68d 100644 --- a/ublinux/udev/70-nvidia-ubconfig.rules +++ b/ublinux/udev/70-nvidia-ubconfig.rules @@ -1 +1,6 @@ +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# + ACTION=="add", DEVPATH=="/bus/pci/drivers/nvidia", RUN+="/usr/bin/nvidia-modprobe -c0 -u" \ No newline at end of file diff --git a/ublinux/udev/70-setup-prn-ubconfig.rules b/ublinux/udev/70-setup-prn-ubconfig.rules index 118bafd..7e05368 100644 --- a/ublinux/udev/70-setup-prn-ubconfig.rules +++ b/ublinux/udev/70-setup-prn-ubconfig.rules @@ -1,3 +1,8 @@ +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# + # UDEV rules for USB devices - ENV variables can be monitored # via 'sudo udevadm monitor --udev --subsystem-match=usb --property' # Low-level USB device add trigger diff --git a/ublinux/udev/99-hide-partition-ubconfig.rules b/ublinux/udev/99-hide-partition-ubconfig.rules index 06ef611..8a89de2 100644 --- a/ublinux/udev/99-hide-partition-ubconfig.rules +++ b/ublinux/udev/99-hide-partition-ubconfig.rules @@ -1,3 +1,8 @@ +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# + # Hide loop partitions ENV{ID_FS_TYPE}=="squashfs", ENV{UDISKS_IGNORE}="1" diff --git a/ublinux/udev/99-printers-local-ubconfig.rules b/ublinux/udev/99-printers-local-ubconfig.rules index e491fb5..db75e84 100644 --- a/ublinux/udev/99-printers-local-ubconfig.rules +++ b/ublinux/udev/99-printers-local-ubconfig.rules @@ -1,3 +1,8 @@ +# +# Author: Dmitry Razumov +# Copyright (c) 2021-2025 UBLinux +# + # UDEV rules for USB devices - ENV variables can be monitored # via 'sudo udevadm monitor --udev --subsystem-match=usb --property' # Low-level USB device add trigger