Linbo-remote: not a pxe host!?

Ja, ich war 03. - 04. November 2021 in Freiburg.

Wie auch immer. Ich habe mir nun den Sourcecode von linbo-remote mal angeschaut und die zwei Fehler gefunden:

  1. Fehler: linbo-remote mit einer IP nach dem -i wird mit not a pxe host beendet. Also z.B. linbo-remote -i 10.101.199.182 → not a pxe host
    Das liegt daran, dass nslookup den Hostnamen in Kleinbuchstaben auflöst, der PC in der devices.csv ($WIMPORTDATA) aber in Großbuchstaben steht und hinter dem zweiten grep kein -i.
    Lösung:
    A.) entweder Unterbindet man die Registierung von PC’s mit Großbuchstanben in der GUI und in Limbo
    oder
    B:) Man entnimmt den Hostnamen aus der devices.csv statt mit nslookup
    oder
    C:) man schreibt hinter dem zweiten grep ein -i
    Ich habe mich für Lösung C entschieden.
    Meine geänderte Zeile lautet statt diese Zeile
    pxe="$(grep -i ^[a-z0-9] $WIMPORTDATA | grep ";$HOSTNAME;" | awk -F\; '{ print $11 }')"
    nun wie folgt
    pxe="$(grep -i ^[a-z0-9] $WIMPORTDATA | grep -i ";$HOSTNAME;" | awk -F\; '{ print $11 }')"
    Damit ist Fehler 1 gelößt.

  2. Fehler: linbo-remote ruft wakeonlan NICHT mit -i gefolgt mit der IP des hosts auf. Bzw. mit Parameter -u schon, aber dann nur die Brodcastadresse.
    Lösung: Änderung von linbo-remote in so fern, dass statt

    # use broadcast address
    if [ -n "$USEBCADDR" ]; then
      if validip "$i"; then
        hostip="$i"
      else
        hostip="$(get_ip "$i")"
      fi
      bcaddr=$(get_bcaddress "$hostip")
      [ -n "$bcaddr" ] && WOL="$WOL -i $bcaddr"
    fi

nun dort steht:

    if validip "$i"; then
      hostip="$i"
    else
      hostip="$(get_ip "$i")"
    fi
    # use broadcast address
    if [ -n "$USEBCADDR" ]; then
      bcaddr=$(get_bcaddress "$hostip")
      [ -n "$bcaddr" ] && WOL="$WOL -i $bcaddr"
    else
      [ -n "$hostip" ] && WOL="$WOL -i $hostip"
    fi

Damit ist Fehler 2 gelößt

Ich denke, dass sollte im Quellcode von Linuxmuster übernommen werden. Vielleicht hilft es ja.