mirror of
https://github.com/bol-van/zapret.git
synced 2024-11-11 17:29:16 +05:00
install_easy: readonly system check
This commit is contained in:
parent
294140de97
commit
e6e8ca1d4a
@ -184,6 +184,26 @@ check_system()
|
||||
echo system is based on $SYSTEM
|
||||
}
|
||||
|
||||
check_readonly_system()
|
||||
{
|
||||
local RO
|
||||
echo \* checking readonly system
|
||||
case $SYSTEM in
|
||||
systemd)
|
||||
[ -w "$SYSTEMD_SYSTEM_DIR" ] || RO=1
|
||||
;;
|
||||
openrc)
|
||||
[ -w "$(dirname "$INIT_SCRIPT")" ] || RO=1
|
||||
;;
|
||||
esac
|
||||
[ -z "$RO" ] || {
|
||||
echo '!!! READONLY SYSTEM DETECTED !!!'
|
||||
echo '!!! WILL NOT BE ABLE TO CONFIGURE STARTUP !!!'
|
||||
echo '!!! MANUAL STARTUP CONFIGURATION IS REQUIRED !!!'
|
||||
ask_yes_no N "do you want to continue" || exitp 5
|
||||
}
|
||||
}
|
||||
|
||||
check_bins()
|
||||
{
|
||||
echo \* checking executables
|
||||
@ -697,13 +717,17 @@ service_install_systemd()
|
||||
{
|
||||
echo \* installing zapret service
|
||||
|
||||
rm -f "$INIT_SCRIPT"
|
||||
ln -fs "$EXEDIR/init.d/systemd/zapret.service" "$SYSTEMD_SYSTEM_DIR"
|
||||
"$SYSTEMCTL" daemon-reload
|
||||
"$SYSTEMCTL" enable zapret || {
|
||||
echo could not enable systemd service
|
||||
exitp 20
|
||||
}
|
||||
if [ -w "$SYSTEMD_SYSTEM_DIR" ] ; then
|
||||
rm -f "$INIT_SCRIPT"
|
||||
ln -fs "$EXEDIR/init.d/systemd/zapret.service" "$SYSTEMD_SYSTEM_DIR"
|
||||
"$SYSTEMCTL" daemon-reload
|
||||
"$SYSTEMCTL" enable zapret || {
|
||||
echo could not enable systemd service
|
||||
exitp 20
|
||||
}
|
||||
else
|
||||
echo '!!! READONLY SYSTEM DETECTED !!! CANNOT INSTALL SYSTEMD UNITS !!!'
|
||||
fi
|
||||
}
|
||||
|
||||
service_stop_systemd()
|
||||
@ -729,19 +753,23 @@ timer_install_systemd()
|
||||
{
|
||||
echo \* installing zapret-list-update timer
|
||||
|
||||
"$SYSTEMCTL" disable zapret-list-update.timer
|
||||
"$SYSTEMCTL" stop zapret-list-update.timer
|
||||
ln -fs "$EXEDIR/init.d/systemd/zapret-list-update.service" "$SYSTEMD_SYSTEM_DIR"
|
||||
ln -fs "$EXEDIR/init.d/systemd/zapret-list-update.timer" "$SYSTEMD_SYSTEM_DIR"
|
||||
"$SYSTEMCTL" daemon-reload
|
||||
"$SYSTEMCTL" enable zapret-list-update.timer || {
|
||||
echo could not enable zapret-list-update.timer
|
||||
exitp 20
|
||||
}
|
||||
"$SYSTEMCTL" start zapret-list-update.timer || {
|
||||
echo could not start zapret-list-update.timer
|
||||
exitp 30
|
||||
}
|
||||
if [ -w "$SYSTEMD_SYSTEM_DIR" ] ; then
|
||||
"$SYSTEMCTL" disable zapret-list-update.timer
|
||||
"$SYSTEMCTL" stop zapret-list-update.timer
|
||||
ln -fs "$EXEDIR/init.d/systemd/zapret-list-update.service" "$SYSTEMD_SYSTEM_DIR"
|
||||
ln -fs "$EXEDIR/init.d/systemd/zapret-list-update.timer" "$SYSTEMD_SYSTEM_DIR"
|
||||
"$SYSTEMCTL" daemon-reload
|
||||
"$SYSTEMCTL" enable zapret-list-update.timer || {
|
||||
echo could not enable zapret-list-update.timer
|
||||
exitp 20
|
||||
}
|
||||
"$SYSTEMCTL" start zapret-list-update.timer || {
|
||||
echo could not start zapret-list-update.timer
|
||||
exitp 30
|
||||
}
|
||||
else
|
||||
echo '!!! READONLY SYSTEM DETECTED !!! CANNOT INSTALL SYSTEMD UNITS !!!'
|
||||
fi
|
||||
}
|
||||
|
||||
download_list()
|
||||
@ -785,18 +813,21 @@ crontab_add()
|
||||
[ -x "$GET_LIST" ] && {
|
||||
echo \* adding crontab entry
|
||||
|
||||
CRONTMP=/tmp/cron.tmp
|
||||
crontab -l >$CRONTMP 2>/dev/null
|
||||
if grep -q "$GET_LIST_PREFIX" $CRONTMP; then
|
||||
echo some entries already exist in crontab. check if this is corrent :
|
||||
grep "$GET_LIST_PREFIX" $CRONTMP
|
||||
if exists crontab; then
|
||||
CRONTMP=/tmp/cron.tmp
|
||||
crontab -l >$CRONTMP 2>/dev/null
|
||||
if grep -q "$GET_LIST_PREFIX" $CRONTMP; then
|
||||
echo some entries already exist in crontab. check if this is corrent :
|
||||
grep "$GET_LIST_PREFIX" $CRONTMP
|
||||
else
|
||||
end_with_newline <"$CRONTMP" || echo >>"$CRONTMP"
|
||||
echo "$(random 0 59) $(random $1 $2) */2 * * $GET_LIST" >>$CRONTMP
|
||||
crontab $CRONTMP
|
||||
fi
|
||||
rm -f $CRONTMP
|
||||
else
|
||||
end_with_newline <"$CRONTMP" || echo >>"$CRONTMP"
|
||||
echo "$(random 0 59) $(random $1 $2) */2 * * $GET_LIST" >>$CRONTMP
|
||||
crontab $CRONTMP
|
||||
echo '!!! CRON IS ABSENT !!! LISTS AUTO UPDATE WILL NOT WORK !!!'
|
||||
fi
|
||||
|
||||
rm -f $CRONTMP
|
||||
}
|
||||
}
|
||||
cron_ensure_running()
|
||||
@ -899,6 +930,7 @@ install_systemd()
|
||||
|
||||
check_bins
|
||||
require_root
|
||||
check_readonly_system
|
||||
check_location copy_all
|
||||
check_prerequisites_linux
|
||||
service_stop_systemd
|
||||
@ -968,6 +1000,7 @@ _install_sysv()
|
||||
|
||||
check_bins
|
||||
require_root
|
||||
check_readonly_system
|
||||
check_location copy_all
|
||||
check_prerequisites_linux
|
||||
service_stop_sysv
|
||||
|
Loading…
Reference in New Issue
Block a user