herzet-interface-eth0-netwerk

#!/bin/bash
# boot.log  krijgt : 'Failed to start Raise network interfaces
#     check 'systemctl status networking.service'
#     ifup failed to bring up eth0
# reset netwerk na Raise Network failed message
#
# author franz ulenaers
# email ulefr01@gmail.com
# datum 20211011
#
SETUP="/etc/network/interfaces.d/setup"
SETUPBKUP="/$USER/setup.oud"
CONF="/etc/NetworkManager/NetworkManager.conf"
CONFBKUP="/$USER/NetworkManager.oud"
RES=1
# only run as root
if [ "$(id -u)" != '0' ]
then
        echo "Deze bash script " $0 " moet opgestart worden met root rechten (sudo " $0 " / su root) !"
        exit $RES
fi
RES=2
# cp $SETUPBKUP $SETUP -v
# cp $CONFBKUP $CONF -v
echo "============================================================================="
echo -e "===== \t\tstart \t\033[1m\033[4m reset-netwerk \033[0m \t\t\t====="
echo -e "===== \tde volgende pakketten moeten geïnstalleerd worden \t\t====="
echo -e "===== \tvoor een goede werking van deze script \t\t\t====="
echo -e "===== \thet zijn de pakketten inxi sed en mawk ! \t\t\t====="
apt install inxi sed mawk
inxi -ni | grep IF: | grep speed >ttt.netwerk
# cat ttt.netwerk
awk '{ print $2 }' <ttt.netwerk >ttt.netwerk2
# cat ttt.netwerk2
netw=$(cat ttt.netwerk2)
echo "============================================================================="
if [ $netw == 'eth0' ]
then
  echo -e "===== \tje lan interface is al eth0, er moet niks gedaan worden ! \t\t====="
  exit $RES
fi
echo -e "===== \tje lan interface is niet eth0 maar : $netw \t\t====="

cp $SETUP $SETUPBKUP -v
echo -e  "===== \tje kopie van je oud bestand $SETUP is bewaard onder $SETUPBKUP  ====="
cp $CONF $CONFBKUP -v
echo -e "===== \tje kopie van je oud bestand $CONF is bewaard onder $CONFBKUP  ====="

masker='s/eth0/'$netw'/1'
# echo $masker
echo $masker >mask.sed

sed  -f mask.sed $SETUP >nieuw.setup

cat nieuw.setup >$SETUP
echo "============================================================================="
echo -e "===== \tje bestand \033[1m\033[4m $SETUP \033[0m is aangepast \t====="
cat $SETUP
echo "============================================================================="
sed 's/# managed=false/managed=true/1' $CONF >nieuw.conf
gevonden=$(cat nieuw.conf | grep 'managed=true')
# echo 'gevonden =' $gevonden
if [ -z "$gevonden" ];
then
  # echo 'gevonden is niks'
  sed 's/managed=false/managed=true/1' $CONF >nieuw.conf
fi
# cat nieuw.conf
gevonden=$(cat nieuw.conf | grep 'managed=true')
if [ -z "$gevonden" ];
then
  # echo 'gevonden(2) is niks'
  gevonden=$(cat nieuw.conf | grep '[[ifupdown]]')
  # echo 'gevonden3 is' $gevonden
  if [ -z "$gevonden" ];
  then
    # echo 'gevonden(3) is niks'
    echo '[ifupdown]' >>nieuw.conf
    echo 'managed=true' >>nieuw.conf
  else
    if [ "$gevonden" = '[main]' ]
    then
      echo '[ifupdown]' >>nieuw.conf
      echo 'managed=true' >>nieuw.conf
    else
      echo 'managed=true' >>nieuw.conf
    fi
  fi
fi
cat nieuw.conf >$CONF
echo -e "===== je bestand \033[1m\033[4m" $CONF "\033[0m is aangepast ====="
cat $CONF
echo "============================================================================="
echo -e "===== \t\t\033[1m\033[4m opkuis werkbestanden \033[0m \t\t\t\t\t====="
rm nieuw.conf -v
rm nieuw.setup -v
rm ttt.netwerk -v
rm ttt.netwerk2 -v
echo "============================================================================="
echo -e '===== \t\t\033[1m\033[4mje netwerk wordt nu herstart\033[0m \t\t\t\t====='
systemctl restart NetworkManager
systemctl restart networking
echo "============================================================================="
echo -e "===== Deze script $0 is \033[1m\033[4m correct \033[0m uitgevoerd \t====="
echo -e "===== \tje probleem moet nu opgelost zijn \t\t\t\t====="
echo -e "===== \tje kunt nu je computer \033[1m\033[4mrebooten\033[0m \t\t\t\t====="
echo "============================================================================="
echo -e "===== \tKuis  achteraf het bestand  $SETUPBKUP op ! \t\t====="
echo -e "===== \tKuis  achteraf het bestand $CONFBKUP op ! \t====="
echo -e "===== \teinde script " $0 " \t\t\t====="
echo "============================================================================="
RES=0
exit $RES