📄 patch-system.sh
字号:
#! @SHELL@## patch inetd.conf and services# originally by Axel Zinser (fifi@hiss.han.de)#prefix="@prefix@"exec_prefix="@exec_prefix@"sbindir="@sbindir@"amlibexecdir="@amlibexecdir@". "${amlibexecdir}/amanda-sh-lib.sh"USE_VERSION_SUFFIXES="@USE_VERSION_SUFFIXES@"if test "$USE_VERSION_SUFFIXES" = "yes"; then SUF="-@VERSION@"else SUF=fiSERVICE_SUFFIX="@SERVICE_SUFFIX@"USER="@CLIENT_LOGIN@"INETDCONF=/etc/inetd.conf[ ! -f $INETDCONF ] && INETDCONF=/usr/etc/inetd.confSERVICES=/etc/services[ ! -f $SERVICES ] && SERVICES=/usr/etc/servicesENABLE_AMANDAD=truecase `uname -n` in"@DEFAULT_SERVER@" | "@DEFAULT_SERVER@".*) ENABLE_INDEX=true ENABLE_TAPE=true ;;*) ENABLE_INDEX=false ENABLE_TAPE=false ;;esacCLIENT_PORT=10080KCLIENT_PORT=10081INDEX_PORT=10082TAPE_PORT=10083while [ $# != 0 ]; do case "$1" in --service-suffix=*) SERVICE_SUFFIX=`echo $1 | sed -e 's/[^=]*=//'`;; --version-suffix=*) SUF=`echo $1 | sed -e 's/[^=]*=//'`;; --inetd=*) INETDCONF=`echo $1 | sed -e 's/[^=]*=//' -e 's%^$%/dev/null%'`;; --services=*) SERVICES=`echo $1 | sed -e 's/[^=]*=//' -e 's%^$%/dev/null%'`;; --libexecdir=?*) libexecdir=`echo $1 | sed -e 's/[^=]*=//'`;; --user=?*) USER=`echo $1 | sed -e 's/[^=]*=//'`;; --enable-client) ENABLE_AMANDAD=true;; --disable-client) ENABLE_AMANDAD=false;; --enable-index) ENABLE_INDEX=true;; --disable-index) ENABLE_INDEX=false;; --enable-tape) ENABLE_TAPE=true;; --disable-tape) ENABLE_TAPE=false;; --client-port=?*) CLIENT_PORT=`echo $1 | sed -e 's/[^=]*=//'`;; --kclient-port=?*) KCLIENT_PORT=`echo $1 | sed -e 's/[^=]*=//'`;; --index-port=?*) INDEX_PORT=`echo $1 | sed -e 's/[^=]*=//'`;; --tape-port=?*) TAPE_PORT=`echo $1 | sed -e 's/[^=]*=//'`;; --usage | --help | -h) echo `_ 'call this script with zero or more of the following arguments:'` echo `_ '--version-suffix=<suffix>: append to program names [%s]' "$SUF"` echo `_ '--service-suffix=<suffix>: append to service names [%s]' "$SERVICE_SUFFIX"` echo `_ '--libexecdir=<dirname>: where daemons should be looked for [%s]' "$libexecdir"` echo `_ '--inetd=<pathname>: full pathname of inetd.conf [%s]' "$INETDCONF"` echo `_ '--services=<pathname>: full pathname of services [%s]' "$SERVICES"` echo `_ '\tan empty pathname or /dev/null causes that file to be skipped'` echo `_ '--user=<username>: run deamons as this user [%s]' "$USER"` echo `_ '--enable/disable-client: enable/disable amandad [%s]' \`$ENABLE_AMANDAD && echo enabled || echo disabled\`` echo `_ '--enable/disable-index: enable/disable index server [%s]' \`$ENABLE_INDEX && echo enabled || echo disabled\`` echo `_ '--enable/disable-tape: enable/disable tape server [%s]' \`$ENABLE_TAPE && echo enabled || echo disabled\`` echo `_ '--client-port=<num>: amandad port number [%s]' "$CLIENT_PORT"` echo `_ '--kclient-port=<num>: kamandad port number [%s]' "$KCLIENT_PORT"` echo `_ '--index-port=<num>: index server port number [%s]' "$INDEX_PORT"` echo `_ '--tape-port=<num>: tape server port number [%s]' "$TAPE_PORT"` exec true;; *) echo `_ '%s: invalid argument %s. run with -h for usage\n' "$0" "$1"` >&2 exec false;; esac shiftdoneif [ "$SERVICES" = /dev/null ]; then :elif [ -f "$SERVICES" ]; then TEMP="$SERVICES.new" { egrep < "$SERVICES" -v "^(amanda|kamanda|amandaidx|amidxtape)${SERVICE_SUFFIX}[ ]" echo "amanda${SERVICE_SUFFIX} ${CLIENT_PORT}/udp" echo "amanda${SERVICE_SUFFIX} ${CLIENT_PORT}/tcp" echo "kamanda${SERVICE_SUFFIX} ${KCLIENT_PORT}/udp" echo "amandaidx${SERVICE_SUFFIX} ${INDEX_PORT}/tcp" echo "amidxtape${SERVICE_SUFFIX} ${TAPE_PORT}/tcp" } > "$TEMP" if diff "$SERVICES" "$TEMP" >/dev/null 2>/dev/null; then echo `_ '%s is up to date' "$SERVICES"` else cp "$TEMP" "$SERVICES" || echo `_ 'cannot patch %s' "$SERVICES"` fi rm -f "$TEMP"else echo `_ '%s not found!' "$SERVICES"`fiif [ "$INETDCONF" = /dev/null ]; then :elif [ -f "$INETDCONF" ]; then err=`_ 'warning: %s/amandad%s does not exist' "$libexecdir" "$SUF"` $ENABLE_AMANDAD && test ! -f $libexecdir/amandad$SUF && echo "$err" >&2 err=`_ 'warning: %s/amindexd%s does not exist' "$libexecdir" "$SUF"` $ENABLE_INDEX && test ! -f $libexecdir/amindexd$SUF && echo "$err" >&2 err=`_ 'warning: %s/amidxtaped%s does not exist' "$libexecdir" "$SUF"` $ENABLE_TAPE && test ! -f $libexecdir/amidxtaped$SUF && echo "$err" >&2 TEMP="$INETDCONF.new" { egrep < "$INETDCONF" -v "^(amanda|amandaidx|amidxtape)${SERVICE_SUFFIX}[ ]" $ENABLE_AMANDAD && echo "amanda${SERVICE_SUFFIX} dgram udp wait $USER $libexecdir/amandad$SUF amandad$SUF" $ENABLE_INDEX && echo "amandaidx${SERVICE_SUFFIX} stream tcp nowait $USER $libexecdir/amindexd$SUF amindexd$SUF" $ENABLE_TAPE && echo "amidxtape${SERVICE_SUFFIX} stream tcp nowait $USER $libexecdir/amidxtaped$SUF amidxtaped$SUF" } > "$TEMP" if diff "$INETDCONF" "$TEMP" >/dev/null 2>/dev/null; then fmt="%s is up to date\n" printf $fmt $INETDCONF else fmt="cannot patch %s\n" cp "$TEMP" "$INETDCONF" || printf $fmt $INETDCONF fi rm -f "$TEMP"else fmt="%s not found!\n" printf $fmt $INETDCONFfi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -