GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie warten Sie auf die eth0-Schnittstelle, bevor Sie die Befehle ip link, ip addr und ip route ausführen?

Hier ist die Lösung, mit der ich mein Problem schließlich gelöst habe:

while ! ip link show eth0 | grep -q 'state UP'; do
    sleep 1
done

ip link add macvlan0 link eth0 type macvlan mode bridge
ip addr add 192.168.0.240/32 dev macvlan0
ip link set macvlan0 up
ip route add 192.168.0.240/28 dev macvlan0

Ich hatte jedoch 2 geplante "Boot-Up"-Tasks auf meiner Synology und ich bekam einige Fehler beim Booten. Um dieses Problem zu lösen, konfiguriere ich diese Aufgabe so, dass die andere als Voraufgabe verwendet wird. Mit anderen Worten, die Aufgaben werden nacheinander ausgeführt und warten darauf, dass die vorherige Aufgabe beendet wird, bevor die neue gestartet wird.


Überprüfen Sie den Status von eth0 ab /sys/class/net/eth0/operstate und warten Sie, bis die Netzwerkschnittstelle aktiv ist:

while ! [ "$(cat /sys/class/net/eth0/operstate)" = "up" ] 
do
    echo  "waiting for eth0 to be up"
    sleep 2
done

ip link add macvlan0 link eth0 type macvlan mode bridge
ip addr add 192.168.0.240/32 dev macvlan0
ip link set macvlan0 up
ip route add 192.168.0.240/28 dev macvlan0

Linux
  1. Wie ich Ansible und Anacron für die Automatisierung verwende

  2. So deaktivieren Sie Befehle zum Herunterfahren und Neustarten in Linux

  3. Wie erstelle ich einen Alias ​​für einen langen Pfad?

  4. wie man cURL auf einer bestimmten Schnittstelle verwendet

  5. So legen Sie den Pfad für sudo-Befehle fest

Wie man nach mehreren Zeichenfolgen und Mustern grep

So sichern und wiederherstellen Sie eine SD-Karte für Raspberry Pi

So verwenden Sie die Befehle Pushd, Popd und Dirs für eine schnellere CLI-Navigation

So verwenden Sie die Befehle Pbcopy und Pbpaste unter Linux

So fügen Sie Icinga Director für Icinga2 und Icinga Web 2 hinzu.

Ribbon-Schnittstelle für GTK und Qt