diff --git a/ublinux/default b/ublinux/default index fe57d46..997daf4 100644 --- a/ublinux/default +++ b/ublinux/default @@ -29,8 +29,8 @@ declare -A REPOSITORY #rc.desktop/all/ublinuxupdate UBLINUXUPDATE=ask -MUPDSRCHTTP=http://mirror.yandex.ru/mirrors/ublinux/netlive -MUPDSRCRSYNC=rsync://mirror.yandex.ru:/mirrors/ublinux/netlive +MUPDSRCHTTP=http://mirror.yandex.ru/ublinux/netlive +MUPDSRCRSYNC=rsync://mirror.yandex.ru:/ublinux/netlive #rc.desktop/all/xbindkeys #XBINDKEYSSTART=yes @@ -239,7 +239,7 @@ REPOSITORY[core]=/etc/pacman.d/mirrorlist REPOSITORY[extra]=/etc/pacman.d/mirrorlist REPOSITORY[community]=/etc/pacman.d/mirrorlist REPOSITORY[multilib]=/etc/pacman.d/mirrorlist -REPOSITORY[ublinux]=/etc/pacman.d/mirrorlist REPOSITORY[modules]=/etc/pacman.d/mirrorlist +#REPOSITORY[ublinux]=/etc/pacman.d/mirrorlist UBPILE_SECRET_KEY="4a6ed27e0434490028ff63b11f12fb7c" diff --git a/ublinux/rc.d/init.d/compcache b/ublinux/rc.d/init.d/compcache deleted file mode 100755 index 63c089d..0000000 --- a/ublinux/rc.d/init.d/compcache +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/sh -# -# Compcache startup script -# -# chkconfig: 2345 26 59 -# -# description: Compcache uses part of the RAM as a compressed swap device -# -### BEGIN INIT INFO -# Provides: compcache -# Default-Start: 2 3 4 5 -# Short-Description: Compcache service -# Description: Compcache uses part of the RAM as a compressed swap device -### END INIT INFO - -. /lib/lsb/init-functions - -[ -f /etc/ublinux/services/compcache ] && . /etc/ublinux/services/compcache - -NUM_DEVICES=${NUM_DEVICES:-4} -[ -z "$ZRAMSIZE" ] && ZRAMSIZE=$(($(free -b | grep -m1 -i ^mem: | awk '{print $2}') /4)) -GPRINTF=gprintf -[ -f /etc/init.d/functions ] || GPRINTF=log_daemon_msg - -case "$1" in - start) - $GPRINTF "Loading compcache: " - /sbin/modprobe zram num_devices=$NUM_DEVICES && \ - echo $ZRAMSIZE > /sys/block/zram0/disksize && \ - mkswap /dev/zram0 >/dev/null 2>&1 && \ - swapon /dev/zram0 - RETVAL=$? - if [ $RETVAL = 0 ]; then - log_success_msg $"%s startup" "$base" - else - log_failure_msg $"%s startup" "$base" - fi - echo - [ $RETVAL -eq 0 ] && touch /var/lock/subsys/compcache - ;; - stop) - $GPRINTF "Stopping compcache: " - test -e /dev/zram0 && swapoff /dev/zram0 && sleep 0.5 && rmmod zram - RETVAL=$? - if [ $RETVAL = 0 ]; then - log_success_msg $"%s stop" "$base" - else - log_failure_msg $"%s stop" "$base" - fi - echo - [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/compcache - ;; - status) - swapon -s | grep -q /dev/zram0 - RETVAL=$? - ;; - restart|reload) - $0 stop - $0 start - ;; - *) - echo "Usage: $0 {start|stop|status|restart}" - RETVAL=1 - ;; -esac - -exit $RETVAL diff --git a/ublinux/rc.d/init.d/ntlmaps b/ublinux/rc.d/init.d/ntlmaps deleted file mode 100755 index 350bf85..0000000 --- a/ublinux/rc.d/init.d/ntlmaps +++ /dev/null @@ -1,113 +0,0 @@ -#!/bin/sh -# -# Polipo Startup script for the NTLM Authorization Proxy Server -# -# chkconfig: - 95 15 -# description: NTLMAPS is a proxy-like software, that will authorize you at MS proxy server\ -# and at web servers (ISS especially) using MS proprietary NTLM authorization method -# processname: ntlmaps -### BEGIN INIT INFO -# Provides: ntlmaps -# Required-Start: $local_fs $network $named winbind -# Required-Stop: $local_fs $network $named winbind -# Short-Description: NTLM Authorization Proxy Server -# Default-Start: 3 4 5 -# Description: NTLMAPS is a proxy-like software, that will authorize you at MS proxy server -# and at web servers (ISS especially) using MS proprietary NTLM authorization method. -### END INIT INFO - -# Source function library. -. /lib/lsb/init-functions - -# Source networking configuration -[ -f /etc/ublinux/network ] && . /etc/ublinux/network - -STATUS=status -[ -f /etc/init.d/functions ] || STATUS=status_of_proc -GPRINTF=gprintf -[ -f /etc/init.d/functions ] || GPRINTF=log_daemon_msg - -ntlmaps=${NTLMAPS-/usr/share/ntlmaps/ntlmaps} -prog=ntlmaps -config=${CONFIG-/etc/ntlmaps.cfg} -pidfile=${PIDFILE-/var/run/ntlmaps.pid} -lockfile=${LOCKFILE-/var/lock/subsys/ntlmaps} -logdir=${LOGDIR-/var/log/ntlmaps} -pwddir=$PWD -port=5865 -TIMEOUT=${TIMEOUT-10} -RETVAL=0 - - -start() { - # Check that networking is up. - [ ${NETWORKING} = "no" ] && exit 1 - [ -x $ntlmaps ] || exit 1 - [ `id -u` -ne 0 ] && exit 4 - # check if the config is present - [ -f $config ] || exit 6 - [ -f $pidfile ] && exit 1 - [ -d $logdir ] || mkdir $logdir - chmod 700 $logdir - cd $logdir - $GPRINTF "Starting ntlmaps: " "$prog" - start_daemon $ntlmaps -c $config /dev/null 2>/dev/null & - while [ "$TIMEOUT" != "0" ] ;do - PRPID=$(/usr/sbin/lsof 2>/dev/null| grep ":$port .LISTEN." | awk '{print $2}') - [ -z "$PRPID" ] || break - sleep 1 - TIMEOUT=$(( $TIMEOUT - 1 )) - done - if [ "$PRPID" = "" ] ;then - RETVAL=1 - log_failure_msg - else - RETVAL=0 - log_success_msg - touch ${lockfile} - echo -ne $PRPID > ${pidfile} - fi - echo - cd $pwddir - return $RETVAL -} -stop() { - $GPRINTF "Stopping ntlmaps: " "$prog" - PRPID=$(cat $pidfile 2>/dev/null) - if [ "$PRPID" = "" ] ;then - log_failure_msg - else - kill $PRPID >/dev/null 2>&1 && log_success_msg || log_failure_msg - fi - echo - rm -f ${lockfile} ${pidfile} 2>/dev/null -} - -# See how we were called. -case "$1" in - start) - start - ;; - stop) - stop - ;; - status) - $STATUS -p ${pidfile} $prog - RETVAL=$? - ;; - restart) - stop - start - ;; - condrestart|try-restart) - if $STATUS -p ${pidfile} $ntlmaps >&/dev/null; then - stop - start - fi - ;; - *) - echo "Usage: $prog {start|stop|restart|condrestart|status}" - RETVAL=3 -esac - -exit $RETVAL diff --git a/ublinux/rc.halt.pre/10-shutdown b/ublinux/rc.halt.pre/10-shutdown index cbb5ce3..d1520a6 100755 --- a/ublinux/rc.halt.pre/10-shutdown +++ b/ublinux/rc.halt.pre/10-shutdown @@ -18,9 +18,9 @@ SOURCE=${SYSCONF}/desktop; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null # Stop DisplayManager #HALTSERVICESSTOP="$HALTSERVICESSTOP $(echo $SERVICES_ENABLE | tr "," " ") display-manager.service" -#HALTSERVICESSTOP="$HALTSERVICESSTOP $(systemctl list-units --type=service --state=running | egrep "$DISPLAYMANAGER.*running" | awk '{$1=$1;print}' | cut -d ' ' -f 1 | xargs)" +#HALTSERVICESSTOP="$HALTSERVICESSTOP $(systemctl list-units --type=service --state=running | grep -E "$DISPLAYMANAGER.*running" | awk '{$1=$1;print}' | cut -d ' ' -f 1 | xargs)" # Stop all running service -#HALTSERVICESSTOP="$HALTSERVICESSTOP $(systemctl list-units --type=service --state=running | egrep "running" | awk '{$1=$1;print}' | cut -d ' ' -f 1 | egrep -v " $HALTEXCLUDESTOP" | xargs)" +#HALTSERVICESSTOP="$HALTSERVICESSTOP $(systemctl list-units --type=service --state=running | grep -E "running" | awk '{$1=$1;print}' | cut -d ' ' -f 1 | egrep -v " $HALTEXCLUDESTOP" | xargs)" for i in ${HALTSERVICESSTOP}; do [ -z "${i}" ] || systemctl stop ${i} 2>/dev/null done diff --git a/ublinux/rc.halt.pre/70-savetomodule b/ublinux/rc.halt.pre/70-savetomodule index 3817cab..f8aba53 100755 --- a/ublinux/rc.halt.pre/70-savetomodule +++ b/ublinux/rc.halt.pre/70-savetomodule @@ -24,7 +24,7 @@ IMSRC=$(readlink -f /mnt/live/memory/images) [ -f /.savetomodule ] && SAVETOMODULE=${SAVETOMODULE-yes} grep -q save2module /proc/cmdline && SAVETOMODULE=${SAVETOMODULE-yes} # if machine was freezed -egrep -q '/dynamic/|/static/' /.savetomodule 2>/dev/null && [ -f "$(sed s=dynamic=static= /.savetomodule)" ] && SAVETOMODULE=no +grep -Eq '/dynamic/|/static/' /.savetomodule 2>/dev/null && [ -f "$(sed s=dynamic=static= /.savetomodule)" ] && SAVETOMODULE=no # if machine was unfreezed grep -q /static/ /.savetomodule 2>/dev/null && [ ! -f "$(cat /.savetomodule)" ] && SAVETOMODULENAME=$(sed s=static=dynamic= /.savetomodule) SAVETOMODULEDIR="$(dirname $SAVETOMODULENAME)" diff --git a/ublinux/rc.halt.pre/81-kernel b/ublinux/rc.halt.pre/81-kernel index b08defb..8651e93 100755 --- a/ublinux/rc.halt.pre/81-kernel +++ b/ublinux/rc.halt.pre/81-kernel @@ -8,9 +8,18 @@ PATH_KERNEL="/usr/lib/modules" copy_newkernel_to_boot(){ # Найти все файлы ядра и initramfs и которые отсутствуют - find ${PATH_KERNEL} -maxdepth 2 -name "vmlinuz-*.*.*-*" -exec bash -c "[[ -f ${PATH_BOOT}/\${1##*/} ]] || install -CDm400 -o root -g root \$(readlink -e \${1}) ${PATH_BOOT}/\${1##*/}" bash {} \; - find ${PATH_KERNEL} -maxdepth 2 -name "ublinux-*.*.*-*" -exec bash -c "[[ -f ${PATH_BOOT}/\${1##*/} ]] || install -CDm400 -o root -g root \$(readlink -e \${1}) ${PATH_BOOT}/\${1##*/}" bash {} \; - find ${PATH_KERNEL} -maxdepth 2 -name "addon-*.*.*-*" -exec bash -c "[[ -f ${PATH_BOOT}/\${1##*/} ]] || install -CDm400 -o root -g root \$(readlink -e \${1}) ${PATH_BOOT}/\${1##*/}" bash {} \; + find ${PATH_KERNEL} -maxdepth 2 -name "vmlinuz-*.*.*-*" -print | while read FIND_FILE; do + [[ $(stat -c%s $(readlink -e ${FIND_FILE} 2>/dev/null) != $(stat -c%s ${PATH_BOOT}/${FIND_FILE##*/} 2>/dev/null) ]] \ + && install -CDm400 -o root -g root $(readlink -e ${FIND_FILE}) ${PATH_BOOT}/${FIND_FILE##*/} + done + find ${PATH_KERNEL} -maxdepth 2 -name "ublinux-*.*.*-*" -print | while read FIND_FILE; do + [[ $(stat -c%s $(readlink -e ${FIND_FILE} 2>/dev/null) != $(stat -c%s ${PATH_BOOT}/${FIND_FILE##*/} 2>/dev/null) ]] \ + && install -CDm400 -o root -g root $(readlink -e ${FIND_FILE}) ${PATH_BOOT}/${FIND_FILE##*/} + done + find ${PATH_KERNEL} -maxdepth 2 -name "addon-*.*.*-*" -print | while read FIND_FILE; do + [[ $(stat -c%s $(readlink -e ${FIND_FILE} 2>/dev/null) != $(stat -c%s ${PATH_BOOT}/${FIND_FILE##*/} 2>/dev/null) ]] \ + && install -CDm400 -o root -g root $(readlink -e ${FIND_FILE}) ${PATH_BOOT}/${FIND_FILE##*/} + done } remove_oldkernel_from_boot(){ diff --git a/ublinux/rc.halt.pre/90-deactivate b/ublinux/rc.halt.pre/90-deactivate index 054551e..79fd3c3 100755 --- a/ublinux/rc.halt.pre/90-deactivate +++ b/ublinux/rc.halt.pre/90-deactivate @@ -13,14 +13,14 @@ IMAGES=/memory/bundles sync; sync; sync; echo 3 > /proc/sys/vm/drop_caches # umount any modules squashfs -#egrep " squashfs" /proc/mounts | cut -d " " -f2 | while read i ; do -egrep " squashfs" /proc/mounts | cut -d " " -f2 | sed '1!G;h;$!d' | egrep -v " ${COREMODS}" | while read ITEM ; do +#grep -E " squashfs" /proc/mounts | cut -d " " -f2 | while read i ; do +grep -E " squashfs" /proc/mounts | cut -d " " -f2 | sed '1!G;h;$!d' | grep -Ev " ${COREMODS}" | while read ITEM ; do mount -t aufs -o remount,del:"${ITEM}" aufs / 2>/dev/null # umount ${ITEM} 2>/dev/null || umount -l ${ITEM} 2>/dev/null umount -l ${ITEM} >/dev/null 2>&1 done # umount any modules from /memory/bundles -#egrep "${IMAGES}" /proc/mounts | cut -d " " -f2 | egrep -v " ${COREMODS}" | while read ITEM ; do +#grep -E "${IMAGES}" /proc/mounts | cut -d " " -f2 | grep -Ev " ${COREMODS}" | while read ITEM ; do # mount -t aufs -o remount,del:"${ITEM}" aufs / 2>/dev/null #done diff --git a/ublinux/rc.halt.pre/95-umount b/ublinux/rc.halt.pre/95-umount index 430d36d..5474a90 100755 --- a/ublinux/rc.halt.pre/95-umount +++ b/ublinux/rc.halt.pre/95-umount @@ -8,21 +8,21 @@ PATH=/usr/lib/ublinux/scripts:$PATH # swapoff -a >/dev/null 2>&1 # umount network fs -egrep "[ ]nfs[ ]|[ ]cifs[ ]" /proc/mounts | awk '{print $2}' | egrep -v '^/mnt/live|^/memory/' | xargs umount -lf +grep -E "[ ]nfs[ ]|[ ]cifs[ ]" /proc/mounts | awk '{print $2}' | grep -Ev '^/mnt/live|^/memory/' | xargs umount -lf # umount any enc files from /media /mnt find /dev/mapper/* | sed s=.*/== | grep -v ^control$ | while read i ;do - cryptsetup status ${i} 2>/dev/null | grep "[[:space:]]loop:[[:space:]]" | grep -v /mnt/live/ | egrep -q "[[:space:]]/media/|[[:space:]]/mnt/" && umount /dev/mapper/${i} && cryptsetup close ${i} + cryptsetup status ${i} 2>/dev/null | grep "[[:space:]]loop:[[:space:]]" | grep -v /mnt/live/ | grep -Eq "[[:space:]]/media/|[[:space:]]/mnt/" && umount /dev/mapper/${i} && cryptsetup close ${i} done # umount any loops from /media /mnt -losetup -a | tr -d :\)\( | egrep " /media/| /mnt/" | grep -v " /mnt/live" | awk '{print $1}' | xargs umount -d >/dev/null 2>&1 +losetup -a | tr -d :\)\( | grep -E " /media/| /mnt/" | grep -v " /mnt/live" | awk '{print $1}' | xargs umount -d >/dev/null 2>&1 # then free any /media -egrep " /media/| /mnt/" /proc/mounts | awk '{print $2}' | grep -v ^/mnt/live | sort -r | xargs umount >/dev/null 2>&1 +grep -E " /media/| /mnt/" /proc/mounts | awk '{print $2}' | grep -v ^/mnt/live | sort -r | xargs umount >/dev/null 2>&1 # umount any fs from /memory -egrep " /memory.*" /proc/mounts | awk '{print $2}' | sed '1!G;h;$!d' | xargs umount -l >/dev/null 2>&1 +grep -E " /memory.*" /proc/mounts | awk '{print $2}' | sed '1!G;h;$!d' | xargs umount -l >/dev/null 2>&1 # umount any aufs from /media /mnt -egrep " /mnt/.* aufs | /media/.* aufs " /proc/mounts | awk '{print $2}' | xargs umount -l >/dev/null 2>&1 +grep -E " /mnt/.* aufs | /media/.* aufs " /proc/mounts | awk '{print $2}' | xargs umount -l >/dev/null 2>&1 diff --git a/ublinux/rc.post.d/60-blacklistdkms b/ublinux/rc.post.d/60-blacklistdkms index 8001804..032f616 100755 --- a/ublinux/rc.post.d/60-blacklistdkms +++ b/ublinux/rc.post.d/60-blacklistdkms @@ -14,7 +14,7 @@ SOURCE=${SYSCONF}/config; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null echo -n > /etc/modprobe.d/blacklist-ublinux-dkms.conf LC_ALL=C lspci -k | grep "Kernel modules: " | grep ", " | sed s/.*"Kernel modules: "// | sed s/", "/"\n"/g > /tmp/kernel_mods_lspci -find /var/lib/dkms-binary -type f | grep -Ev "nvidia|virtualbox|vbox" | egrep .ko$"|".ko.xz | gawk -F/ '{print $NF}' | sed s/[.]ko.*// | sort -u | grep -f /tmp/kernel_mods_lspci | while read a ;do +find /var/lib/dkms-binary -type f | grep -Ev "nvidia|virtualbox|vbox" | grep -E .ko$"|".ko.xz | gawk -F/ '{print $NF}' | sed s/[.]ko.*// | sort -u | grep -f /tmp/kernel_mods_lspci | while read a ;do lspci -nn | grep -q -f /usr/share/ublinux/hwdata/dkms/$a 2>/dev/null && continue echo "$WHITELISTMODULES" | grep -q "$a" && continue modprobe -r "$a" 2>/dev/null diff --git a/ublinux/rc.preinit.d/02-modulespreload b/ublinux/rc.preinit.d/02-modulespreload index 1fd1197..1fe2193 100755 --- a/ublinux/rc.preinit.d/02-modulespreload +++ b/ublinux/rc.preinit.d/02-modulespreload @@ -10,8 +10,10 @@ ENABLED=yes DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -. usr/lib/ublinux/functions -. usr/lib/ublinux/default + +[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; 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 f6fc742..ce715a0 100755 --- a/ublinux/rc.preinit.d/04-update-fonts +++ b/ublinux/rc.preinit.d/04-update-fonts @@ -6,8 +6,9 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=. +[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; CMD_CHROOT="chroot ${ROOTFS}"; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 + debug_mode "$0" "$@" #for FONT_PATH in /usr/share/fonts{,/default}/TTF /usr/X11R6/lib/X11/fonts/TTF; do diff --git a/ublinux/rc.preinit.d/21-ntp b/ublinux/rc.preinit.d/21-ntp index f957649..66093f5 100755 --- a/ublinux/rc.preinit.d/21-ntp +++ b/ublinux/rc.preinit.d/21-ntp @@ -11,7 +11,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS='.'; CMD_CHROOT='chroot . '; } +[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; 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 79b51e6..f479c23 100755 --- a/ublinux/rc.preinit.d/23-realmd +++ b/ublinux/rc.preinit.d/23-realmd @@ -11,7 +11,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS='.'; CMD_CHROOT='chroot . '; } +[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; 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 9e86c78..40c6a67 100755 --- a/ublinux/rc.preinit.d/32-network +++ b/ublinux/rc.preinit.d/32-network @@ -11,7 +11,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS='.'; CMD_CHROOT='chroot . '; } +[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; 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/40-authpam b/ublinux/rc.preinit.d/40-authpam index 4cc8582..8736889 100755 --- a/ublinux/rc.preinit.d/40-authpam +++ b/ublinux/rc.preinit.d/40-authpam @@ -11,7 +11,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS='.'; CMD_CHROOT='chroot . '; } +[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; 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 b/ublinux/rc.preinit.d/50-xorg index 92a6b9c..06cd011 100755 --- a/ublinux/rc.preinit.d/50-xorg +++ b/ublinux/rc.preinit.d/50-xorg @@ -11,7 +11,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS='.'; CMD_CHROOT='chroot . '; } +[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; 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/51-autologin b/ublinux/rc.preinit.d/51-autologin index 6444d5c..4024a88 100755 --- a/ublinux/rc.preinit.d/51-autologin +++ b/ublinux/rc.preinit.d/51-autologin @@ -11,7 +11,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS='.'; CMD_CHROOT='chroot . '; } +[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; 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/54-backgrounds b/ublinux/rc.preinit.d/54-backgrounds index 28a447f..e38c02f 100755 --- a/ublinux/rc.preinit.d/54-backgrounds +++ b/ublinux/rc.preinit.d/54-backgrounds @@ -11,7 +11,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS='.'; CMD_CHROOT='chroot . '; } +[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; 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,13 +19,14 @@ debug_mode "$0" "$@" SYSCONF="${ROOTFS}${SYSCONF}" SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null - find /memory/layer-base/*/* -maxdepth 0 -iname "ublinux-data*.sgn" | while read location; do - mkdir -p $(dirname ${location})/backgrounds/ublinux + 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 -# With masked /memory/* , with parametre kernel "ub.mask" - [[ $(cmdline_parameter ub.mask) || $(cmdline_parameter ub.hide) ]] && find /memory/layer-base/*/backgrounds/* -maxdepth 0 -exec cp -fru {} ${ROOTFS}/usr/share/backgrounds/ \; - -# With unmasked /memory/* , without parametre kernel "ub.mask" - [[ -z $(cmdline_parameter ub.mask) || -z $(cmdline_parameter ub.hide) ]] && find /memory/layer-base/*/backgrounds/* -maxdepth 0 -exec ln -fs {} ${ROOTFS}/usr/share/backgrounds/ \; + 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 + # With masked /memory/* , with parametre kernel ub.mask ub.hide + find /memory/layer-base/ -maxdepth 3 -path "*/backgrounds/*" -exec cp -fru {} ${ROOTFS}/usr/share/backgrounds/ \; + fi diff --git a/ublinux/rc.preinit.d/60-lightdm-settings b/ublinux/rc.preinit.d/60-lightdm-settings index 4a938db..66d9018 100755 --- a/ublinux/rc.preinit.d/60-lightdm-settings +++ b/ublinux/rc.preinit.d/60-lightdm-settings @@ -11,7 +11,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS='.'; CMD_CHROOT='chroot . '; } +[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; 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/64-swapspace b/ublinux/rc.preinit.d/64-swapspace index 5f023ba..ef12109 100755 --- a/ublinux/rc.preinit.d/64-swapspace +++ b/ublinux/rc.preinit.d/64-swapspace @@ -11,9 +11,10 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS='.'; CMD_CHROOT='chroot . '; } +[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; 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}" @@ -22,19 +23,20 @@ SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null exec_swapspace(){ local PATH_SWAP= if [[ -f ${ROOTFS}/usr/bin/swapspace ]]; then - [[ -z ${PATH_SWAP} ]] && { PATH_SWAP="${ROOTFS}/memory/layer-base/3" && [[ -d ${PATH_SWAP} && -w ${PATH_SWAP} ]] || PATH_SWAP= ; } - [[ -z ${PATH_SWAP} ]] && { PATH_SWAP="${ROOTFS}/memory/layer-base/2" && [[ -d ${PATH_SWAP} && -w ${PATH_SWAP} ]] || PATH_SWAP= ; } - [[ -z ${PATH_SWAP} ]] && { PATH_SWAP="${ROOTFS}/memory/layer-base/1" && [[ -d ${PATH_SWAP} && -w ${PATH_SWAP} ]] || PATH_SWAP= ; } - [[ -z ${PATH_SWAP} ]] && { PATH_SWAP="${ROOTFS}/memory/layer-base/0" && [[ -d ${PATH_SWAP} && -w ${PATH_SWAP} ]] || PATH_SWAP= ; } - [[ -z ${PATH_SWAP} ]] && { PATH_SWAP="${ROOTFS}/memory/data/from/3" && [[ -d ${PATH_SWAP} && -w ${PATH_SWAP} ]] || PATH_SWAP= ; } - [[ -z ${PATH_SWAP} ]] && { PATH_SWAP="${ROOTFS}/memory/data/from/2" && [[ -d ${PATH_SWAP} && -w ${PATH_SWAP} ]] || PATH_SWAP= ; } - [[ -z ${PATH_SWAP} ]] && { PATH_SWAP="${ROOTFS}/memory/data/from/1" && [[ -d ${PATH_SWAP} && -w ${PATH_SWAP} ]] || PATH_SWAP= ; } - [[ -z ${PATH_SWAP} ]] && { PATH_SWAP="${ROOTFS}/memory/data/from/0" && [[ -d ${PATH_SWAP} && -w ${PATH_SWAP} ]] || PATH_SWAP= ; } + [[ -z ${PATH_SWAP} ]] && { PATH_SWAP="/memory/layer-base/3" && [[ -d ${PATH_SWAP} && -w ${PATH_SWAP} ]] || PATH_SWAP= ; } + [[ -z ${PATH_SWAP} ]] && { PATH_SWAP="/memory/layer-base/2" && [[ -d ${PATH_SWAP} && -w ${PATH_SWAP} ]] || PATH_SWAP= ; } + [[ -z ${PATH_SWAP} ]] && { PATH_SWAP="/memory/layer-base/1" && [[ -d ${PATH_SWAP} && -w ${PATH_SWAP} ]] || PATH_SWAP= ; } + [[ -z ${PATH_SWAP} ]] && { PATH_SWAP="/memory/layer-base/0" && [[ -d ${PATH_SWAP} && -w ${PATH_SWAP} ]] || PATH_SWAP= ; } + [[ -z ${PATH_SWAP} ]] && { PATH_SWAP="/memory/data/from/3" && [[ -d ${PATH_SWAP} && -w ${PATH_SWAP} ]] || PATH_SWAP= ; } + [[ -z ${PATH_SWAP} ]] && { PATH_SWAP="/memory/data/from/2" && [[ -d ${PATH_SWAP} && -w ${PATH_SWAP} ]] || PATH_SWAP= ; } + [[ -z ${PATH_SWAP} ]] && { PATH_SWAP="/memory/data/from/1" && [[ -d ${PATH_SWAP} && -w ${PATH_SWAP} ]] || PATH_SWAP= ; } + [[ -z ${PATH_SWAP} ]] && { PATH_SWAP="/memory/data/from/0" && [[ -d ${PATH_SWAP} && -w ${PATH_SWAP} ]] || PATH_SWAP= ; } if [[ -n ${PATH_SWAP} ]]; then install -dm700 "${PATH_SWAP}/swap" if [[ -f ${ROOTFS}/etc/swapspace.conf ]]; then [[ $(cat ${ROOTFS}/etc/swapspace.conf) =~ (^|$'\n')"swappath=\"${PATH_SWAP}/swap\""($|$'\n') ]] \ - || sed "/^swappath=/d;0,/#swappath=/!b;//a\swappath=\"${PATH_SWAP}/swap\"" -i ${ROOTFS}/etc/swapspace.conf + || sed "/^swappath=/d;/#swappath=/a\swappath=\"${PATH_SWAP}/swap\"" -i ${ROOTFS}/etc/swapspace.conf +# || sed "/^swappath=/d;0,/#swappath=/!b;//a\swappath=\"${PATH_SWAP}/swap\"" -i ${ROOTFS}/etc/swapspace.conf [[ $(cat ${ROOTFS}/etc/swapspace.conf) =~ (^|$'\n')"swappath=\"${PATH_SWAP}/swap\""($|$'\n') ]] \ || sed "\$a\swappath=\"${PATH_SWAP}/swap\"" -i ${ROOTFS}/etc/swapspace.conf else diff --git a/ublinux/rc.preinit.d/81-server-libvirt-storage b/ublinux/rc.preinit.d/81-server-libvirt-storage index 6b1fe57..b672c35 100755 --- a/ublinux/rc.preinit.d/81-server-libvirt-storage +++ b/ublinux/rc.preinit.d/81-server-libvirt-storage @@ -11,7 +11,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS='.'; CMD_CHROOT='chroot . '; } +[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; 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 f15af90..df07f5b 100755 --- a/ublinux/rc.preinit.d/90-apparmor +++ b/ublinux/rc.preinit.d/90-apparmor @@ -11,7 +11,7 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS='.'; CMD_CHROOT='chroot . '; } +[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS="/sysroot"; 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/01-inifile b/ublinux/rc.preinit/01-inifile index 77c9e17..50d041a 100755 --- a/ublinux/rc.preinit/01-inifile +++ b/ublinux/rc.preinit/01-inifile @@ -72,7 +72,8 @@ SYSCONF="${ROOTFS}${SYSCONF}" ## Декларируем ассоциативный массив, если присутствуют соответствующие переменные while read FILE_CONFIG; do + [[ -s ${FILE_CONFIG} ]] || continue grep -q "^declare -A" "${FILE_CONFIG}" 2>/dev/null && sed "/^declare -A/d" -i "${FILE_CONFIG}" - DECLARE_A=$(grep -E "^[A-z0-9_]*\[.*\]=.*" "${FILE_CONFIG}" | sed -E "s/\[.*//" | sort -u | tr "\n" " ") + DECLARE_A=$(grep -E "^[[:alnum:]_-]*\[.*\]=.*" "${FILE_CONFIG}" | sed -E "s/\[.*//" | sort -u | tr "\n" " ") [[ -z ${DECLARE_A} ]] || sed "1i declare -A ${DECLARE_A}" -i "${FILE_CONFIG}" done < <(find ${SYSCONF} -type f -print; echo "${FILE_ROOT_USERS}") diff --git a/ublinux/rc.xorg/01-de-background b/ublinux/rc.xorg/01-de-background index 8b7e4f9..08b9fe7 100755 --- a/ublinux/rc.xorg/01-de-background +++ b/ublinux/rc.xorg/01-de-background @@ -114,7 +114,7 @@ exit 0 FEHOPTIONS="-B black -x -Z --scale-down" WPDEFFILE=/usr/share/ublinux/wallpapers/default.jpg -FEHKILLSWITCH="while ! ps -A | egrep -q 'splash|panel|xbindkeys|lightdm-gtk-gr|polybar' ;do sleep 1 ;done ; sleep 7 ; killall feh" +FEHKILLSWITCH="while ! ps -A | grep -Eq 'splash|panel|xbindkeys|lightdm-gtk-gr|polybar' ;do sleep 1 ;done ; sleep 7 ; killall feh" [ "$BACKGROUND_DE_MODE" = "2" ] && FEHOPTIONS="-F --zoom fill" # get resolution of primary (or first) monitor diff --git a/ublinux/rootfs-patches/clean_distr.sh b/ublinux/rootfs-patches/clean_distr.sh index 2027ecd..2b1ed91 100755 --- a/ublinux/rootfs-patches/clean_distr.sh +++ b/ublinux/rootfs-patches/clean_distr.sh @@ -33,7 +33,7 @@ rm -fr 2>/dev/null \ [ -d usr/share/wallpapers ] && for a in usr/share/wallpapers/* ;do [ -d "$a" ] && rm -fr "$a" ; done #Kill big icons to save some space -[ -d usr/share/icons ] && for a in `find usr/share/icons -type d | egrep -e '[x/]512$|[x/]256$|/128x128$' ` ;do rm -fr "$a" ; done +[ -d usr/share/icons ] && for a in $(find usr/share/icons -type d | grep -E -e '[x/]512$|[x/]256$|/128x128$') ;do rm -fr "$a" ; done #KDE rm -fr 2>/dev/null usr/share/autostart/kaddressbookmigrator.desktop \ diff --git a/ublinux/scripts/printers_setup.sh b/ublinux/scripts/printers_setup.sh index 0d6398b..093eeb0 100755 --- a/ublinux/scripts/printers_setup.sh +++ b/ublinux/scripts/printers_setup.sh @@ -70,10 +70,10 @@ add_printer(){ NAME_PPD=$(lpinfo --make-and-model "${PRINTER_MDL}" -m | head -1 | cut -d" " -f1) lpadmin -E -p "${PRINTER_NAME}" -E -v "${NAME_URI}" -m "${NAME_PPD}" -D "${PRINTER_NAME}" -L "Office" -o "printer-is-shared=false" # PageSize A4 -# PAGESIZE_OPT=$(lpoptions -l -p "${PRINTER_NAME}" | egrep "PageSize|Page Size|Media Size" | head -1 | cut -d: -f1) +# PAGESIZE_OPT=$(lpoptions -l -p "${PRINTER_NAME}" | grep -E "PageSize|Page Size|Media Size" | head -1 | cut -d: -f1) # [[ -n ${PAGESIZE_OPT} ]] && echo "lpoptions -E -p "${PRINTER_NAME}" -o "${PAGESIZE_OPT%%/*}"=A4" # Duplex On -# DUPLEX_OPT=$(lpoptions -l -p "${PRINTER_NAME}" | egrep "HPOption_Duplexer|Duplex Unit|Duplexing" | head -1 | cut -d: -f1) +# DUPLEX_OPT=$(lpoptions -l -p "${PRINTER_NAME}" | grep -E "HPOption_Duplexer|Duplex Unit|Duplexing" | head -1 | cut -d: -f1) # [[ -n ${DUPLEX_OPT} ]] && echo "lpoptions -p "${PRINTER_NAME}" -o "${DUPLEX_OPT%%/*}"=True" lpoptions -E -d "${PRINTER_NAME}" >/dev/null diff --git a/ublinux/scripts/printers_setup_capt.sh b/ublinux/scripts/printers_setup_capt.sh index aab3ab7..0e55e9b 100755 --- a/ublinux/scripts/printers_setup_capt.sh +++ b/ublinux/scripts/printers_setup_capt.sh @@ -75,10 +75,10 @@ add_printer(){ systemctl -q is-active ccpd.service 2>/dev/null && systemctl restart ccpd.service || systemctl enable --now ccpd.service 2>/dev/null fi # PageSize -# PAGESIZE_OPT=$(lpoptions -l -p ${PRINTER_NAME} | egrep "PageSize|Media Size" | head -1 | cut -d: -f1) +# PAGESIZE_OPT=$(lpoptions -l -p ${PRINTER_NAME} | grep -E "PageSize|Media Size" | head -1 | cut -d: -f1) # [[ ${PAGESIZE_OPT} ]] && echo "lpoptions -E -p ${PRINTER_NAME} -o ${PAGESIZE_OPT%%/*}=A4" # Duplex On -# DUPLEX_OPT=$(lpoptions -l -p ${PRINTER_NAME} | egrep "HPOption_Duplexer|Duplex Unit|Duplexing" | head -1 | cut -d: -f1) +# DUPLEX_OPT=$(lpoptions -l -p ${PRINTER_NAME} | grep -E "HPOption_Duplexer|Duplex Unit|Duplexing" | head -1 | cut -d: -f1) # [[ ${DUPLEX_OPT} ]] && echo "lpoptions -p ${PRINTER_NAME} -o ${DUPLEX_OPT%%/*}=True" lpoptions -E -d "${PRINTER_NAME}" &>/dev/null lpadmin -E -d "${PRINTER_NAME}" diff --git a/ublinux/templates/ublinux-data.ini b/ublinux/templates/ublinux-data.ini index 7d652ef..37f9be6 100644 --- a/ublinux/templates/ublinux-data.ini +++ b/ublinux/templates/ublinux-data.ini @@ -71,11 +71,11 @@ MACHINEID=hardware ## Включить сервисы/юниты (можно указывать службы inetd) ## SERVICES_ENABLE=, ## # Имя сервиса/юнита, если не указан тип, то используется '.service'. Пример: nmb +## Через ubconfig можно добавлять в список так: ubconfig set system SERVICES_ENABLE++=tor,polipo,cups-lpd,pcscd ## Для работы bluetooth: SERVICES_ENABLE++=bluetooth ## Для работы в WINDOWS сетях с DNS NETBIOS, включить NSSWITCHWINBIND=yes и добавить" SERVICES_ENABLE++=nmb,winbind ## Для VMWareWorkstation: SERVICES_ENABLE++=vmware-networks,vmware-usbarbitrator -## SERVICES_ENABLE++=tor,polipo,cups-lpd,pcscd -SERVICES_ENABLE=dbus-broker,NetworkManager,sshd,systemd-swap,cups,cockpit.socket,avahi-daemon,avahi-dnsconfd,veyon,smb,nmb,winbind,bluetooth +SERVICES_ENABLE=dbus-broker,NetworkManager,sshd,swapspace,systemd-timesyncd,cups,cockpit.socket,avahi-daemon,avahi-dnsconfd,smb,nmb,winbind,bluetooth ## Отключить сервисы/юниты, включенные по умолчанию ## SERVICES_DISABLE=,