summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2014-11-12 19:11:17 +0100
committerSimon Rettberg2014-11-12 19:11:17 +0100
commit0fd10da646796984d632ce881f82ac005e165bb3 (patch)
treeb442640b47cf16f41d2a4b97d6c75dbc78462800
parent[SSPS] Littl ebugfix in gpg-include (65-gpg.inc) (diff)
downloadsetup-scripts-0fd10da646796984d632ce881f82ac005e165bb3.tar.gz
setup-scripts-0fd10da646796984d632ce881f82ac005e165bb3.tar.xz
setup-scripts-0fd10da646796984d632ce881f82ac005e165bb3.zip
[SSPS] Tweaked netsetup
-rwxr-xr-xsatellit_installer/static_files/netsetup113
1 files changed, 65 insertions, 48 deletions
diff --git a/satellit_installer/static_files/netsetup b/satellit_installer/static_files/netsetup
index f6570e2..b718819 100755
--- a/satellit_installer/static_files/netsetup
+++ b/satellit_installer/static_files/netsetup
@@ -8,52 +8,55 @@ ERR=0
write_banner() {
echo
- echo "Dieses Skript konfiguriert statische oder dynamische IP-Adressen."
- echo "Wenn Sie unsicher sind, können Sie es auch später ausführen. Sie"
- echo "finden dieses Skript unter $SKRIPT."
+ echo "Dieses Skript konfiguriert das Netzwerk-Interface."
echo
- echo "Bitte bedenken Sie, daß Sie das Netzwerk entweder von Hand neu"
- echo "starten müssen (oder einfach rebooten), wenn Sie die Netzwerk-"
- echo "konfiguration verändern."
+ echo "Wenn Sie die Netzwerkkonfiguration ändern, sollten Sie anschließend"
+ echo "den Server rebooten."
echo
}
detect_config() {
- if [ "$(grep -c "iface eth. inet dhcp" /etc/network/interfaces)" -gt 0 ]; then
+ if grep -q -E "^[[:space:]]*iface[[:space:]]+eth0[[:space:]]+inet[[:space:]]+dhcp" /etc/network/interfaces; then
# dhcp detected, we presume
TYPE=dhcp-basierte
WUNSCH=statische
+ TOUCHE_TYPE=d
+ TOUCHE_DESIR=s
else
TYPE=statische
WUNSCH=dhcp-basierte
+ TOUCHE_TYPE=s
+ TOUCHE_DESIR=d
fi
}
ask_config() {
echo
- echo "Es wurde eine $TYPE IP-Adresse vorgefunden."
+ echo "Es ist aktuell eine $TYPE IP-Adresse konfiguriert."
echo
- echo "Wollen Sie eine $WUNSCH IP konfigurieren (y),"
- echo "hat sich das Skript geirrt, und Sie benötigen doch eine $TYPE IP (x),"
- echo "oder möchten Sie gar nichts tun (a oder leere Eingabe)?"
+ echo "Wollen Sie eine $WUNSCH IP konfigurieren (${TOUCHE_DESIR}),"
+ echo "möchten Sie die $TYPE IP neu konfigurieren (${TOUCHE_TYPE}),"
+ echo "oder möchten Sie gar nichts tun (leere Eingabe)?"
echo
- echo -n "Ihre Wahl - y, x oder a: "
- read -n 1 config_me
- if [ "$config_me" == "a" -o "$config_me" == "" ]; then exit 0; fi
+ echo -n "Ihre Wahl? [${TOUCHE_DESIR}/${TOUCHE_TYPE}/nichts]: "
+ read config_me
+ [ "$config_me" == "" ] && exit 0
}
decide_action() {
case "$config_me" in
- y) backup_configs
+ ${TOUCHE_DESIR}*)
+ backup_configs
if [ "$WUNSCH" == "statische" ]; then
enter_values_static
write_config_static
else
write_config_dyn
fi
- ;;
- x) backup_configs
+ ;;
+ ${TOUCHE_TYPE}*)
+ backup_configs
if [ "$TYPE" == "statische" ]; then
enter_values_static
write_config_static
@@ -61,7 +64,8 @@ decide_action() {
write_config_dyn
fi
;;
- *) echo; echo
+ *)
+ echo; echo
echo "Ihre eingegebene Option $config_me wurde nicht erkannt - Neustart."
echo
sleep 1
@@ -83,47 +87,52 @@ backup_configs() {
restore_configs() {
cp -p "$INTERFACES.$DATUM" "$INTERFACES"
- cp -p "$RESOLV.{DATUM}" "$RESOLV"
+ cp -p "$RESOLV.{DATUM}" "$RESOLV"
}
write_config_static() {
- echo "# This file was written by the satellite auto installer." > "$INTERFACES"
- echo "# If any problems arise, copy $INTERFACES.${DATUM}." >> "$INTERFACES"
- echo "# The loopback network interface" >> "$INTERFACES"
- echo "auto lo" >> "$INTERFACES"
- echo "iface lo inet loopback" >> "$INTERFACES"
- echo "" >> "$INTERFACES"
- echo "# Primary network interface" >> "$INTERFACES"
- echo "auto eth0" >> "$INTERFACES"
- echo "iface eth0 inet static" >> "$INTERFACES"
- echo "address $ipadress" >> "$INTERFACES"
- echo "gateway $gateway" >> "$INTERFACES"
- echo "netmask $netmask" >> "$INTERFACES"
+ cat > "$INTERFACES" <<-HIER
+ # This file was written by the satellite auto installer.
+ # If any problems arise, copy $INTERFACES.${DATUM}.
+ # The loopback network interface
+ auto lo
+ iface lo inet loopback
+
+ # Primary network interface
+ auto eth0
+ iface eth0 inet static
+ address $ipadress
+ gateway $gateway
+ netmask $netmask
+ HIER
echo "# This file was written by the satellite server install script." > "$RESOLV"
echo "# If any problems arise, copy $RESOLV.${DATUM}." >> "$RESOLV"
[ -n "$domain" ] && echo "domain $domain" >> "$RESOLV"
[ -n "$search" ] && echo "search $search" >> "$RESOLV"
- echo "nameserver $primarydns" >> "$RESOLV"
+ [ -n "$primarydns" ] && echo "nameserver $primarydns" >> "$RESOLV"
[ -n "$secondarydns" ] && echo "nameserver $secondarydns" >> "$RESOLV"
}
write_config_dyn() {
- echo "# This file was written by the satellite auto installer." > "$INTERFACES"
- echo "# If any problems arise, copy $INTERFACES.${DATUM}." >> "$INTERFACES"
- echo "# The loopback network interface" >> "$INTERFACES"
- echo "auto lo" >> "$INTERFACES"
- echo "iface lo inet loopback" >> "$INTERFACES"
- echo "" >> "$INTERFACES"
- echo "# Primary network interface" >> "$INTERFACES"
- echo "auto eth0" >> "$INTERFACES"
- echo "iface eth0 inet dhcp" >> "$INTERFACES"
- # Leaving /etc/resolv alone; pump/dhclient/whatever will take care of that.
+ cat > "$INTERFACES" <<-HIER
+ # This file was written by the satellite auto installer.
+ # If any problems arise, copy $INTERFACES.${DATUM}.
+ # The loopback network interface
+ auto lo
+ iface lo inet loopback
+
+ # Primary network interface
+ auto eth0
+ iface eth0 inet dhcp
+ # Leaving /etc/resolv alone; pump/dhclient/whatever will take care of that.
+ HIER
}
enter_values_static() {
- while [ "$entry" != "y" ] && [ "$entry" != "Y" ]; do
- echo
+ unset entry
+ while true; do
+ echo
echo -n "IP-Adresse: "
read ipadress
echo -n "Gateway: "
@@ -148,9 +157,17 @@ enter_values_static() {
echo "# Primary nameserver : $primarydns"
echo "# Secondary nameserver : $secondarydns"
echo
- echo -n "Sind diese Eingaben korrekt? Drücken Sie y or Y für ja, andere Taste für nein: "
- read -n 1 entry
- echo
+ while true; do
+ echo -n "Sind diese Eingaben korrekt? [J/n]: "
+ read entry
+ echo
+ [[ -z "$entry" || "$entry" == j* || "$entry" == J* ]] && return
+ if [[ "$entry" == n* || "$entry" == N* ]]; then
+ echo "Neustart der Eingabe..."
+ echo
+ break
+ fi
+ done
done
}
@@ -168,5 +185,5 @@ decide_action # do the stuff!
last_words
-exit
+exit 0