web-dev-qa-db-fra.com

Exécution de ce script Bash une fois causant un "problème de programme système détecté" sur chaque redémarrage

J'essaie de créer un script qui, lorsqu'il est exécuté, sera Configurer un réseau WiFi sur lequel deux périphériques ou plus peuvent communiquer. Si j'exécute la version actuelle de ce script ne fois, il provoque l'affichage de cet appareil A "Problème de programme système détecté" Popup sur chaque Redémarrage ultérieur .

À l'heure actuelle, il s'agit d'une irritation plutôt que d'une catastrophe. Cependant, étant donné que, à l'avenir, je peux bien exécuter ce script sur des dizaines d'appareils, la situation est sous-optimale!

C'est le script Bash:

#!/bin/bash

# Install required software.
Sudo apt install dnsmasq
Sudo apt install hostapd
Sudo systemctl stop dnsmasq
Sudo systemctl stop hostapd

# Configure a static IP.
if ! python3 edit_dhcpcd_config.py ; then
  exit 1
fi

# Configure the DHCP server.
if [ ! -f /etc/dnsmasq.conf.orig ]; then
  Sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
fi
if ! python3 edit_dnsmasq_config.py ; then
  exit 1
fi
if ! Sudo systemctl start dnsmasq ; then
  exit 1
fi

# Configure the access point Host software.
if ! python3 edit_hostapd_conf.py ; then
  exit 1
fi
if ! python3 edit_daemon_conf.py ; then
  exit 1
fi

# Start it up.
if ! Sudo systemctl unmask hostapd ; then
  exit 1
fi
if ! Sudo systemctl enable hostapd ; then
  exit 1
fi
if ! Sudo systemctl start hostapd ; then
  exit 1
fi

echo "Mother network set up successfully."

# Check everything's up.
#Sudo systemctl status hostapd
#Sudo systemctl status dnsmasq

Les différents scripts Python appelés dans ce qui précède ne sont que des extraits de code, qui appellent ou remplacent divers fichiers de configuration DNSMASQ et HostAPD. Je suis heureux de poster ces fichiers si demandé.

1
Tom Hosker

C'est en fait une notification qu'un accident est passé sur votre système. Bien que dans la plupart des cas, cela ne soit pas grave, vous pouvez vérifier ce qui s'est écrasé en lisant la sortie de ls -l /var/crash/.

Si vous reconnaissez la raison du crash d'être quelque chose dans votre script, vous devez modifier votre script et réessayer.

Si toutefois, vous décidez de désactiver complètement les rapports d'accident, veuillez suivre les instructions ci-dessous afin que plus aucun accident d'accident ne soit affiché à l'avenir.


Vous pouvez désactiver le signalement des crash si c'est ce que vous voulez en modifiant le fichier /etc/default/apport et changer enabled=1 à enabled=0 et enregistrer le fichier.

Sinon, vous pouvez le faire depuis votre script en ajoutant cette ligne:

Sudo sed -i 's/enabled=1/enabled=0/g' /etc/default/apport

Bonne chance

1
Raffa