Debian Setup Script: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „*cat /usr/local/sbin/debian-setup.sh <pre> #!/bin/bash # Standardwerte setzen FQDN="" ADDR="" GW="" NS="" USE_DHCP=0 # Optionen mit getopts parsen while ge…“)
 
Zeile 1: Zeile 1:
 
*cat  /usr/local/sbin/debian-setup.sh  
 
*cat  /usr/local/sbin/debian-setup.sh  
<pre>
+
<pre>#!/bin/bash
#!/bin/bash
 
 
 
 
# Standardwerte setzen
 
# Standardwerte setzen
 
FQDN=""
 
FQDN=""
Zeile 8: Zeile 6:
 
GW=""
 
GW=""
 
NS=""
 
NS=""
USE_DHCP=0
+
 
  
 
# Optionen mit getopts parsen
 
# Optionen mit getopts parsen
while getopts "f:a:g:n:d" opt; do
+
while getopts "f:a:g:n:" opt; do
 
   case $opt in
 
   case $opt in
 
     f) FQDN="$OPTARG" ;;
 
     f) FQDN="$OPTARG" ;;
Zeile 17: Zeile 15:
 
     g) GW="$OPTARG" ;;
 
     g) GW="$OPTARG" ;;
 
     n) NS="$OPTARG" ;;
 
     n) NS="$OPTARG" ;;
    d) USE_DHCP=1 ;;
 
 
     *) echo "Ungültige Option" >&2; exit 1 ;;
 
     *) echo "Ungültige Option" >&2; exit 1 ;;
 
   esac
 
   esac
 
done
 
done
 
  
 
# Gültigkeit prüfen
 
# Gültigkeit prüfen
if [[ -z "$FQDN" ]]; then
+
if [[ -z "$FQDN" || -z "$ADDR" || -z "$GW" || -z "$NS" ]]; then
  echo "Fehlender FQDN! Nutzung:"
 
  echo "$0 -f <FQDN> [-d | -a <IP/CIDR> -g <Gateway> -n <Nameserver>]"
 
  exit 1
 
fi
 
 
 
if (( USE_DHCP == 1 )); then
 
  if [[ -n "$ADDR" || -n "$GW" || -n "$NS" ]]; then
 
    echo "Fehler: -d darf nicht mit -a, -g oder -n kombiniert werden." >&2
 
    exit 1
 
  fi
 
else
 
  if [[ -z "$ADDR" || -z "$GW" || -z "$NS" ]]; then
 
 
     echo "Fehlende Argumente für statische Konfiguration! Nutzung:"
 
     echo "Fehlende Argumente für statische Konfiguration! Nutzung:"
     echo "$0 -f <FQDN> [-d | -a <IP/CIDR> -g <Gateway> -n <Nameserver>]"
+
     echo "$0 -f <FQDN> -a <IP/CIDR> -g <Gateway> -n <Nameserver>"
 
     exit 1
 
     exit 1
  fi
 
 
fi
 
fi
  
Zeile 47: Zeile 30:
 
DOM=$(echo "$FQDN" | cut -d'.' -f2-)
 
DOM=$(echo "$FQDN" | cut -d'.' -f2-)
  
# /etc/network/interfaces schreiben
+
echo FQDN  : $FQDN
cat <<HERE > /etc/network/interfaces
+
echo ADDR : $ADDR
# This file describes the network interfaces available on your system
+
echo GW    : $GW
# and how to activate them. For more information, see interfaces(5).
+
echo NS    : $NS
 
+
echo SHORT : $SHORT
source /etc/network/interfaces.d/*
+
echo DOM   : $DOM
 
 
auto lo
 
iface lo inet loopback
 
 
 
auto enp0s3
 
HERE
 
 
 
if (( USE_DHCP == 1 ))
 
then
 
  echo "iface enp0s3 inet dhcp" >> /etc/network/interfaces
 
else
 
  cat <<HERE >> /etc/network/interfaces
 
iface enp0s3 inet static
 
  address $ADDR
 
gateway $GW
 
dns-nameservers $NS
 
dns-search $DOM
 
HERE
 
fi
 
 
 
# Hostname setzen
 
hostnamectl set-hostname "$FQDN"
 
 
</pre>
 
</pre>

Version vom 20. April 2026, 11:34 Uhr

  • cat /usr/local/sbin/debian-setup.sh
#!/bin/bash
# Standardwerte setzen
FQDN=""
ADDR=""
GW=""
NS=""


# Optionen mit getopts parsen
while getopts "f:a:g:n:" opt; do
  case $opt in
    f) FQDN="$OPTARG" ;;
    a) ADDR="$OPTARG" ;;
    g) GW="$OPTARG" ;;
    n) NS="$OPTARG" ;;
    *) echo "Ungültige Option" >&2; exit 1 ;;
  esac
done

# Gültigkeit prüfen
if [[ -z "$FQDN" || -z "$ADDR" || -z "$GW" || -z "$NS" ]]; then
    echo "Fehlende Argumente für statische Konfiguration! Nutzung:"
    echo "$0 -f <FQDN> -a <IP/CIDR> -g <Gateway> -n <Nameserver>"
    exit 1
fi

# SHORT und DOM aus FQDN berechnen
SHORT=$(echo "$FQDN" | cut -d'.' -f1)
DOM=$(echo "$FQDN" | cut -d'.' -f2-)

echo FQDN  : $FQDN
echo ADDR  : $ADDR
echo GW    : $GW
echo NS    : $NS
echo SHORT : $SHORT
echo DOM   : $DOM