D.24. /sbin/ifup
# / Bin / sh
#################################################################### ######################
# Începeți /sbin/ifup
#
# Descriere: Interfață sus
#
# / Bin / sh
#################################################################### ######################
# Începeți /sbin/ifup
#
# Descriere: Interfață sus
#
# Autori
#
# Actualizați
#
#
# Versiune
#
# Note
#
#
#
# Autori
#
# Actualizați
#
#
# Versiune
#
# Note
#
#
#
#################################################################### ######################
sus()
{
#################################################################### ######################
sus()
{
log_info_msg „Se afișează interfața ${1}...”
dacă legătura IP arată $1 > /dev/null 2>&1; apoi link_status=`linkul ip arată $1`
dacă [ -n "${link_status}" ]; atunci
dacă ! echo „${link_status}” | grep -q SUS; apoi ip link-ul setează $1
fi
fi
altfel
log_failure_msg "Interfața ${IFACE} nu există." iesirea 1
fi
evaluate_retval
}
RELEASE="7.7"
USAGE="Utilizare: $0 [ -hV ] [--help] [--version] interfață" VERSTR="LFS ifup, versiunea ${RELEASE}"
în timp ce [ $# -gt 0 ]; faceți cazul „$1” în
--ajutor | -h) ajutor="y"; pauză ;;
--versiunea | -V) ecou „${VERSTR}”; ieșire 0;;
-*) echo „ifup: ${1}: opțiune nevalidă” >&2 echo „${USAGE}” >& 2
ieșirea 2 ;;
*) pauză ;;
esac facut
if [ -n "$ajutor" ]; apoi ecou „${VERSTR}” ecou „${USAGE}”
ecou
pisică << AICI_EOF
ifup este folosit pentru a afișa o interfață de rețea. Parametrul interfeței, de exemplu eth0 sau eth0:2, trebuie să se potrivească cu partea de sfârșit a fișierului cu specificațiile interfeței, de exemplu /etc/sysconfig/ifconfig.eth0:2.
HERE_EOF
iesirea 0
fi file=/etc/sysconfig/ifconfig.${1}
# Omite fișierele de rezervă
[ "${file}" = "${file%""~""}" ] || iesirea 0
. /lib/lsb/init-functions
dacă [ ! -r „${fișier}” ]; atunci
log_failure_msg "Nu se poate afișa interfața ${1}! ${file} lipsește sau nu poate fi accesat." iesirea 1
fi
. $file
if [ "$IFACE" = "" ]; atunci
log_failure_msg „Nu se poate afișa interfața ${1}! ${file} nu definește o interfață [IFACE exit 1
fi
# Nu procesați acest serviciu dacă este pornit prin pornire și ONBOOT
# nu este setat la da
if [ "${IN_BOOT}" = "1" -a "${ONBOOT}" != "da" ]; atunci
iesirea 0
fi
# Afișați interfața
if [ "$VIRTINT" != "da" ]; apoi sus ${IFACE}
fi
pentru S în ${SERVICE}; do
dacă[ ! -x „/lib/services/${S}” ]; apoi MSG="\nNu se poate procesa ${fișier}. Fie " MSG="${MSG}SERVICIUL '${S} nu a fost prezent " MSG="${MSG}sau nu poate fi executat." log_failure_msg „$MSG”
iesirea 1
fi gata
if [ "${SERVICE}" = "wpa" ]; apoi log_success_msg; fi
# Creați/configurați interfața pentru S în ${SERVICE}; do
IFCONFIG=${file} /lib/services/${S} ${IFACE} gata
# Setați conectarea interfețelor virtuale dacă [ "${VIRTINT}" == "da" ]; atunci
în sus ${IFACE}
fi
# Afișați orice componente suplimentare de interfață pentru I în $INTERFACE_COMPONENTS; face $I; Terminat
# Setați MTU dacă este solicitat. Verificați dacă MTU are o valoare „bună”. if test -n "${MTU}"; atunci
dacă [[ ${MTU} =~ ^[0-9]+$ ]] && [[ $MTU -ge 68 ]] ; apoi pentru I în $IFACE $INTERFACE_COMPONENTS; do
ip link set dev $I mtu $MTU; Terminat
altfel
log_info_msg2 „MTU $MTU nevalid”
fi
fi
# Setați gateway-ul implicit al rutei dacă este solicitat dacă [ -n "${GATEWAY}" ]; atunci
if ip route | grep -q implicit; atunci
log_warning_msg „Gateway-ul este deja configurat; se omite.” altfel
log_info_msg „Se adaugă gateway-ul implicit ${GATEWAY} la interfața ${IFACE}...” ip route add default prin ${GATEWAY} dev ${IFACE}
evaluate_retval
fi
fi
# Încheiați /sbin/ifup
fi
fi
# Setați gateway-ul implicit al rutei dacă este solicitat dacă [ -n "${GATEWAY}" ]; atunci
if ip route | grep -q implicit; atunci
log_warning_msg „Gateway-ul este deja configurat; se omite.” altfel
log_info_msg „Se adaugă gateway-ul implicit ${GATEWAY} la interfața ${IFACE}...” ip route add default prin ${GATEWAY} dev ${IFACE}
evaluate_retval
fi
fi
# Încheiați /sbin/ifup
: Nathan Coulson - [e-mail protejat] Kevin P. Fleming - [e-mail protejat]
: Bruce Dubbs - [e-mail protejat]
: Nathan Coulson - [e-mail protejat] Kevin P. Fleming - [e-mail protejat]
: Bruce Dubbs - [e-mail protejat]
: LFS 7.0
: variabila IFCONFIG este transmisă scripturilor găsite
în directorul /lib/services, pentru a indica ce fișier ar trebui să provină serviciul pentru a obține specificațiile interfeței.
: LFS 7.0
: variabila IFCONFIG este transmisă scripturilor găsite
în directorul /lib/services, pentru a indica ce fișier ar trebui să provină serviciul pentru a obține specificațiile interfeței.