[package] update

master
Dmitry Razumov 3 years ago
parent 7d582c1e32
commit 7bf0d4cac1

@ -166,6 +166,13 @@ MKSQFS_FASTALG="-b 32K -comp gzip"
#/rc.desktop/lxqt/qterminal
#QTERMINALSTART=yes
#/rc.post.d/02-hwclock
#/rc.halt/20-timesave
HWCLOCK_SYNC="utc"
#/rc.preinit.d/10-system
ZONE="UTC"
#/rc.preinit.d/52-desktop
#/rc.post.d/02-hwclock
#/rc.post.d/11-xorg
@ -174,6 +181,7 @@ SYSCONF=/etc/ublinux
#/rc.preinit.d/21-ntp
NTPSERVERS_DEFAULT="ntp1.vniiftri.ru ntp2.vniiftri.ru ntp3.vniiftri.ru ntp4.vniiftri.ru ntp21.vniiftri.ru ru.pool.ntp.org"
NTPSERVERS_FALLBACK="0.ru.pool.ntp.org 1.ru.pool.ntp.org 2.ru.pool.ntp.org 3.ru.pool.ntp.org"
NTP_SYSTEMSERVICE="systemd-timesyncd.service"
#/rc.d/rc.desktop
#NOEXEC="i3term:xbindkeys;i3term:fusion-icon;i3term:ublinuxupdate"

@ -20,6 +20,6 @@ for a in /usr/lib/ublinux/rc.runonce/* ;do
touch "$LOCKDIR/$(basename $a)"
done
readlink -fq /usr/bin/init 2>/dev/null | grep -q /lib/systemd/systemd && wait
readlink -fq /usr/bin/init 2>/dev/null | grep -q "lib/systemd/systemd$" && wait
true

@ -10,5 +10,5 @@ ENABLED=yes
SOURCE=${SYSCONF}/clock; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
HWCLOCKOPIONS="--utc"
[ "$UTC" = "false" ] && HWCLOCKOPIONS="--localtime"
hwclock -w $HWCLOCKOPIONS
[[ ${HWCLOCK_SYNC} = "localtime" ]] && HWCLOCKOPIONS="--localtime"
hwclock --systohc ${HWCLOCKOPIONS}

@ -7,10 +7,10 @@ DEBUGMODE=no
. /usr/lib/ublinux/os-config
debug_mode "$0" "$@"
[ "$SETCLKATSTART" = "no" ] && exit 0
[[ "${SETCLKATSTART}" == "no" ]] && exit 0
SOURCE=${SYSCONF}/clock; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
HWCLOCKOPIONS="--utc"
[ "$UTC" = "false" ] && HWCLOCKOPIONS="--localtime"
hwclock -s $HWCLOCKOPIONS
[[ ${HWCLOCK_SYNC} == "localtime" ]] && HWCLOCKOPIONS="--localtime"
hwclock --hctosys ${HWCLOCKOPIONS}

@ -276,11 +276,12 @@ insert_background_icon(){
# Определение редакции ОС
[[ -z $2 ]] && edition_os=$(cat /etc/os-release | grep VERSION_CODENAME | cut -d"=" -f2 2>/dev/null) || edition_os=$2
width=${RESOLUTION%x*}
hight=${RESOLUTION#*x}
width=${RESOLUTION%x*}; width=${width:-1920}
hight=${RESOLUTION#*x}; hight=${hight:-1080}
#echo "${width} on ${hight}"
# Вычисление соотношения сторон экрана
ratio=$(bc <<< "scale=2;${width:=1024}/${hight:=768}")
ratio=$(bc <<< "scale=2;${width}/${hight}")
if [ $(bc -l <<< "$ratio==1.33") -eq 1 ]; then
fname_ratio="4:3"
elif [ $(bc -l <<< "$ratio==1.25") -eq 1 ]; then

@ -11,7 +11,7 @@ debug_mode "$0" "$@"
SOURCE=${SYSCONF}/config; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/kiosk; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
## Настройка desktop файлов
## TODO Настройка desktop файлов
if [[ -n ${APPDESKTOP_WHITELIST[@]} ]]; then
for USER in "${!APPDESKTOP_WHITELIST[@]}"; do
true

@ -1,48 +0,0 @@
#!/usr/bin/env bash
ENABLED=yes
[ "$ENABLED" != "yes" ] && exit 0
DEBUGMODE=no
SOURCE=/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SOURCE=/usr/lib/ublinux/os-config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@"
SOURCE=${SYSCONF}/config; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/kiosk; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
## Настрока polkit правил
rm -f /etc/polkit-1/rules.d/kiosk-*
if [[ -n ${POLKIT[@]} ]]; then
for RULES in "${!POLKIT[@]}"; do
RULES_GROUP=
RULES_FILE="/etc/polkit-1/rules.d/kiosk-$(sed 's/\([A-z0-9]*.[A-z0-9]*.[A-z0-9]*\)\..*/\1/' <<< ${RULES}).rules"
RULES_RESULT=$(cut -d: -f1 <<< ${POLKIT[${RULES}]})
for GROUP in $(grep ":" <<< ${POLKIT[${RULES}]} | cut -d: -f2 | tr ',' '\n'); do
RULES_GROUP+="&& subject.isInGroup(\"${GROUP}\") "
done
cat >> ${RULES_FILE} <<EOF
polkit.addRule(function(action, subject) {
if (action.id.indexOf("${RULES}") == 0
&& subject.active == true
&& subject.local == true
${RULES_GROUP}
)
{
return polkit.Result.${RULES_RESULT^^};
}
});
EOF
done
# touch /etc/polkit-1/rules.d
# systemctl restart polkit
fi
# while read LSPCI_DEVICE; do
# while read KERNEL_MODULE; do
# [[ ${KERNEL_MODULE} != "nouveau" ]] && modprobe ${KERNEL_MODULE} 2>/dev/null && break
# done < <(lspci -ks ${LSPCI_DEVICE%% *} | grep 'Kernel modules:' | cut -d: -f2 | tr ',' '\n' | tac)
# done < <(lspci | egrep -i 'vga|3d')

