diff --git a/ublinux/rc.preinit.d/32-network b/ublinux/rc.preinit.d/32-network index b7cecc7..0d3ccdd 100755 --- a/ublinux/rc.preinit.d/32-network +++ b/ublinux/rc.preinit.d/32-network @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # # Initial script for Live operating system # This script are launching before starting init from linux-live script. @@ -11,18 +11,18 @@ DEBUGMODE=no PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin -HOSTNAME=ublinux-live -unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=. - +[[ -d /usr/lib/ublinux ]] && { unset ROOTFS; unset CMD_CHROOT; } || { ROOTFS='.'; CMD_CHROOT='chroot . '; } SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 SOURCE=${ROOTFS}/usr/lib/ublinux/os-config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0 debug_mode "$0" "$@" +HOSTNAME=ublinux-live + 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 - #if [ "$UBLINUXSERVER" != "" ] ;then # sed -i s/.*ublinux-server.*/"$UBLINUXSERVER UBLinux-Server"/ etc/hosts @@ -39,24 +39,32 @@ SOURCE=${SYSCONF}/network; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null #fi ## Режим полного WiFi радио молчания - if [ "$(cmdline_parameter flightmode)" ] ;then - for a in etc/ublinux/network-scripts/ifcfg-w* ;do - sed -i s/ONBOOT=yes/ONBOOT=no/ $a 2>/dev/null + if [[ -n $(cmdline_parameter flightmode) ]]; then + for IFCFG_FILE in ${ROOTFS}/etc/ublinux/network-scripts/ifcfg-w*; do + sed "s/ONBOOT=yes/ONBOOT=no/" -i ${IFCFG_FILE} 2>/dev/null done - chroot . /usr/bin/rfkill block all - [ "$BLOCKWPASS" = "yes" -a -f usr/lib/systemd/system/wpa_supplicant.service ] && ln -sf /dev/null etc/systemd/system/wpa_supplicant.service + ${CMD_CHROOT} /usr/bin/rfkill block all + [[ ${BLOCKWPASS} == "yes" && -f ${ROOTFS}/usr/lib/systemd/system/wpa_supplicant.service ]] && ln -sf /dev/null ${ROOTFS}/etc/systemd/system/wpa_supplicant.service fi - if [ "$IPV6" = "yes" ] ;then - sed -i /ipv4/d usr/lib/systemd/network/90-enable.network 2>/dev/null - sed -i /ipv4/d usr/lib/systemd/network/90-wireless.network 2>/dev/null - sed -i /ipv6/d etc/modprobe.d/ublinux.conf 2>/dev/null - elif [ "$IPV6" = "no" ] ;then - sed -i /ipv4/d usr/lib/systemd/network/90-enable.network 2>/dev/null - sed -i /ipv4/d usr/lib/systemd/network/90-wireless.network 2>/dev/null - sed -i /ipv6/d etc/modprobe.d/ublinux.conf 2>/dev/null - echo "options ipv6 disable=1" >> etc/modprobe.d/ublinux.conf - echo "DHCP=ipv4" >> usr/lib/systemd/network/90-enable.network - echo "DHCP=ipv4" >> usr/lib/systemd/network/90-wireless.network + if [[ ${IPV6} == @(yes|y|enable|on) ]]; then + # systemd-networkd + sed /DHCP=ipv4/d -i ${ROOTFS}/usr/lib/systemd/network/90-enable.network 2>/dev/null + sed /DHCP=ipv4/d -i ${ROOTFS}/usr/lib/systemd/network/90-wireless.network 2>/dev/null + # modprobe + sed /ipv6/d -i ${ROOTFS}/etc/modprobe.d/ubconfig.conf 2>/dev/null + # sysctl.d + sed /net.ipv6.conf.all.disable_ipv6/d -i ${ROOTFS}/etc/sysctl.d/40-noipv6-ubconfig.conf 2>/dev/null + elif [[ ${IPV6} == @(no|n|disable|off) ]]; then + # systemd-networkd + sed /ipv4/d -i ${ROOTFS}/usr/lib/systemd/network/90-enable.network 2>/dev/null + sed /ipv4/d -i ${ROOTFS}/usr/lib/systemd/network/90-wireless.network 2>/dev/null + echo "DHCP=ipv4" >> ${ROOTFS}/usr/lib/systemd/network/90-enable.network + echo "DHCP=ipv4" >> ${ROOTFS}/usr/lib/systemd/network/90-wireless.network + # modprobe + sed /ipv6/d -i ${ROOTFS}/etc/modprobe.d/ubconfig.conf 2>/dev/null + echo "options ipv6 disable=1" >> ${ROOTFS}/etc/modprobe.d/ubconfig.conf + # sysctl.d + echo "net.ipv6.conf.all.disable_ipv6 = 1" >> ${ROOTFS}/etc/sysctl.d/40-noipv6-ubconfig.conf fi diff --git a/ublinux/templates/ublinux-data.ini b/ublinux/templates/ublinux-data.ini index cf6d790..7c970e7 100644 --- a/ublinux/templates/ublinux-data.ini +++ b/ublinux/templates/ublinux-data.ini @@ -209,9 +209,12 @@ DEPMOD=yes [/etc/ublinux/system] ## Установить переменные окружения глобальные и пользовательские ## ENVIROMENT[system:]= +## ENVIROMENT[profile:]= ## ENVIROMENT[:]= -## system: # Установить глобальные переменные окружения в /etc/enviroment -## : # Имя пользователя для которого будет установлена переменная окружения в домашнем каталоге +## system: # Установить глобальные переменные окружения systemd в /run/environment.d/99-ubconfig.conf +## profile: # Установить переменные окружения только для оболочек входа совместимые Bourne shell в /etc/profile.d/99-ubconfig.conf +## : # Имя пользователя для которого будет установлена переменная окружения systemd в домашнем каталоге пользователя ~/.config/environment.d/99-ubconfig.conf +## # Имя переменной ## # Значение переменной ################################################################################ @@ -257,7 +260,8 @@ GRUB_BOOT_SILENT="splash" ## snd-intel-dspcfg.dsp_driver=1 # Принудительный выбор драйвера звукового устройства от Intel ## snd-intel-dspcfg.dsp_driver=3 ## security=apparmor -## usbcore.autosuspend=-1 ## Отключить авто засыпание USB устройств в режиме suspend +## usbcore.autosuspend=-1 # Отключить авто засыпание USB устройств в режиме suspend +## ipv6.disable=1 # Отключить глобально ipv6 ## GRUB_CMDLINE_LINUX="modprobe.blacklist=nouveau" ################################################################################ @@ -364,6 +368,7 @@ GRUB_BOOT_SILENT="splash" ## optional: ## ipv4.ignore-auto-dns yes ## ipv4.method manual +## ipv6.method disabled ## ipv4.addr 192.168.1.2/24,10.10.1.5/8 ## ipv4.gateway 192.168.1.1 ## ipv4.dns 192.168.1.1,8.8.8.8 @@ -375,6 +380,7 @@ GRUB_BOOT_SILENT="splash" ## NETWORK[Проводное соединение 1]="ethernet.cloned-mac-address 00:22:68:1c:59:b1" ## NETWORK[HotelWifiName]="wifi.cloned-mac-address 70:48:f7:1a:2b:3c" ## NETWORK[all]="+ipv4.dns 192.168.1.1,8.8.8.8 ipv4.ignore-auto-dns yes" +## NETWORK[all]="ipv6.method disabled" ## ublinux-server ip addres ## Адрес сервера по умолчанию @@ -778,8 +784,21 @@ NSSWITCHWINBIND=yes ## Поддерживает Multiseat по номеру порта display:0=port:5900 display:1=port:5901 display:2=port:5902 ## Пароль кодировать в base64: echo 'ublinux' | base64 ## X11VNC[password]=dWJsaW51eAo= -## Дополнительные опции к автоматическому соединению +## Дополнительные опции к автоматическому соединению https://manpages.ubuntu.com/manpages/lunar/en/man1/x11vnc.1.html ## X11VNC[options]="-noipv6" +## -noipv6 # +## -ultrafilexfer # Включите расширение передачи файлов UltraVNC +## -tightfilexfer # Включите расширение передачи файлов TightVNC +## -xkb # Если копирование и вставка не работают должным образом с буфером обмена +## -ssl [pem] +## [pem]=file_pem +## [pem]=SAVE +## [pem]=ANON # Аноним Диффи-Хеллмана используется метод обмена ключами, без SSL +## [pem]=TMP +## -unixpw # Что-бы работало, должна быть установлена переменная UNIXPW_DISABLE_SSL=1 +## -users unixpw= +## -xdummy +## -avahi # Используйте протокол Avahi/mDNS ZeroConf для объявления этого VNC-сервера на локальном компьютере в сеть ## VNC для управления TTY ## X11VNC[tty1]="-noipv6" ## Пользовательская настройка запуска, new1..new2..new%n