From 318f103a7f0d20acd0ad33f60d224c21b08010c2 Mon Sep 17 00:00:00 2001 From: Paolo Asperti Date: Sat, 27 Apr 2019 12:26:54 +0200 Subject: [PATCH] rename network interfaces --- README.md | 8 ++++++++ root/ks/interactive | 22 ++++++++++++++++++++++ root/ks/manual | 22 ++++++++++++++++++++++ root/ks/unattended | 22 ++++++++++++++++++++++ 4 files changed, 74 insertions(+) diff --git a/README.md b/README.md index d369892..71e4f6b 100644 --- a/README.md +++ b/README.md @@ -27,3 +27,11 @@ docker run --rm \ -w "/drone/src" \ registry.libreschool.org/libreschool-automation/libreschool-iso-builder:latest ``` + +## TODO: + +- [ ] FIX images +- [ ] package group +- [x] Rename network interface +- [ ] Enforce the minimum required network interfaces (anaconda) +- [ ] PXE + Preseed (external package) diff --git a/root/ks/interactive b/root/ks/interactive index b36fc62..bd163cb 100755 --- a/root/ks/interactive +++ b/root/ks/interactive @@ -145,4 +145,26 @@ if [ -f /etc/nethserver-release ]; then echo >> /etc/issue fi +echo "Renaming network interfaces" +TMPFILE=/tmp/9C358C31-BC02-4B63-BAAB-4D82DA0E297C +OUTFILE=/etc/udev/rules.d/70-persistent-net.rules +ip link show | grep 'link/ether' | sed 's/.*ether\ \([0-9a-fA-F:]*\)\ brd.*/\1/' > $TMPFILE +LINES=$(wc -l $TMPFILE) +# TODO: should be at least 2 lines +N=0 +while read MAC ; do + if (( N > 1 )) ; then + NUM=$(( N-1 )) + echo "SUBSYSTEM==\"net\", ACTION==\"add\", DRIVERS==\"?*\", ATTR{address}==\"${MAC}\", NAME=\"lan${NUM}\"" >> $OUTFILE + fi + if (( N == 1 )) ; then + echo "SUBSYSTEM==\"net\", ACTION==\"add\", DRIVERS==\"?*\", ATTR{address}==\"${MAC}\", NAME=\"wan0\"" >> $OUTFILE + fi + if (( N == 0 )) ; then + echo "SUBSYSTEM==\"net\", ACTION==\"add\", DRIVERS==\"?*\", ATTR{address}==\"${MAC}\", NAME=\"lan0\"" >> $OUTFILE + fi + N=$(( N + 1 )) +done < $TMPFILE +rm $TMPFILE + %end diff --git a/root/ks/manual b/root/ks/manual index e6c886a..35f49c1 100755 --- a/root/ks/manual +++ b/root/ks/manual @@ -55,4 +55,26 @@ if [ -f /etc/nethserver-release ]; then echo >> /etc/issue fi +echo "Renaming network interfaces" +TMPFILE=/tmp/9C358C31-BC02-4B63-BAAB-4D82DA0E297C +OUTFILE=/etc/udev/rules.d/70-persistent-net.rules +ip link show | grep 'link/ether' | sed 's/.*ether\ \([0-9a-fA-F:]*\)\ brd.*/\1/' > $TMPFILE +LINES=$(wc -l $TMPFILE) +# TODO: should be at least 2 lines +N=0 +while read MAC ; do + if (( N > 1 )) ; then + NUM=$(( N-1 )) + echo "SUBSYSTEM==\"net\", ACTION==\"add\", DRIVERS==\"?*\", ATTR{address}==\"${MAC}\", NAME=\"lan${NUM}\"" >> $OUTFILE + fi + if (( N == 1 )) ; then + echo "SUBSYSTEM==\"net\", ACTION==\"add\", DRIVERS==\"?*\", ATTR{address}==\"${MAC}\", NAME=\"wan0\"" >> $OUTFILE + fi + if (( N == 0 )) ; then + echo "SUBSYSTEM==\"net\", ACTION==\"add\", DRIVERS==\"?*\", ATTR{address}==\"${MAC}\", NAME=\"lan0\"" >> $OUTFILE + fi + N=$(( N + 1 )) +done < $TMPFILE +rm $TMPFILE + %end diff --git a/root/ks/unattended b/root/ks/unattended index 50188b8..0fe992b 100755 --- a/root/ks/unattended +++ b/root/ks/unattended @@ -161,4 +161,26 @@ if [ -f /etc/nethserver-release ]; then echo >> /etc/issue fi +echo "Renaming network interfaces" +TMPFILE=/tmp/9C358C31-BC02-4B63-BAAB-4D82DA0E297C +OUTFILE=/etc/udev/rules.d/70-persistent-net.rules +ip link show | grep 'link/ether' | sed 's/.*ether\ \([0-9a-fA-F:]*\)\ brd.*/\1/' > $TMPFILE +LINES=$(wc -l $TMPFILE) +# TODO: should be at least 2 lines +N=0 +while read MAC ; do + if (( N > 1 )) ; then + NUM=$(( N-1 )) + echo "SUBSYSTEM==\"net\", ACTION==\"add\", DRIVERS==\"?*\", ATTR{address}==\"${MAC}\", NAME=\"lan${NUM}\"" >> $OUTFILE + fi + if (( N == 1 )) ; then + echo "SUBSYSTEM==\"net\", ACTION==\"add\", DRIVERS==\"?*\", ATTR{address}==\"${MAC}\", NAME=\"wan0\"" >> $OUTFILE + fi + if (( N == 0 )) ; then + echo "SUBSYSTEM==\"net\", ACTION==\"add\", DRIVERS==\"?*\", ATTR{address}==\"${MAC}\", NAME=\"lan0\"" >> $OUTFILE + fi + N=$(( N + 1 )) +done < $TMPFILE +rm $TMPFILE + %end