remove lsb-core. its not needed actually and monstrous

This commit is contained in:
bolvan 2019-05-05 14:32:00 +03:00
parent dc93c8558f
commit fb1f983a45
4 changed files with 41 additions and 32 deletions

View File

@ -138,9 +138,10 @@ exists()
{ {
which $1 >/dev/null 2>/dev/null which $1 >/dev/null 2>/dev/null
} }
JOBCT=1
run_daemon() run_daemon()
{ {
# $1 - daemon string id or number. can use 1,2,3,... # $1 - daemon number : 1,2,3,...
# $2 - daemon # $2 - daemon
# $3 - daemon args # $3 - daemon args
# use $PIDDIR/$DAEMONBASE$1.pid as pidfile # use $PIDDIR/$DAEMONBASE$1.pid as pidfile
@ -154,9 +155,10 @@ run_daemon()
daemonize -p "$PIDFILE" "$2" $3 daemonize -p "$PIDFILE" "$2" $3
else else
nohup "$2" $3 >/dev/null 2>/dev/null & nohup "$2" $3 >/dev/null 2>/dev/null &
PID=$(jobs -p %1) PID=$(jobs -p %$JOBCT)
if [ -n "$PID" ]; then if [ -n "$PID" ]; then
echo $PID >$PIDFILE echo $PID >$PIDFILE
let JOBCT=$JOBCT+1
else else
echo could not start daemon $1 : $2 $3 echo could not start daemon $1 : $2 $3
fi fi
@ -164,7 +166,7 @@ run_daemon()
} }
stop_daemon() stop_daemon()
{ {
# $1 - daemon string id or number. can use 1,2,3,... # $1 - daemon number : 1,2,3,...
# $2 - daemon # $2 - daemon
# use $PIDDIR/$DAEMONBASE$1.pid as pidfile # use $PIDDIR/$DAEMONBASE$1.pid as pidfile
local DAEMONBASE=$(basename $2) local DAEMONBASE=$(basename $2)

View File

@ -2,7 +2,7 @@
# automated script for easy installing zapret on systemd based system # automated script for easy installing zapret on systemd based system
# all required tools must be already present or system must use apt as package manager # all required tools must be already present or system must use apt as package manager
# if its not apt or yum based system then manually install ipset, curl, lsb-core # if its not apt or yum based system then manually install ipset, curl
exists() exists()
{ {
@ -24,12 +24,11 @@ whichq()
SCRIPT=$(readlink -f $0) SCRIPT=$(readlink -f $0)
EXEDIR=$(dirname $SCRIPT) EXEDIR=$(dirname $SCRIPT)
ZAPRET_BASE=/opt/zapret ZAPRET_BASE=/opt/zapret
LSB_INSTALL=/usr/lib/lsb/install_initd
LSB_REMOVE=/usr/lib/lsb/remove_initd
INIT_SCRIPT_SRC=$EXEDIR/init.d/debian/zapret INIT_SCRIPT_SRC=$EXEDIR/init.d/debian/zapret
INIT_SCRIPT=/etc/init.d/zapret INIT_SCRIPT=/etc/init.d/zapret
GET_IPLIST=$EXEDIR/ipset/get_antizapret.sh GET_IPLIST=$EXEDIR/ipset/get_antizapret.sh
GET_IPLIST_PREFIX=$EXEDIR/ipset/get_ GET_IPLIST_PREFIX=$EXEDIR/ipset/get_
SYSTEMD_SYSV_GENERATOR=/lib/systemd/system-generators/systemd-sysv-generator
exitp() exitp()
{ {
@ -43,10 +42,15 @@ exitp()
echo \* checking system ... echo \* checking system ...
SYSTEMCTL=$(whichq systemctl) SYSTEMCTL=$(whichq systemctl)
[ ! -x "$SYSTEMCTL" ] && { [ -x "$SYSTEMCTL" ] || {
echo not systemd based system echo not systemd based system
exitp 5 exitp 5
} }
[ -x "$SYSTEMD_SYSV_GENERATOR" ] || {
echo systemd is present but it does not support sysvinit compatibility
echo $SYSTEMD_SYSV_GENERATOR is required
exitp 5
}
echo \* checking location ... echo \* checking location ...
@ -81,33 +85,36 @@ echo running from $EXEDIR
echo \* checking prerequisites ... echo \* checking prerequisites ...
if [ -x "$LSB_INSTALL" ] && [ -x "$LSB_REMOVE" ] && exists ipset && exists curl ; then if exists ipset && exists curl ; then
echo everything is present echo everything is present
else else
echo \* installing prerequisites ... echo \* installing prerequisites ...
APTGET=$(whichq apt-get) APTGET=$(whichq apt-get)
YUM=$(whichq yum) YUM=$(whichq yum)
PACMAN=$(whichq pacman)
if [ -x "$APTGET" ] ; then if [ -x "$APTGET" ] ; then
"$APTGET" update "$APTGET" update
"$APTGET" install -y --no-install-recommends ipset curl lsb-core dnsutils || { "$APTGET" install -y --no-install-recommends ipset curl dnsutils || {
echo could not install prerequisites echo could not install prerequisites
exitp 6 exitp 6
} }
elif [ -x "$YUM" ] ; then elif [ -x "$YUM" ] ; then
"$YUM" -y install curl ipset redhat-lsb-core daemonize || { "$YUM" -y install curl ipset daemonize || {
echo could not install prerequisites
exitp 6
}
elif [ -x "$PACMAN" ] ; then
"$PACMAN" -Syy
"$PACMAN" --noconfirm -S ipset curl || {
echo could not install prerequisites echo could not install prerequisites
exitp 6 exitp 6
} }
else else
echo supported package manager not found echo supported package manager not found
echo you must manually install : ipset curl lsb-core echo you must manually install : ipset curl
exitp 5 exitp 5
fi fi
[ ! -x "$LSB_INSTALL" ] || [ ! -x "$LSB_REMOVE" ] && {
echo lsb install scripts not found
exitp 7
}
fi fi
echo \* installing binaries ... echo \* installing binaries ...
@ -148,9 +155,8 @@ fi
echo \* registering init script ... echo \* registering init script ...
"$LSB_REMOVE" $INIT_SCRIPT "$SYSTEMCTL" enable zapret || {
"$LSB_INSTALL" $INIT_SCRIPT || { echo could not register $INIT_SCRIPT with systemd
echo could not register $INIT_SCRIPT with LSB
exitp 20 exitp 20
} }

View File

@ -232,7 +232,7 @@ TPWS_OPT="--hostspell=HOST --split-http-req=method"
Установить пакеты : Установить пакеты :
apt-get update apt-get update
apt-get install ipset curl lsb-core dnsutils git apt-get install ipset curl dnsutils git
Скопировать директорию zapret в /opt или скачать через git : Скопировать директорию zapret в /opt или скачать через git :
cd /opt cd /opt
@ -249,8 +249,11 @@ TPWS_OPT="--hostspell=HOST --split-http-req=method"
Если ваша система - роутер, то раскомментировать параметр SLAVE_ETH и вписать в него Если ваша система - роутер, то раскомментировать параметр SLAVE_ETH и вписать в него
название внутреннего сетевого интерфейса (LAN). название внутреннего сетевого интерфейса (LAN).
Зарегистрировать init скрипт в systemd : Принять изменения скрипта в systemd :
/usr/lib/lsb/install_initd /etc/init.d/zapret systemctl daemon-reload
Включить автозапуск службы :
systemctl enable zapret
В зависимости от выбранного в init скрипте MODE : В зависимости от выбранного в init скрипте MODE :
@ -288,7 +291,8 @@ MODE=custom
Иные MODE : Иные MODE :
Ничего делать не нужно Ничего делать не нужно
Запустить службу : systemctl start zapret Запустить службу :
systemctl start zapret
Попробовать зайти куда-нибудь : http://ej.ru, http://kinozal.tv, http://grani.ru. Попробовать зайти куда-нибудь : http://ej.ru, http://kinozal.tv, http://grani.ru.
Если не работает, то остановить службу zapret, добавить правило в iptables вручную, Если не работает, то остановить службу zapret, добавить правило в iptables вручную,
@ -303,12 +307,13 @@ MODE=custom
Шпаргалка по управлению службой : Шпаргалка по управлению службой :
install : /usr/lib/lsb/install_initd zapret enable auto start : systemctl enable zapret
remove : /usr/lib/lsb/remove_initd zapret disable auto start : systemctl disable zapret
start : sytemctl start zapret start : sytemctl start zapret
stop : systemctl stop zapret stop : systemctl stop zapret
status, output messages : systemctl status zapret status, output messages : systemctl status zapret
После изменения /etc/init.d/zapret : systemctl daemon-reload После изменения /etc/init.d/zapret : systemctl daemon-reload
delete service : systemctl disable zapret ; systemctl stop zapret ; rm /etc/init.d/zapret
Centos 7+, Fedora Centos 7+, Fedora
----------------- -----------------
@ -317,7 +322,7 @@ Centos с 7 версии и более-менее новые федоры пос
В качестве пакетного менеджера используется yum. В качестве пакетного менеджера используется yum.
Установить пакеты : Установить пакеты :
yum install -y curl ipset redhat-lsb-core daemonize yum install -y curl ipset daemonize
Далее все аналогично debian. Далее все аналогично debian.
Инит скрипт init.d/debian/zapret адаптирован под условия новых centos и fedora. Инит скрипт init.d/debian/zapret адаптирован под условия новых centos и fedora.
@ -348,8 +353,6 @@ Centos с 7 версии и более-менее новые федоры пос
Эти скрипты будут работать и на других системах на базе systemd при условии, что Эти скрипты будут работать и на других системах на базе systemd при условии, что
уже есть следующие программы : уже есть следующие программы :
/usr/lib/lsb/install_initd
/usr/lib/lsb/remove_initd
ipset ipset
curl curl

View File

@ -17,8 +17,6 @@ exists()
SCRIPT=$(readlink -f $0) SCRIPT=$(readlink -f $0)
EXEDIR=$(dirname $SCRIPT) EXEDIR=$(dirname $SCRIPT)
LSB_INSTALL=/usr/lib/lsb/install_initd
LSB_REMOVE=/usr/lib/lsb/remove_initd
INIT_SCRIPT_SRC=$EXEDIR/init.d/debian/zapret INIT_SCRIPT_SRC=$EXEDIR/init.d/debian/zapret
INIT_SCRIPT=/etc/init.d/zapret INIT_SCRIPT=/etc/init.d/zapret
GET_IPLIST_PREFIX=$EXEDIR/ipset/get_ GET_IPLIST_PREFIX=$EXEDIR/ipset/get_
@ -36,16 +34,16 @@ exitp()
echo \* checking system ... echo \* checking system ...
SYSTEMCTL=$(which systemctl) SYSTEMCTL=$(which systemctl)
[ ! -x "$SYSTEMCTL" ] && { [ -x "$SYSTEMCTL" ] || {
echo not systemd based system echo not systemd based system
exitp 5 exitp 5
} }
echo \* stopping service and unregistering init script with LSB ...
echo \* stopping service and unregistering init script
"$SYSTEMCTL" disable zapret "$SYSTEMCTL" disable zapret
"$SYSTEMCTL" stop zapret "$SYSTEMCTL" stop zapret
[ -f "$INIT_SCRIPT" ] && "$LSB_REMOVE" $INIT_SCRIPT
echo \* removing init script ... echo \* removing init script ...