<Poprzedni | Spis treści | Następne>
D.24. /sbin/ifup
#! / Bin / sh
################################################## ######################
# Rozpocznij /sbin/ifup
#
# Opis: Interfejs w górę
#
#! / Bin / sh
################################################## ######################
# Rozpocznij /sbin/ifup
#
# Opis: Interfejs w górę
#
# Autorzy
#
# Aktualizacja
#
#
# Wersja
#
# Notatki
#
#
#
# Autorzy
#
# Aktualizacja
#
#
# Wersja
#
# Notatki
#
#
#
################################################## ######################
w górę()
{
################################################## ######################
w górę()
{
log_info_msg "Wywoływanie interfejsu ${1}..."
jeśli ip link pokaż $1 > /dev/null 2>&1; then link_status=`ip link pokaż $1`
if [ -n "${status_linku}" ]; następnie
Jeśli ! echo „${link_status}” | grep -q W GÓRĘ; następnie ip link ustaw 1 $
fi
fi
więcej
log_failure_msg "Interfejs ${IFACE} nie istnieje." wyjście 1
fi
assessment_retval
}
WYDANIE="7.7"
USAGE="Użycie: $0 [-hV] [--help] [--wersja] interfejs" VERSTR="LFS ifup, wersja ${RELEASE}"
while [ $# -gt 0 ]; zrób przypadek „$1” w
--pomoc | -h) help="y"; przerwa ;;
--wersja | -V) echo "${VERSTR}"; wyjście 0 ;;
-*) echo "ifup: ${1}: nieprawidłowa opcja" >&2 echo "${USAGE}" >& 2
wyjście 2 ;;
*) przerwa ;;
Esac zrobione!
if [ -n "$pomoc" ]; następnie echo "${VERSTR}" echo "${USAGE}"
przegapić
kot << TUTAJ_EOF
ifup jest używany do wywołania interfejsu sieciowego. Parametr interfejsu, np. eth0 lub eth0:2, musi odpowiadać końcowej części pliku specyfikacji interfejsu, np. /etc/sysconfig/ifconfig.eth0:2.
TUTAJ_EOF
wyjście 0
plik fi=/etc/sysconfig/ifconfig.${1}
# Pomiń pliki kopii zapasowej
[ "${plik}" = "${plik%""~""}" ] || wyjście 0
. /lib/lsb/init-funkcje
Jeśli [ ! -r "${plik}" ]; następnie
log_failure_msg "Nie można uruchomić interfejsu ${1}! Brak ${file} lub nie można uzyskać do niego dostępu." wyjście 1
fi
. $plik
if [ "$IFACE" = "" ]; następnie
log_failure_msg "Nie można wywołać interfejsu ${1}! ${file} nie definiuje interfejsu [IFACE wyjście 1
fi
# Nie przetwarzaj tej usługi, jeśli została uruchomiona przez rozruch i ONBOOT
# nie jest ustawione na tak
if [ "${IN_BOOT}" = "1" -a "${ONBOOT}" != "tak" ]; następnie
wyjście 0
fi
# Wyświetl interfejs
if [ "$VIRTINT" != "tak" ]; potem w górę ${IFACE}
fi
dla S w ${SERVICE}; robić
Jeśli[ ! -x "/lib/usługi/${S}" ]; następnie MSG="\nNie można przetworzyć ${pliku}. Albo " MSG="${MSG}USŁUGA '${S} nie była obecna" MSG="${MSG}lub nie można jej wykonać." log_failure_msg "$ MSG"
wyjście 1
gotowe!
if [ "${SERVICE}" = "wpa"]; następnie log_success_msg; fi
# Utwórz/skonfiguruj interfejs dla S w ${SERVICE}; robić
IFCONFIG=${plik} /lib/services/${S} ${IFACE} gotowe
# Ustaw łącze wirtualne interfejsy if [ "${VIRTINT}" == "yes" ]; następnie
w górę ${IFACE}
fi
# Wywołaj dodatkowe komponenty interfejsu dla I w $INTERFACE_COMPONENTS; zrób $I; Gotowe
# Ustaw MTU na żądanie. Sprawdź, czy MTU ma „dobrą” wartość. if test -n "${MTU}"; następnie
if [[ ${MTU} =~ ^[0-9]+$ ]] && [[ $MTU -ge 68 ]] ; następnie dla I w $IFACE $INTERFACE_COMPONENTS; robić
ip link set dev $I mtu $MTU; Gotowe
więcej
log_info_msg2 "Nieprawidłowe MTU $MTU"
fi
fi
# Ustaw domyślną bramę trasy na żądanie if [ -n "${GATEWAY}" ]; następnie
jeśli trasa ip | grep -q domyślnie; następnie
log_warning_msg "Brama już skonfigurowana; pomijam." w przeciwnym razie
log_info_msg "Dodawanie domyślnej bramy ${GATEWAY} do interfejsu ${IFACE}..." ip route add default przez ${GATEWAY} dev ${IFACE}
assessment_retval
fi
fi
# Koniec /sbin/ifup
fi
fi
# Ustaw domyślną bramę trasy na żądanie if [ -n "${GATEWAY}" ]; następnie
jeśli trasa ip | grep -q domyślnie; następnie
log_warning_msg "Brama już skonfigurowana; pomijam." w przeciwnym razie
log_info_msg "Dodawanie domyślnej bramy ${GATEWAY} do interfejsu ${IFACE}..." ip route add default przez ${GATEWAY} dev ${IFACE}
assessment_retval
fi
fi
# Koniec /sbin/ifup
: Nathan Coulson – [email chroniony] Kevin P. Fleming – [email chroniony]
: Bruce Dubbs - [email chroniony]
: Nathan Coulson – [email chroniony] Kevin P. Fleming – [email chroniony]
: Bruce Dubbs - [email chroniony]
: LFS 7.0
: zmienna IFCONFIG jest przekazywana do znalezionych skryptów
w katalogu /lib/services, aby wskazać plik, z którego usługa powinna pochodzić, aby uzyskać specyfikacje interfejsu.
: LFS 7.0
: zmienna IFCONFIG jest przekazywana do znalezionych skryptów
w katalogu /lib/services, aby wskazać plik, z którego usługa powinna pochodzić, aby uzyskać specyfikacje interfejsu.