Add SAVE_CLEAN and fix 43-repository

master v2.80
Dmitry Razumov 2 years ago
parent d0553e9f6d
commit f6130cbd1b
Signed by: asmeron
GPG Key ID: 50BC1DB583B79706

@ -15,8 +15,8 @@ SOURCE=${SYSCONF}/boot; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
get_path_grub2(){
NAME_GRUB_CFG="grub.cfg"
PATH_GRUB=$(find ${ROOTFS}/memory/data/from/*/boot/grub/ -maxdepth 1 -type f -name "${NAME_GRUB_CFG}" | head -1)
[[ -n ${PATH_GRUB} ]] || PATH_GRUB="$(find ${ROOTFS}/memory/data/from/*/ -maxdepth 3 -type f -name "${NAME_GRUB_CFG}" | head -1)"
PATH_GRUB=$(find /memory/data/from/*/boot/grub/ -maxdepth 1 -type f -name "${NAME_GRUB_CFG}" | head -1)
[[ -n ${PATH_GRUB} ]] || PATH_GRUB="$(find /memory/data/from/*/ -maxdepth 3 -type f -name "${NAME_GRUB_CFG}" | head -1)"
[[ -n ${PATH_GRUB} ]] || return 1
[[ -w ${PATH_GRUB} ]] && PATH_GRUB="${PATH_GRUB%/*}" || return 1
}

@ -1,43 +0,0 @@
#!/usr/bin/env bash
ENABLED=yes
[[ ${ENABLED} == "yes" ]] || exit 0
SOURCE=/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SOURCE=${SYSCONF}/config; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/save; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/network; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
ROOTFS=""
PATH_CHANGES="/memory/changes"
NAME_ROOTCOPY="rootcopy"
PATH_ROOTCOPY=$(find ${ROOTFS}/memory/layer-base/*/ -maxdepth 1 -type d -name "${NAME_ROOTCOPY}" | head -1)
[[ -n ${PATH_ROOTCOPY} ]] || PATH_ROOTCOPY="$(find ${ROOTFS}/memory/layer-base/*/ -maxdepth 1 -type f -name "ublinux-data*.sgn" | head -1)"
[[ -n ${PATH_ROOTCOPY} ]] && PATH_ROOTCOPY="${PATH_ROOTCOPY%/*}/${NAME_ROOTCOPY}" || exit 0
NAME_MODULES="modules"
PATH_MODULES=$(find ${ROOTFS}/memory/layer-base/*/ -maxdepth 1 -type d -name "${NAME_MODULES}" | head -1)
[[ -n ${PATH_MODULES} ]] || PATH_MODULES="$(find ${ROOTFS}/memory/layer-base/*/ -maxdepth 1 -type f -name "ublinux-data*.sgn" | head -1)"
[[ -n ${PATH_MODULES} ]] && PATH_MODULES="${PATH_MODULES%/*}/${NAME_MODULES}" || exit 0
[[ -n ${PATH_ROOTCOPY} ]] || install -dm0755 -o root -g root "${PATH_ROOTCOPY}"
if [[ ${SAVE_ALL_CACHE} == "rootcopy" && -w ${PATH_ROOTCOPY} ]]; then
cd ${PATH_CHANGES}
# find etc/ -type f -name ld.so.cache -exec install -CDm644 {} ${PATH_ROOTCOPY}/{} \;
find etc/udev/ -type f -name hwdb.bin -exec install -CDm644 {} ${PATH_ROOTCOPY}/{} \;
find usr/lib/gdk-pixbuf-*/*/ -type f -name loaders.cache -exec install -CDm644 {} ${PATH_ROOTCOPY}/{} \;
find usr/lib/locale/ -type f -name locale-archive -exec install -CDm644 {} ${PATH_ROOTCOPY}/{} \;
find usr/lib/modules/*/ -type f -name modules. -exec install -CDm644 {} ${PATH_ROOTCOPY}/{} \;
find usr/share/applications/ -type f -name mimeinfo.cache -exec install -CDm644 {} ${PATH_ROOTCOPY}/{} \;
find usr/share/fonts/ -type f \( -name "fonts.dir" -o -name "fonts.scale" \) -exec install -CDm644 {} ${PATH_ROOTCOPY}/{} \;
find usr/share/glib-*/schemas/ -type f -name gschemas.compiled -exec install -CDm644 {} ${PATH_ROOTCOPY}/{} \;
find usr/share/icons/ -type f -name icon-theme.cache -exec install -CDm644 {} ${PATH_ROOTCOPY}/{} \;
find usr/share/mime/ -maxdepth 1 -type f -exec install -CDm644 {} ${PATH_ROOTCOPY}/{} \;
find var/cache/fontconfig/ -type f -exec install -CDm644 {} ${PATH_ROOTCOPY}/{} \;
# find var/cache/ldconfig/ -type f -name aux-cache -exec install -CDm600 {} ${PATH_ROOTCOPY}/{} \;
# install -dm700 ${PATH_ROOTCOPY}/var/cache/ldconfig
cp -af etc/pacman.d ${PATH_ROOTCOPY}/etc/
cp -af etc/ssh ${PATH_ROOTCOPY}/etc/
fi

