#!/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