@ -3,32 +3,34 @@
ENABLED=yes
[ "$ENABLED" != "yes" ] && exit 0
DEBUGMODE=no
#. /usr/lib/ublinux/functions
#. /usr/lib/ublinux/os-config
PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin
unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=.
SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
debug_mode "$0" "$@"
#for font_dir in /usr/share/fonts{,/default}/TTF /usr/X11R6/lib/X11/fonts/TTF; do
# if [ -d "${font_dir}" ]; then
#for FONT_PATH in /usr/share/fonts{,/default}/TTF /usr/X11R6/lib/X11/fonts/TTF; do
# if [ -d "${FONT_PATH}" ]; then
# fcneed=on
# mkfontscale ${font_dir}
# mkfontdir ${font_dir}
# mkfontscale ${FONT_PATH}
# mkfontdir ${FONT_PATH}
# fi
#done
#[ $fcneed ] && fc-cache -f -s
for font_dir in usr/share/fonts{,/default}/TTF usr/X11R6/lib/X11/fonts/TTF; do
if [[ -d "${font_dir}" ]]; then
chroot . usr/bin/mkfontscale ${font_dir}
chroot . usr/bin/mkfontdir ${font_dir}
fi
done
#for font_dir in /usr/share/fonts/*; do
# if [ -d "${font_dir}" ]; then
# xset +fp "${font_dir}" 2>&1 &>/dev/null
# mkfontscale "${font_dir}"
# mkfontdir "${font_dir}"
#for FONT_PATH in /usr/share/fonts/*; do
# if [ -d "${FONT_PATH}" ]; then
# xset +fp "${FONT_PATH}" 2>&1 &>/dev/null
# mkfontscale "${FONT_PATH}"
# mkfontdir "${FONT_PATH}"
# fi
#done && xset fp rehash #2>&1 &>/dev/null
chroot . usr/bin/fc-cache -s 2>&1 &>/dev/null
for FONT_PATH in usr/share/fonts{,/default}/TTF usr/X11R6/lib/X11/fonts/TTF; do
if [[ -d "${FONT_PATH}" ]]; then
chroot . usr/bin/mkfontscale ${FONT_PATH}
chroot . usr/bin/mkfontdir ${FONT_PATH}
fi
done
chroot . usr/bin/fc-cache -s 2>&1 &>/dev/null