@ -0,0 +1,64 @@
#!/usr/bin/env bash
ENABLED=yes
[[ ${ENABLED} == "yes" ]] || exit 0
DEBUGMODE=no
[[ -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}"
SOURCE=/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null || exit 0
SOURCE=${SYSCONF}/config; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/save; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
SOURCE=${SYSCONF}/network; [ -f ${SOURCE} ] && . ${SOURCE} 2>/dev/null
exec_save_all_cache(){
if [[ -n ${SAVE_ALL_CACHE} ]]; then
PATH_CHANGES="/memory/changes"
NAME_ROOTCOPY="rootcopy"
NAME_MODULES="modules"
if [[ ${SAVE_ALL_CACHE} == "rootcopy" ]]; then
PATH_ROOTCOPY=$(find /memory/layer-base/*/ -maxdepth 1 -type d -name "${NAME_ROOTCOPY}" | head -1)
[[ -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}" || return 0
[[ -n ${PATH_ROOTCOPY} ]] || install -dm0755 -o root -g root "${PATH_ROOTCOPY}"
[[ -w ${PATH_ROOTCOPY} ]] || return 1
cd ${PATH_CHANGES}
# find etc/ -type f -name ld.so.cache -exec install -CDm644 {} ${PATH_ROOTCOPY}/{} \;
find etc/udev/ -type f -name hwdb.bin -exec install -CDm644 {} ${PATH_ROOTCOPY}/{} \;
find usr/lib/gdk-pixbuf-*/*/ -type f -name loaders.cache -exec install -CDm644 {} ${PATH_ROOTCOPY}/{} \;
find usr/lib/locale/ -type f -name locale-archive -exec install -CDm644 {} ${PATH_ROOTCOPY}/{} \;
find usr/lib/modules/*/ -type f -name modules. -exec install -CDm644 {} ${PATH_ROOTCOPY}/{} \;
find usr/share/applications/ -type f -name mimeinfo.cache -exec install -CDm644 {} ${PATH_ROOTCOPY}/{} \;
find usr/share/fonts/ -type f \( -name "fonts.dir" -o -name "fonts.scale" \) -exec install -CDm644 {} ${PATH_ROOTCOPY}/{} \;
find usr/share/glib-*/schemas/ -type f -name gschemas.compiled -exec install -CDm644 {} ${PATH_ROOTCOPY}/{} \;
find usr/share/icons/ -type f -name icon-theme.cache -exec install -CDm644 {} ${PATH_ROOTCOPY}/{} \;
find usr/share/mime/ -maxdepth 1 -type f -exec install -CDm644 {} ${PATH_ROOTCOPY}/{} \;
find var/cache/fontconfig/ -type f -exec install -CDm644 {} ${PATH_ROOTCOPY}/{} \;
# find var/cache/ldconfig/ -type f -name aux-cache -exec install -CDm600 {} ${PATH_ROOTCOPY}/{} \;
# install -dm700 ${PATH_ROOTCOPY}/var/cache/ldconfig
cp -af etc/pacman.d ${PATH_ROOTCOPY}/etc/
cp -af etc/ssh ${PATH_ROOTCOPY}/etc/
elif [[ ${SAVE_ALL_CACHE} == "modules" ]]; then
PATH_MODULES=$(find /memory/layer-base/*/ -maxdepth 1 -type d -name "${NAME_MODULES}" | head -1)
[[ -n ${PATH_MODULES} ]] || PATH_MODULES="$(find /memory/layer-base/*/ -maxdepth 1 -type f -name "ublinux-data*.sgn" | head -1)"
[[ -n ${PATH_MODULES} ]] && PATH_MODULES="${PATH_MODULES%/*}/${NAME_MODULES}" || return 0
[[ -n ${PATH_MODULES} ]] || install -dm0755 -o root -g root "${PATH_MODULES}"
[[ -w ${PATH_MODULES} ]] || return 1
# TODO
fi
fi
}
################
##### MAIN #####
################
[[ ${SYSTEMBOOT_STATEMODE} == "changes" ]] && exit 0
exec_save_all_cache $@

@ -20,8 +20,8 @@ NAME_ROOTCOPY="rootcopy"
exec_save_rootcopy(){
## При перезагрузке/выключении, сохранить/перезаписать указанные каталоги/файлы <SAVE_ROOTCOPY_INCLUDE>, кроме <SAVE_ROOTCOPY_EXCLUDE> в /ublinux-data/rootcopy/
if [[ -n ${SAVE_ROOTCOPY_INCLUDE} || -n ${SAVE_ROOTCOPY_CHANGES} ]]; then
PATH_ROOTCOPY=$(find ${ROOTFS}/memory/layer-base/*/ -maxdepth 1 -type d -name "${NAME_ROOTCOPY}" | head -1)
[[ -n ${PATH_ROOTCOPY} ]] || PATH_ROOTCOPY="$(find ${ROOTFS}/memory/layer-base/*/ -maxdepth 1 -type f -name "ublinux-data*.sgn" | head -1)"
PATH_ROOTCOPY=$(find /memory/layer-base/*/ -maxdepth 1 -type d -name "${NAME_ROOTCOPY}" | head -1)
[[ -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
[[ -e ${PATH_ROOTCOPY} ]] || install -dm0755 -o root -g root "${PATH_ROOTCOPY}"
@ -48,8 +48,8 @@ exec_save_rootcopy(){
}
exec_save_sssd_rootcopy(){
PATH_ROOTCOPY=$(find ${ROOTFS}/memory/layer-base/*/ -maxdepth 1 -type d -name "${NAME_ROOTCOPY}" | head -1)
[[ -n ${PATH_ROOTCOPY} ]] || PATH_ROOTCOPY="$(find ${ROOTFS}/memory/layer-base/*/ -maxdepth 1 -type f -name "ublinux-data*.sgn" | head -1)"
PATH_ROOTCOPY=$(find /memory/layer-base/*/ -maxdepth 1 -type d -name "${NAME_ROOTCOPY}" | head -1)
[[ -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
# Save DOMAIN settings

@ -0,0 +1,93 @@
#!/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
SOURCE=${SYSCONF}/save; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
## Удалить указанные изменения, после очистки параметр удаляется
## SAVE_CLEAN=all|changes,rootcopy,homes
## all # Удалить все изменения из /ublinux-data/changes/ /ublinux-data/rootcopy/ /ublinux-data/homes/
## changes # Удалить только системные изменения /ublinux-data/changes/
## rootcopy # Удалить только /ublinux-data/rootcopy/
## homes # Удалить только /ublinux-data/homes/
## SAVE_CLEAN=changes,rootcopy
exec_save_clean(){
find_path_changes(){
PATH_CHANGES=$(find /memory/layer-base/*/ -maxdepth 1 -type d -name "${NAME_CHANGES}" | head -1)
[[ -n ${PATH_CHANGES} ]] || PATH_CHANGES="$(find /memory/layer-base/*/ -maxdepth 1 -type f -name "ublinux-data*.sgn" | head -1)"
[[ -n ${PATH_CHANGES} ]] && PATH_CHANGES="${PATH_CHANGES%/*}/${NAME_CHANGES}" || return 1
}
find_path_rootcopy(){
PATH_ROOTCOPY=$(find /memory/layer-base/*/ -maxdepth 1 -type d -name "${NAME_ROOTCOPY}" | head -1)
[[ -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}" || return 1
}
find_path_homes(){
PATH_HOMES=$(find /memory/layer-base/*/ -maxdepth 1 -type d -name "${NAME_HOMES}" | head -1)
[[ -n ${PATH_HOMES} ]] || PATH_HOMES="$(find /memory/layer-base/*/ -maxdepth 1 -type f -name "ublinux-data*.sgn" | head -1)"
[[ -n ${PATH_HOMES} ]] && PATH_HOMES="${PATH_HOMES%/*}/${NAME_HOMES}" || return 1
}
check_clean_changes(){
[[ -n $(ls -A ${PATH_CHANGES} 2>/dev/null) ]] && NEED_REBOOT=yes || return 1
}
check_clean_rootcopy(){
[[ -n $(ls -A ${PATH_ROOTCOPY} 2>/dev/null) ]] && NEED_REBOOT=yes || return 1
}
check_clean_homes(){
local STATUS=
find ${PATH_HOMES} -maxdepth 2 -type d -name ".config" | while read -r PATH_USER_HOME; do
[[ -n $(ls -A ${PATH_USER_HOME%/*} 2>/dev/null) ]] && NEED_REBOOT=yes && STATUS=1
done
[[ -z ${STATUS} ]] || return 1
}
clean_changes(){
find ${PATH_CHANGES}/{..?*,.[!.]*,*} -delete 2>/dev/null
}
clean_rootcopy(){
find ${PATH_ROOTCOPY}/{..?*,.[!.]*,*} -delete 2>/dev/null
}
clean_homes(){
find ${PATH_HOMES} -maxdepth 2 -type d -name ".config" | while read -r PATH_USER_HOME; do
find ${PATH_USER_HOME%/*} -delete 2>/dev/null
done
}
# Если задан парметр, то использовать как значение
[[ -n $@ ]] && SAVE_CLEAN=$@
if [[ -n ${SAVE_CLEAN} ]]; then
local NAME_CHANGES="changes"
local NAME_ROOTCOPY="rootcopy"
local NAME_HOMES="homes"
local NEED_REBOOT=
if [[ ${SAVE_CLEAN} =~ 'all' ]]; then
find_path_changes && check_clean_changes && clean_changes
find_path_rootcopy && check_clean_rootcopy && clean_rootcopy
find_path_homes && check_clean_homes && clean_homes
else
[[ ${SAVE_CLEAN} =~ 'changes' ]] && find_path_changes && check_clean_changes && clean_changes
[[ ${SAVE_CLEAN} =~ 'rootcopy' ]] && find_path_rootcopy && check_clean_rootcopy && clean_rootcopy
[[ ${SAVE_CLEAN} =~ 'homes' ]] && find_path_homes && check_clean_homes && clean_homes
fi
${CMD_CHROOT} /usr/bin/ubconfig --quiet --target global remove [save] SAVE_CLEAN
sync; sync; sync; echo 3 > /proc/sys/vm/drop_caches
[[ -n ${NEED_REBOOT} ]] || return 1
fi
}
################
##### MAIN #####
################
# Если файл подключен как ресурс с функциями, то выйти
return 0 2>/dev/null && return 0
exec_save_clean $@

@ -408,7 +408,7 @@ exec_04_repopublic_cache(){
disable_pacoloco(){
systemctl --quiet disable pacoloco.service
systemctl --quiet stop pacoloco.service
find ${ROOTFS}/memory/bundles -maxdepth 3 -path "*/etc/*" -type f -name "pacoloco.yaml" -exec cp -af {} "/etc/" \; -quit
find /memory/bundles -maxdepth 3 -path "*/etc/*" -type f -name "pacoloco.yaml" -exec cp -af {} "/etc/" \; -quit
}
[[ $1 == @("set="|"set+="|"set++="|"set-="|"set--="|"remove") ]] && COMMAND=$1 && shift
[[ -n ${COMMAND} ]] || COMMAND="set="
@ -563,7 +563,7 @@ live_autoupdate(){
[[ ${SAVE_REPOSITORY_ARRAY} == @(""|"(null)") ]] || ubconfig --quiet --nocolor --target system set [update] ${SAVE_REPOSITORY_ARRAY}
}
if [[ ${AUTOUPDATE[0]} == @("enable"|"yes") ]]; then
FILE_LOG_AUTOUPDATE="/var/log/ubconfig_autoupdate.log"
FILE_LOG_AUTOUPDATE="/var/log/ubconfig-autoupdate.log"
exec &> >(tee -a "${FILE_LOG_AUTOUPDATE}")
echo
date

@ -0,0 +1,31 @@
#!/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
SOURCE=${SYSCONF}/save; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
## Удалить указанные изменения, после очистки параметр удаляется SAVE_CLEAN=
## Основная очиста выполняется при завершении работы /rc.halt.pre/*-save-clean, но если парметр не удалился или была задана опция в GRUB, то повторно выполнить очистку
exec_save_clean(){
CMDLINE_SAVE_CLEAN=$(cmdline_value save_clean)
[[ -n ${CMDLINE_SAVE_CLEAN} ]] && SAVE_CLEAN=${CMDLINE_SAVE_CLEAN}
if [[ -n ${SAVE_CLEAN} ]]; then
FILE_EXEC=$(find ${ROOTFS}/usr/lib/ublinux/rc.halt.pre -iname "*-save-clean")
[[ -n ${FILE_EXEC} ]] && ${FILE_EXEC} ${SAVE_CLEAN} && poweroff --force --reboot
fi
}
################
##### MAIN #####
################
exec_save_clean

@ -35,8 +35,12 @@
# Поддерживаемые параметры Grub
# services_enable=item_1,item_2,...,item_n # Перечень сервисов/юнитов которые должны быть запущены, разделитель (,) или (;). Пример: services_enable=sbm,nmb,cockpit.socket
# services_disable=item_1,item_2,...,item_n # Перечень сервисов/юнитов которые должны быть выключены, разделитель (,) или (;). Пример: services_disable=sbm,nmb,cockpit.socket
# useradd=<user_name_1:gecos:uid:user_group:extra_groups:password>;...;<user_name_2:gecos:uid:user_group:extra_groups:password> # Перечень пользователей, см. USERADD.
# Пример: useradd=admin:::::pass;admin2:Administrator-2:1010:admin2:wheel,users:pass2
# useradd=<user_name_1:gecos:uid:user_group:extra_groups:password>;...;<user_name_2:gecos:uid:user_group:extra_groups:password>
# # Перечень пользователей, см. USERADD=
# # Пример: useradd=admin:::::pass;admin2:Administrator-2:1010:admin2:wheel,users:pass2
# save_clean=all|changes,rootcopy,homes # Очистить изменения пользователя, см. SAVE_CLEAN=
#
#
#
################################################################################
@ -690,7 +694,6 @@ GRUB_CMDLINE_LINUX="modprobe.blacklist=nouveau"
## GRUB_ADDON_FILE=<file>
## <file> # Файл загрузки addon
[/etc/ublinux/server]
## Настройка сервера
################################################################################
@ -796,13 +799,12 @@ GRUB_CMDLINE_LINUX="modprobe.blacklist=nouveau"
#SAVE_MODULE_INCLUDE="/etc/pacman.d/gnupg,/etc/NetworkManager/system-connections"
#SAVE_MODULE_EXCLUDE="/etc/ublinux"
## TODO
## Удалить указанные изменения, после успешной очистки параметр удаляется
## SAVE_CLEAN=all|changes,rootcopy,home
## all # Удалить все изменения из /changes/ /rootcopy/ /home/
## changes # Удалить только системные изменения /changes/
## rootcopy # Удалить только изменения /rootcopy/
## home # Удалить только изменения /home/
## Удалить указанные изменения, после очистки параметр удаляется
## SAVE_CLEAN=all|changes,rootcopy,homes
## all # Удалить все изменения из /ublinux-data/changes/ /ublinux-data/rootcopy/ /ublinux-data/homes/
## changes # Удалить только системные изменения /ublinux-data/changes/
## rootcopy # Удалить только /ublinux-data/rootcopy/
## homes # Удалить только /ublinux-data/homes/
## SAVE_CLEAN=changes,rootcopy
[/etc/ublinux/network]

Loading…
Cancel
Save