@ -9,6 +9,7 @@ ENABLED=yes
[ "$ENABLED" != "yes" ] && exit 0
DEBUGMODE=no
SELF_NAME="10-system"
PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin
unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=.
@ -18,24 +19,31 @@ debug_mode "$0" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/clock; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
exec_linklivedata(){
#PATHLIVEDATA=$(find /memory/layer-base/*/* -maxdepth 0 -type f -iname "ublinux-data*.sgn" -exec dirname {} \;)
PATHLIVEDATA=$(find /memory/data/from/*/* -maxdepth 0 -type d -iname "ublinux-data" -exec dirname {} \;)
[[ -d ${PATHLIVEDATA} ]] && [[ ! -d ${ROOTFS}/mnt/livedata ]] && ln -sf ${PATHLIVEDATA} ${ROOTFS}/mnt/livedata
[[ -d ${PATHLIVEDATA} ]] && [[ ! -e ${ROOTFS}/mnt/livedata ]] && ln -sf ${PATHLIVEDATA} ${ROOTFS}/mnt/livedata
}
exec_ntfsmount(){
ps | grep ntfsmount | awk '{ print $1 }' >> ${ROOTFS}/var/run/sendsigs.omit
}
exec_timezone(){
#Setting up local time zone
[[ -f ${SYSCONF}/clock ]] && . ${SYSCONF}/clock
[[ -f ${ROOTFS}/usr/share/zoneinfo/${ZONE} ]] && ln -sf "/usr/share/zoneinfo/${ZONE}" ${ROOTFS}/etc/localtime
}
exec_machineid(){
#Setting machine-id
if [[ ! -f ${ROOTFS}/etc/machine-id ]]; then
echo "${MACHINEID}" | grep -qi ^random$ && MACHINEID=$(dd if=/dev/urandom count=1 bs=512 2>/dev/null | cat - /sys/class/net/*/address 2>/dev/null | md5sum | awk '{ print $1}')
[[ -z "${MACHINEID}" ]] && MACHINEID=$(lspci -nmm | grep ^00 | md5sum | awk '{ print $1}')
echo "${MACHINEID}" > ${ROOTFS}/etc/machine-id
[[ -z ${MACHINEID} && ! -f ${ROOTFS}/etc/machine-id ]] && MACHINEID=hardware
if [[ ${MACHINEID,,} == @(random|rnd) ]]; then
MACHINEID=$(dd if=/dev/urandom count=1 bs=512 2>/dev/null | cat - /sys/class/net/*/address 2>/dev/null | md5sum | cut -d' ' -f1)
elif [[ ${MACHINEID,,} == @(hardware|hw) ]]; then
MACHINEID=$(lspci -nmm 2>/dev/null | grep ^00 | cat - /sys/class/net/*/address 2>/dev/null | md5sum | cut -d' ' -f1)
fi
[[ -z "${MACHINEID}" ]] || echo "${MACHINEID}" > ${ROOTFS}/etc/machine-id
}
exec_udevrules(){
#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"
@ -46,26 +54,46 @@ SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
else
rm -f "${ROOTFS}/etc/udev/rules.d/${FILE_UDEV_70##*/}"
fi
}
exec_statemode(){
## Setting state mode
STATE_MODE="$(cmdline_value ub.mode)"
STATE_HOME="$(cmdline_value ub.home)"
STATE_MODE=$(cmdline_value ub.mode)
STATE_HOME=$(cmdline_value ub.home)
## Полное сохранение ub.mode=changes
if [[ ${STATE_MODE} =~ ^"changes"$ ]]; then
echo "SYSTEMBOOT_STATEMODE=changes" >> ${SYSCONF}/config
sed -e '$a\SYSTEMBOOT_STATEMODE=changes' -e '/SYSTEMBOOT_STATEMODE=.*/d' -i ${SYSCONF}/config
#sed "s/SYSTEMBOOT_STATEMODE=.*/SYSTEMBOOT_STATEMODE=changes/" -i ${SYSCONF}/config
## Сохранение в модуль ub.mode=toxzm ub.mode=machines
elif [[ ${STATE_MODE} =~ ^("toxzm"|"machines")$ ]]; then
echo "SYSTEMBOOT_STATEMODE=module" >> ${SYSCONF}/config
sed -e '$a\SYSTEMBOOT_STATEMODE=module' -e '/SYSTEMBOOT_STATEMODE=.*/d' -i ${SYSCONF}/config
#echo "SYSTEMBOOT_STATEMODE=module" >> ${SYSCONF}/config
## Полная песочница RAM ub.mode= ; ub.home=
elif [[ ${STATE_MODE} == "" && ${STATE_HOME} == "" ]]; then
echo "SYSTEMBOOT_STATEMODE=sandbox" >> ${SYSCONF}/config
sed -e '$a\SYSTEMBOOT_STATEMODE=sandbox' -e '/SYSTEMBOOT_STATEMODE=.*/d' -i ${SYSCONF}/config
#echo "SYSTEMBOOT_STATEMODE=sandbox" >> ${SYSCONF}/config
## Песочница с сохранением профиля пользователя ub.mode= ; ub.home=/ublinux-data/homes
elif [[ ${STATE_MODE} == "" && ${STATE_HOME} =~ ^"/" ]]; then
echo "SYSTEMBOOT_STATEMODE=sandbox_ram_home" >> ${SYSCONF}/config
sed -e '$a\SYSTEMBOOT_STATEMODE=sandbox_ram_home' -e '/SYSTEMBOOT_STATEMODE=.*/d' -i ${SYSCONF}/config
#echo "SYSTEMBOOT_STATEMODE=sandbox_ram_home" >> ${SYSCONF}/config
## Полная песочница HDD ub.mode=clear ; ub.home=
elif [[ ${STATE_MODE} == "clear" && ${STATE_HOME} == "" ]]; then
echo "SYSTEMBOOT_STATEMODE=sandbox_hdd" >> ${SYSCONF}/config
sed -e '$a\SYSTEMBOOT_STATEMODE=sandbox_hdd' -e '/SYSTEMBOOT_STATEMODE=.*/d' -i ${SYSCONF}/config
#echo "SYSTEMBOOT_STATEMODE=sandbox_hdd" >> ${SYSCONF}/config
## Полная песочница HDD с сохранением профиля пользователя ub.mode=clear ; ub.home=
elif [[ ${STATE_MODE} == "clear" && ${STATE_HOME} =~ ^"/" ]]; then
echo "SYSTEMBOOT_STATEMODE=sandbox_hdd_home" >> ${SYSCONF}/config
sed -e '$a\SYSTEMBOOT_STATEMODE=sandbox_hdd_home' -e '/SYSTEMBOOT_STATEMODE=.*/d' -i ${SYSCONF}/config
#echo "SYSTEMBOOT_STATEMODE=sandbox_hdd_home" >> ${SYSCONF}/config
fi
}
if [[ ${0##*/} == ${SELF_NAME} && -z $@ ]]; then
while read -r FUNCTION; do
$"${FUNCTION##* }"
done < <(declare -F | grep "declare -f exec_")
elif [[ ${0##*/} == ${SELF_NAME} ]]; then
for FUNCTION in $@; do
${FUNCTION}
done
else
true
fi

@ -23,7 +23,7 @@ SOURCE=${SYSCONF}/config; [ -f "${SOURCE}" ] && . ${SOURCE} 2>/dev/null
if [ ! -z "$SERVICESSTART$SERVICESNOSTART$SERVICESMASK$SERVICESUNMASK" ] ;then
mkdir -p proc
mount -o rbind /proc proc
ISSYSTEMD=$(readlink -fq usr/bin/init | grep /lib/systemd/systemd)
ISSYSTEMD=$(readlink -fq usr/bin/init | grep "lib/systemd/systemd$")
for a in $(echo $SERVICESUNMASK,$SERVICESSTART | tr , " ") ;do
[ $ISSYSTEMD ] && chroot . systemctl unmask $a
done

@ -11,8 +11,7 @@ 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='.'; 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" "$@"
@ -22,15 +21,46 @@ SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/network; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
[[ -n $1 ]] && NTPSERVERS=$1
[[ -n $2 ]] && ETH_INTERFACE="_$2"
[[ -n $2 ]] && ETH_INTERFACE="-$2"
# List NTP servers: PART_SYSTEMDPATH/Service_Name Process_Name
NTP_SERVICES_PROCESS="
sysinit.target.wants/systemd-timesyncd.service systemd-timesyncd
multi-user.target.wants/ntpd.service ntpd
multi-user.target.wants/ntpdate.service ntpdate
multi-user.target.wants/chronyd.service chronyd
multi-user.target.wants/openntpd.service ntpd
multi-user.target.wants/ptp4l.service ptp4l
multi-user.target.wants/phc2sys.service phc2sys"
if [[ -n ${NTPSERVERS} && ${NTPSERVERS,,} != "dhcp" ]]; then
ISSYSTEMD=$(readlink -fq ${ROOTFS}/usr/bin/init | grep "lib/systemd/systemd$")
if [[ ${NTPSERVERS,,} == "stop" ]]; then
# Для systemd
if [[ -n ${ISSYSTEMD} ]]; then
while IFS=' ' read ITEM_NTP_SERVICE ITEM_NTP_PROCESS; do
[[ -z ${ITEM_NTP_SERVICE} || -z ${ITEM_NTP_PROCESS} ]] && continue
if [[ -n ${ROOTFS} ]]; then
${CMD_CHROOT} systemctl --quiet disable ${ITEM_NTP_SERVICE##*/} &>/dev/null
else
systemctl --quiet disable --now ${ITEM_NTP_SERVICE##*/} &>/dev/null || pkill -9 ${ITEM_NTP_PROCESS}
fi
done < <(tr -d '\t' <<< ${NTP_SERVICES_PROCESS})
fi
# Вызывая из NetworkManager скрипта, переменна ${NTPSERVERS} перезаписана на сервера NTP
elif [[ -n ${NTPSERVERS} && ${NTPSERVERS,,} != "dhcp" ]]; then
[[ ${NTPSERVERS,,} == "default" ]] && NTPSERVERS=${NTPSERVERS_DEFAULT}
if [[ -f ${ROOTFS}/usr/lib/systemd/system/systemd-timesyncd.service ]]; then
CONFIG_TIMESYNCD=${ROOTFS}/etc/systemd/timesyncd.conf.d/ubconfig${ETH_INTERFACE}.conf
if [[ -n ${ISSYSTEMD} && ${NTP_SYSTEMSERVICE} == "systemd-timesyncd.service" && -f ${ROOTFS}/usr/lib/systemd/system/systemd-timesyncd.service ]]; then
CONFIG_TIMESYNCD=${ROOTFS}/etc/systemd/timesyncd.conf.d/ulinux${ETH_INTERFACE}.conf
mkdir -p ${ROOTFS}/etc/systemd/timesyncd.conf.d
echo "[Time]" > ${CONFIG_TIMESYNCD}
echo "NTP=${NTPSERVERS}" | tr ',;' ' ' >> ${CONFIG_TIMESYNCD}
echo "FallbackNTP=${NTPSERVERS_FALLBACK}" >> ${CONFIG_TIMESYNCD}
NTPSERVERS=$(tr ',;' ' ' <<< ${NTPSERVERS})
cat <<-EOF > "${CONFIG_TIMESYNCD}"
[Time]
NTP=${NTPSERVERS}
FallbackNTP=${NTPSERVERS_FALLBACK}
EOF
if [[ -n ${ROOTFS} ]]; then
${CMD_CHROOT} systemctl --quiet enable ${NTP_SYSTEMSERVICE} &>/dev/null
else
systemctl --quiet enable --now ${NTP_SYSTEMSERVICE} &>/dev/null
fi
fi
fi

@ -11,15 +11,18 @@ 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='.'; 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" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/desktop; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
if [[ "${AUTOLOGINUSER}" == "none" ]]; then
AUTOLOGINUSER_CMDLINE=$(cmdline_value autologin) && [[ -n ${AUTOLOGINUSER_CMDLINE} ]] && AUTOLOGINUSER=${AUTOLOGINUSER_CMDLINE}
if [[ -z "${AUTOLOGINUSER}" ]]; then
unset AUTOLOGINUSER
[[ -f ${ROOTFS}/etc/X11/gdm/custom.conf ]] && sed -i "s/^AutomaticLogin=.*//g" ${ROOTFS}/etc/X11/gdm/custom.conf
[[ -f ${ROOTFS}/usr/share/ublinux/kde4/share/config/kdm/kdmrc ]] && sed -i "s/^AutoLoginUser=.*//g" ${ROOTFS}/usr/share/ublinux/kde4/share/config/kdm/kdmrc
@ -27,13 +30,19 @@ SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
[[ -f ${ROOTFS}/etc/slim.conf ]] && sed -i "s/^default_user[[:space:]].*//g" ${ROOTFS}/etc/slim.conf
[[ -f ${ROOTFS}/etc/X11/slim/slim.conf ]] && sed -i "s/^default_user[[:space:]].*//g" ${ROOTFS}/etc/X11/slim/slim.conf
[[ -f ${ROOTFS}/etc/lxdm/lxdm.conf ]] && sed -i "s/^autologin=.*//g" ${ROOTFS}/etc/lxdm/lxdm.conf
[[ -f ${ROOTFS}/etc/lightdm/lightdm.conf ]] && sed -i "s/^autologin-user=.*/#autologin-user=/g" ${ROOTFS}/etc/lightdm/lightdm.conf
if [[ -f ${ROOTFS}/etc/lightdm/lightdm.conf ]]; then
sed "/^autologin-user=.*/d" -i ${ROOTFS}/etc/lightdm/lightdm.conf
rm -f ${ROOTFS}/etc/lightdm/lightdm.conf.d/ublinux-autologin.conf
fi
else
if [[ -z "${DISPLAYMANAGER_DEFAULTUSER}" ]]; then
[[ -z "$(cmdline_value autologin)" ]] || AUTOLOGINUSER=$(cmdline_value autologin)
[[ -z "${AUTOLOGINUSER}" ]] && AUTOLOGINUSER=$(echo "${NEEDEDUSERS}" | awk -F: '{print $1}')
[[ -z "${AUTOLOGINUSER}" ]] && AUTOLOGINUSER=$(grep :${ADMUID}:${ADMUID}: ${ROOTFS}/etc/passwd | awk -F: '{print $1}')
if [[ ${AUTOLOGINUSER} == yes && -z ${DISPLAYMANAGER_DEFAULTUSER} ]]; then
unset AUTOLOGINUSER
AUTOLOGINUSER=$(grep ":${ADMUID}:${ADMUID}:" ${ROOTFS}/etc/passwd | cut -d: -f1)
elif [[ ${AUTOLOGINUSER} == yes && -n ${DISPLAYMANAGER_DEFAULTUSER} ]]; then
AUTOLOGINUSER="${DISPLAYMANAGER_DEFAULTUSER}"
fi
grep -q "^${AUTOLOGINUSER}:" ${ROOTFS}/etc/passwd || exit 0
[[ -f ${ROOTFS}/etc/X11/gdm/custom.conf ]] && sed -i "s/^AutomaticLogin=.*/AutomaticLogin=${AUTOLOGINUSER}/g" ${ROOTFS}/etc/X11/gdm/custom.conf
[[ -f ${ROOTFS}/usr/share/ublinux/kde4/share/config/kdm/kdmrc ]] && sed -i "s/^AutoLoginUser=.*/AutoLoginUser=${AUTOLOGINUSER}/g" ${ROOTFS}/usr/share/ublinux/kde4/share/config/kdm/kdmrc
[[ -f ${ROOTFS}/etc/sddm.conf ]] && sed -i "s/^User=.*/User=${AUTOLOGINUSER}/g" ${ROOTFS}/etc/sddm.conf
@ -41,22 +50,16 @@ SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
[[ -f ${ROOTFS}/etc/X11/slim/slim.conf ]] && sed -i "s/^default_user[[:space:]].*/default_user ${AUTOLOGINUSER}/g" ${ROOTFS}/etc/X11/slim/slim.conf
[[ -f ${ROOTFS}/etc/lxdm/lxdm.conf ]] && sed -i "s/^#autologin=.*/autologin=${AUTOLOGINUSER}/g" ${ROOTFS}/etc/lxdm/lxdm.conf
if [[ -f ${ROOTFS}/etc/lightdm/lightdm.conf ]]; then
if grep -q "^#autologin-user=.*" ${ROOTFS}/etc/lightdm/lightdm.conf 2>/dev/null; then
sed -i "s/^#autologin-user=.*/autologin-user=${AUTOLOGINUSER}/g" ${ROOTFS}/etc/lightdm/lightdm.conf
else
sed -i "/\[Seat:\*\]/aautologin-user=${AUTOLOGINUSER}" ${ROOTFS}/etc/lightdm/lightdm.conf
fi
# sed -i "s/^#autologin-guest=.*/autologin-guest=false/" ${ROOTFS}/etc/lightdm/lightdm.conf
# sed -i "s/^#autologin-user-timeout=.*/autologin-user-timeout=0/" ${ROOTFS}/etc/lightdm/lightdm.conf
AUTOLOGIN_IDGROUP=$(grep -i "g\sautologin\s*[[:digit:]]\s*" ${ROOTFS}/usr/share/ublinux-sysusers/*.sysusers | cut -d: -f2 | xargs | cut -d " " -f3 | head -1)
sed "/^autologin-user=.*/d" -i ${ROOTFS}/etc/lightdm/lightdm.conf
mkdir -p ${ROOTFS}/etc/lightdm/lightdm.conf.d
cat <<-EOF | sed 's/^\s*\t*//' > "${ROOTFS}/etc/lightdm/lightdm.conf.d/ublinux-autologin.conf"
[Seat:*]
autologin-user=${AUTOLOGINUSER}
EOF
AUTOLOGIN_IDGROUP=$(grep -i "g\s*autologin\s*[[:digit:]]\s*" ${ROOTFS}/usr/share/ublinux-sysusers/*.sysusers | cut -d: -f2 | xargs | cut -d " " -f3 | head -1)
[[ -n ${AUTOLOGIN_IDGROUP} ]] && ARG_AUTOLOGIN_IDGROUP="-g ${AUTOLOGIN_IDGROUP}"
if [[ -n ${ROOTFS} ]]; then
chroot . ${ROOTFS}/usr/bin/groupadd -f ${ARG_AUTOLOGIN_IDGROUP} autologin >/dev/null 2>&1
chroot . ${ROOTFS}/usr/bin/gpasswd -a ${AUTOLOGINUSER} autologin >/dev/null 2>&1
else
/usr/bin/groupadd -f ${ARG_AUTOLOGIN_IDGROUP} autologin >/dev/null 2>&1
/usr/bin/gpasswd -a ${AUTOLOGINUSER} autologin >/dev/null 2>&1
fi
${CMD_CHROOT} ${ROOTFS}/usr/bin/groupadd -f ${ARG_AUTOLOGIN_IDGROUP} autologin >/dev/null 2>&1
${CMD_CHROOT} ${ROOTFS}/usr/bin/gpasswd -M ${AUTOLOGINUSER} autologin >/dev/null 2>&1
fi
fi

@ -0,0 +1,95 @@
#!/bin/bash
#
# Initial script for Live operating system
# This script are launching before starting init from linux-live 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
SELF_NAME="56-security"
PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin
unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=.
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" "$@"
SYSCONF="${ROOTFS}/${SYSCONF}"
SOURCE=${SYSCONF}/config; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/security; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
exec_access_denied_vtx11(){
FILE_XORGDONTVTSWITCH_CONF="${ROOTFS}/etc/X11/xorg.conf.d/ublinux-disable-vt.conf"
FILE_SYSTEMDLOGIND_CONF="${ROOTFS}/etc/systemd/logind.conf.d/ublinux-disable-vt.conf"
FILE_LIGHTDM_CONF="${ROOTFS}/etc/lightdm/lightdm.conf.d/ublinux-disable-vt.conf"
if [[ ${ACCESS_DENIED_VTX11} == @(yes|enable) ]]; then
mkdir -p ${FILE_XORGDONTVTSWITCH_CONF%/*}
cat <<-EOF | sed 's/^\s*\t*//' > "${FILE_XORGDONTVTSWITCH_CONF}"
Section "ServerFlags"
Option "DontVTSwitch" "true"
EndSection
EOF
if readlink -fq ${ROOTFS}/usr/bin/init | grep -q "lib/systemd/systemd$"; then
mkdir -p ${FILE_SYSTEMDLOGIND_CONF%/*}
cat <<-EOF | sed 's/^\s*\t*//' > "${FILE_SYSTEMDLOGIND_CONF}"
[Login]
NAutoVTs=0
ReserveVT=0
EOF
fi
if [[ -d ${ROOTFS}/etc/lightdm ]]; then
mkdir -p ${FILE_LIGHTDM_CONF%/*}
cat <<-EOF | sed 's/^\s*\t*//' > "${FILE_LIGHTDM_CONF}"
[LightDM]
logind-check-graphical=true
EOF
fi
elif [[ ${ACCESS_DENIED_VTX11} == @(no|disable) ]]; then
rm -f "${FILE_SYSTEMDLOGIND_CONF}" "${FILE_XORGDONTVTSWITCH_CONF}" "${FILE_LIGHTDM_CONF}"
fi
}
exec_polkit(){
## Настрока polkit правил
rm -f ${ROOTFS}/etc/polkit-1/rules.d/kiosk-*
if [[ -n ${POLKIT[@]} ]]; then
for RULES in "${!POLKIT[@]}"; do
RULES_GROUP=
RULES_FILE="${ROOTFS}/etc/polkit-1/rules.d/kiosk-$(sed 's/\([A-z0-9]*.[A-z0-9]*.[A-z0-9]*\)\..*/\1/' <<< ${RULES}).rules"
RULES_RESULT=$(cut -d: -f1 <<< ${POLKIT[${RULES}]})
for GROUP in $(grep ":" <<< ${POLKIT[${RULES}]} | cut -d: -f2 | tr ',' '\n'); do
RULES_GROUP+="&& subject.isInGroup(\"${GROUP}\") "
done
cat >> ${RULES_FILE} <<EOF
polkit.addRule(function(action, subject) {
if (action.id.indexOf("${RULES}") == 0
&& subject.active == true
&& subject.local == true
${RULES_GROUP}
)
{
return polkit.Result.${RULES_RESULT^^};
}
});
EOF
done
#touch ${ROOTFS}/etc/polkit-1/rules.d
fi
}
if [[ ${0##*/} == ${SELF_NAME} && -z $@ ]]; then
while read -r FUNCTION; do
$"${FUNCTION##* }"
done < <(declare -F | grep "declare -f exec_")
elif [[ ${0##*/} == ${SELF_NAME} ]]; then
for FUNCTION in $@; do
${FUNCTION}
done
else
true
fi

@ -7,29 +7,32 @@
ENABLED=yes
[ "$ENABLED" != "yes" ] && exit 0
DEBUGMODE=no
PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin
DEBUGMODE=no
unset ROOTFS; [[ -d /usr/lib/ublinux ]] || ROOTFS=.
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" "$@"
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
SERVICEAPPARMOR="apparmor.service"
if ! [ "$APPARMOR"=="yes" ] ;then
mkdir -p proc
mount -o rbind /proc proc
ISSYSTEMD=$(readlink -fq usr/bin/init | grep /lib/systemd/systemd)
if [ $ISSYSTEMD ] ;then
chroot . systemctl unmask $SERVICEAPPARMOR
chroot . systemctl enable $SERVICEAPPARMOR || chroot . chkconfig --add $SERVICEAPPARMOR
else
chroot . chkconfig --add $SERVICEAPPARMOR
fi
umount proc
cat > ${ROOTFS}etc/xdg/autostart/apparmor-notify.desktop << EOF
if [[ ${APPARMOR} != yes ]]; then
mkdir -p proc
mount -o rbind /proc proc
if readlink -fq ${ROOTFS}/usr/bin/init | grep -q "lib/systemd/systemd$"; then
chroot . systemctl unmask ${SERVICEAPPARMOR}
chroot . systemctl enable ${SERVICEAPPARMOR} || chroot . chkconfig --add ${SERVICEAPPARMOR}
else
chroot . chkconfig --add ${SERVICEAPPARMOR}
fi
umount proc
cat > ${ROOTFS}/etc/xdg/autostart/apparmor-notify.desktop << EOF
[Desktop Entry]
Type=Application
Name=AppArmor Notify
@ -39,7 +42,6 @@ Exec=aa-notify -p -s 1 -w 60 -f /var/log/audit/audit.log
StartupNotify=false
NoDisplay=true
EOF
fi
fi

@ -74,10 +74,6 @@ NEEDEDUSERS='superadmin:1000:x:Администратор'
# Помещать пользователя с ID 1000 в группу Администраторов whell
#ADDADM=yes
## User for X autostarting
## Пользователь для автовхода (none отключает автовход, без параметра, либо пусто включает автовход superadmin)
AUTOLOGINUSER=none
## Groups for users
## Группы, в которых будут состоять пользователи (default scanner,power,audio,lp,optical,storage,video,sambashare,vboxusers)
#USERGROUPS=scanner,power,audio,lp,optical,storage,video,sambashare,vboxusers,libvirt
@ -87,7 +83,7 @@ AUTOLOGINUSER=none
## Для работы bluetooth SERVICESSTART+=bluetooth
## Для работы в WINDOWS сетях с DNS NETBIOS, включить NSSWITCHWINBIND=yes и добавить SERVICESSTART=nmb,winbind
## Для VMWareWorkstation: vmware-networks, vmware-usbarbitrator
## SERVICESSTART=tor,polipo,cups-lpd
## SERVICESSTART=tor,polipo,cups-lpd,pcscd
SERVICESSTART=dbus-broker,NetworkManager,sshd,systemd-swap,systemd-timesyncd,cups,cockpit.socket,avahi-daemon,avahi-dnsconfd,veyon,smb,nmb,winbind,bluetooth
## You can disable some of standart services start
@ -102,12 +98,14 @@ HOSTNAME=ublinux-install
## You can specify your /etc/machine-id there. If MACHINEID=RANDOM then will be
## created random number. # In other case, it will be based on internal hardware list.
## Номер машины, который попадает в /etc/machine-id. В случае MACHINEID=RANDOM создастся
## случайный номер, иначе он сформируется в зависимости от аппаратной начинки материнской платы.
## Номер машины, который попадает в /etc/machine-id.
## =hardware | =hw - сформируется в зависимости от аппаратной начинки материнской платы и MAC
## =random | =rnd - создастся случайный номер
## Можно привязать к носителю, указав свой номер (в формате вывода утилиты md5sum)
## к примеру, echo mynumber | md5sum
#MACHINEID=91ec1cd57b484d479893f012b26f89ea
MACHINEID=RANDOM
#MACHINEID=hardware
MACHINEID=hardware
## Включить Apparmor, по умолчанию отключен
#APPARMOR=yes
@ -173,7 +171,7 @@ DEPMOD=yes
#VARTMPFS=no
## Перечень программ для автозагрузки под пользователем
#AUTOEXEC="kde:yakuake;gnome:guake;lxde:guake;xbindkeys"
#AUTOEXEC="kde:yakuake;gnome:guake;lxde:guake;xbindkeys;xfce:plank"
## Включение pulseaudio (yes, no)
#PULSEAUDIO=yes
@ -184,9 +182,10 @@ DEPMOD=yes
#ALSADEVICE=7
## Автообновление системы
## auto - автоматически
## ask - спросить у пользователя (по умолчанию)
## never - не обновлять автоматически
## UBLINUXUPDATE=
## =auto # автоматически
## =ask # спросить у пользователя (по умолчанию)
## =never # не обновлять автоматически
#UBLINUXUPDATE=auto
## Профиль конфигурации PAM авторизации, authselect. Профили /usr/share/authselect/vendor
@ -211,8 +210,10 @@ DEPMOD=yes
################################################################################
## Настройка сохранений
[/etc/ublinux/save]
##Сохранять кеши при перезагрузки/выключении, ускоряет загрузку системы
#SAVE_ALL_CACHE=rootcopy
## Сохранять кеши при перезагрузки/выключении, ускоряет загрузку системы
## SAVE_ALL_CACHE=rootcopy
## TODO
#SELECT_SAVE_ROOTCOPY_WHITELIST=""
#SELECT_SAVE_ROOTCOPY_BLACKLIST=""
#SELECT_SAVE_MODULE_WHITELIST=""
@ -312,9 +313,12 @@ DEPMOD=yes
IPV6=no
## Серверы времени
## NTPSERVERS=dhcp # Выбрать сервер времени предложенный DHCP
## NTPSERVERS=default # Выбрать сервера времени ntp1.vniiftri.ru ntp2.vniiftri.ru ntp3.vniiftri.ru ntp4.vniiftri.ru ntp21.vniiftri.ru ru.pool.ntp.org
## NTPSERVERS=ntp1.vniiftri.ru,ru.pool.ntp.org
## NTPSERVERS=dhcp|default|stop|$VALUE
## =dhcp # Выбрать сервер времени предложенный DHCP
## =default # Выбрать сервера времени по умолчанияю: ntp1.vniiftri.ru ntp2.vniiftri.ru ntp3.vniiftri.ru ntp4.vniiftri.ru ntp21.vniiftri.ru ru.pool.ntp.org
## =stop # Отключить NTP синхронизацию принудительно
## =ntp1.vniiftri.ru,ru.pool.ntp.org # VALUE=Перечень серверов, через ',' или ';'
## не задано # Никаких действий не предпринимается
NTPSERVERS=dhcp
## Дбавить порядок поиска DNS: avahi и winbind (default no)
@ -353,8 +357,17 @@ NSSWITCHWINBIND=yes
#MACCHANGEROPTIONS='--mac=XX:XX:XX:XX:XX:XX'
################################################################################
## Настройка режима киоска
[/etc/ublinux/kiosk]
## Настройка безопасности, ограницений
[/etc/ublinux/security]
## Отключить виртуальные терминалы и запретить переключение на них из X11
## ACCESS_DENIED_VTX11=yes|no*|enable|disable
## ACCESS_DENIED_VTX11=yes
## TODO https://linux.die.net/man/5/access.conf
## Блокировка доступа к терминалу
## ACCESS_GRANTED_VT=
## ACCESS_DENIED_VT=
## Управление разрешениями действий polkit, можно разрешать для групы пользователей
## POLKIT[id_object]=result:group_1,group_n"
## Посмотреть все доступные объекты polkit: pkaction | grep udisks
@ -364,14 +377,42 @@ NSSWITCHWINBIND=yes
## org.freedesktop.udisks2.filesystem-mount-system - Mount a filesystem on a system device | Монтировать файловую систему на системном устройстве
## org.freedesktop.udisks2.filesystem-mount-other-seat - Mount a device attached to another seat | Монтировать файловую систему с устройства, подключенного в другое место
## org.freedesktop.udisks2.filesystem-unmount-others - Unmount a device mounted by another user | Демонтировать устройство, смонтированное другим пользователем
## org.freedesktop.machine1.host-login
## org.freedesktop.DisplayManager.AccountsService.ModifyAny
## org.freedesktop.login1.suspend
## org.freedesktop.login1.suspend-multiple-sessions
## org.freedesktop.login1.suspend-ignore-inhibit
## org.freedesktop.login1.hibernate
## org.freedesktop.login1.hibernate-multiple-sessions
## org.freedesktop.login1.hibernate-ignore-inhibit
## org.freedesktop.login1.reboot
## org.freedesktop.login1.reboot-multiple-sessions
## org.freedesktop.login1.reboot-ignore-inhibit
## org.freedesktop.login1.set-reboot-parameter
## org.freedesktop.login1.set-reboot-to-boot-loader-entry
## org.freedesktop.login1.set-reboot-to-boot-loader-menu
## org.freedesktop.login1.set-reboot-to-firmware-setup
## org.freedesktop.login1.manage
## org.freedesktop.login1.lock-sessions
## org.freedesktop.login1.chvt
## org.freedesktop.upower.hibernate
## org.freedesktop.upower.suspend
## org.xfce.power.xfce4-pm-helper
## org.xfce.session.xfsm-shutdown-helper
## org.manjaro.pamac. - GUI Pamac install package | ГУЙ pamac установка и обновление пакетов
## org.opensuse.cupspkhelper.mechanism.all-edit - Printer settings | Настройки принтера
## org.freedesktop.NetworkManager. - NetworkManager settings | Настройки NetworkManager
##
## POLKIT[org.freedesktop.udisks2.]=yes:storage
## POLKIT[org.manjaro.pamac.]=yes:wheel
## POLKIT[ru.ublinux.pkexec.ubl-settings-datetime.exec]=yes:users
## POLKIT[org.manjaro.pamac.]=yes:users
################################################################################
## Настройка режима киоска
[/etc/ublinux/kiosk]
## Режим киоска XFCE4
## =all - разрешить всем | =none - запретить | =%whell,%users - разрешить группам | =superadmin,user-1 - разрешить пользователям | =%wheel,user-1 - разрешить пользователю и группе
## =ALL - разрешить всем | =NONE - запретить | =%whell,%users - разрешить группам | =superadmin,user-1 - разрешить пользователям | =%wheel,user-1 - разрешить пользователю и группе
#XFCE4_KIOSK[xfce4-panel:CustomizePanel]=%wheel
#XFCE4_KIOSK[xfce4-session:SaveSession]=NONE
#XFCE4_KIOSK[xfce4-session:CustomizeSplash]=NONE
@ -391,7 +432,7 @@ NSSWITCHWINBIND=yes
## Назначить настройки XFCE4 через xfconf-query
## XFCE4_XFCONF[$users,%$groups:$channel:$property]=$type:$value
## $users =superadmin,user-1 - разрешить пользователям.
## $users =superadmin,user-1 - разрешить пользователям
## %$groups =%whell,%users - разрешить группам | =%wheel,user-1 - разрешить пользователю и группе
## $channel $property $type $value - значения xfconf-query --channel $channel --property $property --create --type $type --set $set
## #type =reset - выполняет xfconf-query --channel $channel --property $property --reset --recursive
@ -404,7 +445,7 @@ NSSWITCHWINBIND=yes
## Скрыть кнопку LOGOUT в XFCE4 диалог выключения питания
## XFCE4_DIALOGPOWER_LOGOUT[$users,%$groups]=$value
## $users =superadmin,user-1 - разрешить пользователям.
## $users =superadmin,user-1 - разрешить пользователям
## %$groups =%whell,%users - разрешить группам | =%wheel,user-1 - разрешить пользователю и группе
## $value =hide - скрыть кнопку
## $value =show - показать кнопку
@ -436,6 +477,13 @@ NSSWITCHWINBIND=yes
################################################################################
[/etc/ublinux/desktop]
## User for X autostarting
## Пользователь для автовхода, значения:
## =user_name - включает автовход указанного пользователя
## =yes - включает автовход пользователя с id =${ADMUID} по умолчанию =1000, по умолчанию =superadmin
## если задан параметр ${DISPLAYMANAGER_DEFAULTUSER}, то автовход от пользователя переменной
## AUTOLOGINUSER=yes
# Графическая среда по умолчанию может быть изменена
# LXDE+slim - быстрая среда для слабых компьютеров
# GNOME+GDM - альтерантивная среда для средних и мощных машин
@ -533,26 +581,24 @@ NSSWITCHWINBIND=yes
################################################################################
[/etc/ublinux/clock]
#UTC=true
# Установка часового пояса
# Time zone for UTC+3 MSK-1
#ZONE=Europe/Kaliningrad
# Time zone for UTC+4 MSK
#ZONE=Europe/Moscow
# Time zone for UTC+6 MSK+2
#ZONE=Asia/Yekaterinburg
# Time zone for UTC+7 MSK+3
#ZONE=Asia/Omsk
# Time zone for UTC+8 MSK+4
#ZONE=Asia/Krasnoyarsk
# Time zone for UTC+9 MSK+5
#ZONE=Asia/Irkutsk
# Time zone for UTC+10 MSK+6
#ZONE=Asia/Yakutsk
# Time zone for UTC+11 MSK+7
#ZONE=Asia/Vladivostok
# Time zone for UTC+12 MSK+8
#ZONE=Asia/Magadan
## Синхронизировать аппаратное время, при выключении и при включении
## HWCLOCK_SYNC=*utc|localtime
## * =utc # Синхронизировать аппаратное время по UTC
## =localtime # Синхронизировать аппаратное время по локальному времени
#HWCLOCK_SYNC=localtime
## Установка часового пояса
#ZONE=Europe/Kaliningrad # Time zone for UTC+2 MSK-1
#ZONE=Europe/Moscow # Time zone for UTC+3 MSK
#ZONE=Europe/Samara # Time zone for UTC+4 MSK+1
#ZONE=Asia/Yekaterinburg # Time zone for UTC+5 MSK+2
#ZONE=Asia/Omsk # Time zone for UTC+6 MSK+3
#ZONE=Asia/Krasnoyarsk # Time zone for UTC+7 MSK+4
#ZONE=Asia/Irkutsk # Time zone for UTC+8 MSK+5
#ZONE=Asia/Chita # Time zone for UTC+9 MSK+6
#ZONE=Asia/Yakutsk # Time zone for UTC+10 MSK+7
#ZONE=Asia/Vladivostok # Time zone for UTC+11 MSK+8
#ZONE=Asia/Magadan # Time zone for UTC+12 MSK+9
################################################################################
[/etc/ublinux/locale]

Loading…
Cancel
Save