#1 Le 21/04/2020, à 15:22
- daniel@1981
Aide à la réalisation d'un script pour post installation Ubuntu
Bonjour à tous,
J'aurais besoin de votre aide étant débutant dans le scripting bash ! . Je souhaiterais installer et configurer mes logiciels après une installation propre d'Ubuntu. Je me suis confronter à plusieurs problèmes:
- Droits sudo pas optimisé car temporisation (15 minutes avant de redemander le mot de passe) + problème de sécurité en laissant un script avec des droits su
- Donner des droits particulier à une application. Par exemple donner des droits sur Wireshark à l'utilisateur courant (utilisateur de la session).
- Comment créer une variable pour éviter de taper ce genre commande: sudo apt install -y "nom du paquet" ?
- Comment contrôler une commande et savoir si elle c'est bien exécutée ?
- Comment créer un log avec redirection vers le dossier utilisateur courant ?
- Comment créer simplement des menu décochable par exemple ?
- Comment installer des paquets .deb accessibles vers des urls, comme le propose les systèmes Red Hat (dnf install -y url_du_paquet.rpm) ?
- Est t'il possible de passer à la version supérieure d'un paquet via les dépôts officiels (comme par exemple keepass qui est en v2.41 alors que v2.44 est disponible) ?
- Limiter l'utilisation de snap et flatpak au maximum ?
- Des idées d'optimisation ?
Je sait ça fait pas mal de choses mais j'espère que certain(e)s pourrons m'aider.
Je vous mets le script que j'ai commencé ci-dessous !
D'avance, merci.
#! /bin/bash
#Description: Script post installation pour Ubuntu 19.10 et +
#Auteur: daniel@1981
#Vers. : 1.0
if [[ $EUID -ne 0 ]]; then
echo "Ce script doit être exécuter en mode super-utilisateur sudo"
exit 1
else
#Recherche et installation des mises à jour du système
echo "Recherche et installation des mises à jour du système"
sudo apt-get update -y
sudo apt-get dist-upgrade -y
#Mise à jour de la traduction d'Ubuntu
echo "Mise à jour de la traduction d'Ubuntu"
sudo apt-get install -y manpages-fr manpages-fr-dev manpages-fr-extra language-pack-fr libreoffice-help-en-gb libreoffice-l10n-en-za thunderbird-locale-en-gb hyphen-en-gb hunspell-en-au hyphen-en-ca hunspell-en-ca mythes-en-au hunspell-en-za libreoffice-l10n-en-gb hunspell-en-gb
#Snap et Flatpak
echo "Installation et mise à jour des gestionnaires de paquets Snap et Flatpak"
sudo apt-get install -y snapd gnome-software-plugin-snap flatpak gnome-software-plugin-flatpak
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
sudo snap install snap-store
sudo snap refresh && sudo flatpak update -y
#Codecs multimédia et polices de caractères
echo "Installation de codecs multimédia et polices de caractères couramment utilisés pour Ubuntu"
sudo apt-get install -y ubuntu-restricted-extras
#Applications > Accessoires
echo "Installation de Ajustements pour le bureau GNOME"
sudo apt-get install -y gnome-tweak-tool
echo "Installation de l'antivirus ClamAV"
sudo apt-get install -y clamav-docs clamav-daemon clamtk-gnome libclamunrar9 libcurl4-doc libidn11-dev libkrb5-dev libldap2-dev librtmp-dev libssh2-1-dev libgtk2-perl-doc icu-doc ncurses-doc libssl-doc build-essential openssl libssl-dev libcurl4-openssl-dev zlib1g-dev libpng-dev libxml2-dev libjson-c-dev libbz2-dev libpcre3-dev ncurses-dev clamav clamav-unofficial-sigs clamtk && freshclam
echo "Installation du gestionnaire de mots de passe KeePass"
sudo apt-get install -y keepass2*
echo "Installation et paramétrage du pare-feu Netfilter"
sudo apt-get install -y ufw gufw && sudo ufw enable
sudo ufw enable
echo "Installation de la couche de compatibilité WINE pour les applications Microsoft Windows"
sudo dpkg --add-architecture i386 && apt-get update -y
sudo apt-get install -y wine-stable playonlinux winetricks
echo "Installation du gestionnaire de fonds d'écran Variety"
sudo apt-get install -y variety
#Applications > Bureautique
echo "Mise à jour de La suite bureautique LibreOffice"
sudo apt-get install -y libreoffice-l10n-fr libreoffice-help-fr hyphen-fr libreoffice-pdfimport libreoffice-ogltrans libreoffice-templates openclipart-libreoffice hunspell libreoffice-grammarcheck-en-gb mythes-en-gb libreoffice-grammarcheck-en-za libreoffice-help-en-za mythes-en-za zip unzip p7zip-full p7zip-rar unrar rar unace unace-nonfree
#Applications > Éducation
echo "Installation du simulateur de réseaux informatiques GNS3"
sudo add-apt-repository -y ppa:gns3/ppa
sudo apt-get update -y
sudo apt install -y gns3-gui gns3-server
sudo dpkg --add-architecture i386
sudo apt-get update -y
sudo apt-get install -y gns3-iou
sudo apt-get install -y wireshark
sudo groupadd wireshark
sudo usermod -a -G wireshark %USER%
sudo apt-get install -y nmap zenmap
#Applications > Infographie
echo "Mise à jour de l'outil d'édition et de retouche d'image GIMP"
sudo apt-get install -y printer-driver-gutenprint xsane gimp-plugin-registry gimp-help-fr gimp-gutenprint gimp-data-extras
#Applications > Internet
echo "Installation du client FTP FileZilla"
sudo apt-get install -y filezilla wget wget2
echo "Installation du navigateur Web Chromium"
sudo apt-get install -y chromium-browser chromium-browser-l10n chromium-chromedriver flashplugin-installer
echo "Installation du client P2P Nicotine Plus"
sudo apt-get install -y nicotine python3-miniupnpc miniupnpc
echo "Installation du client qBittorrent"
sudo apt-get install -y qbittorrent
echo "Installation du visionneur de bureaux distants Remmina"
sudo apt-get install -y remmina*
echo "Installation du client de messagerie Skype"
sudo snap install skype --classic
echo "Installation du logiciel de télémaintenance TeamViewer"
sudo wget https://download.teamviewer.com/download/linux/teamviewer_amd64.deb
sudo apt --fix-broken install
sudo dpkg -i teamviewer_amd64.deb
sudo rm teamviewer_amd64.deb
echo "Installation du navigateur Web Tor"
sudo apt --fix-broken install
sudo apt-get install -y torbrowser-launcher
echo "Installation des gestionnaires de téléchargements"
sudo apt --fix-broken install
sudo apt-get install -y uget curl aria2
flatpak install flathub org.jdownloader.JDownloader
flatpak run org.jdownloader.JDownloader
#Applications > Jeux
echo "Installation du Jeux de réussites KPatience"
sudo apt --fix-broken install
sudo apt-get install -y kpat
echo "Installation de la plate-forme RetroArch"
sudo apt --fix-broken install
sudo add-apt-repository -y ppa:libretro/stable
sudo apt-get update -y
sudo apt-get install -y retroarch*
#Applications > Outils système
echo "Installation du gestionnaire de paquets Synaptic"
sudo apt --fix-broken install
sudo apt-get install -y synaptic gdebi
echo "Installation du gestionnaire de configuration pour le programme d'amorçage GRUB"
sudo apt --fix-broken install
sudo apt-get install -y grub-customizer
echo "Installation du logiciel de nettoyage BleachBit"
sudo apt --fix-broken install
sudo apt-get install -y bleachbit
echo "Installation de logiciels de gestion et d'édition de partitions"
sudo apt --fix-broken install
sudo apt-get install -y gparted nwipe testdisk
echo "Installation et configuration de logiciels d'informations système"
sudo apt-get install -y hardinfo lm-sensors hddtemp inxi neofetch laptop-mode-tools
sudo sensors-detect --auto
#lancer manuellement "sudo sensors-detect && sensor" pour lancer la détection des sondes de températures
#sudo sensors-detect && sensors
echo "Installation du logiciel de gravure K3b"
sudo apt-get install -y k3b k3b-extrathemes k3b-i18n libk3b7-extracodecs
echo "Installation du logiciel de virtualisation Oracle VM VirtualBox"
sudo apt --fix-broken install
sudo wget https://download.virtualbox.org/virtualbox/6.1.6/virtualbox-6.1_6.1.6-137129~Ubuntu~eoan_amd64.deb
sudo dpkg -i virtualbox-6.1_6.1.6-137129~Ubuntu~eoan_amd64.deb
sudo rm virtualbox-6.1_6.1.4-136177~Ubuntu~eoan_amd64.deb
sudo wget -P /home/daniel/Téléchargements https://download.virtualbox.org/virtualbox/6.1.4/Oracle_VM_VirtualBox_Extension_Pack-6.1.4.vbox-extpack
#Applications > Programmation
echo "Installation de l'environnement de développement"
sudo apt --fix-broken install
sudo apt-get install -y build-essential python3 openjdk-14-jre openjdk-14-jdk ruby android-sdk php git bluefish bluefish-plugins gambas3
sudo snap install code --classic
sudo snap install eclipse --classic
sudo snap install android-studio --classic
#Applications > Son et vidéo
echo "Installation du transcodeur vidéo HandBrake"
sudo apt --fix-broken install
sudo apt-get install -y handbrake x264
echo "Installation du media center KODI"
sudo apt --fix-broken install
sudo apt-get remove -y kodi kodi-bin kodi-data
sudo apt-get install -y software-properties-common
sudo add-apt-repository -y ppa:team-xbmc/ppa
sudo apt-get update -y
sudo apt-get install -y kodi
echo "Installation du lecteur multimédia VideoLAN"
sudo apt --fix-broken install
sudo apt-get install -y vlc vlc-l10n
echo "Installation du service de streaming musical Spotify"
sudo snap install spotify
#Nettoyage des paquets
echo "Correction et réparation des paquets éventuellement cassés"
sudo apt --fix-broken install -y
echo "Suppression du cache des paquets périmés"
sudo apt-get autoclean -y
echo "Suppression des paquets installés comme dépendances et devenus inutiles"
sudo apt-get autoremove -y
#Redémarrage
echo "Redémarrage du système dans 1 minutes pour la prise en compte des changements. Veuillez fermer les applications ouvertes"
sudo shutdown -r -t 60
fi
#Fin
LAPTOP : LENOVO Y580 Type 2099 - Ubuntu 20.04 "Focal Fossa" / Microsoft Windows 10 Pro
Hors ligne
#2 Le 21/04/2020, à 15:29
- Compte supprimé
Re : Aide à la réalisation d'un script pour post installation Ubuntu
Bonjour daniel@1981.
Un petit morceau :
man alias
man apt
#sudo apt install application1 application2 application3 etc...
#3 Le 21/04/2020, à 15:49
- marcus68
Re : Aide à la réalisation d'un script pour post installation Ubuntu
Bonjour,
quelques réponses en vrac :
- Donner des droits particulier à une application. Par exemple donner des droits sur Wireshark à l'utilisateur courant (utilisateur de la session).
on peut utiliser la commande su (man su pour plus de détails)
- Comment créer une variable pour éviter de taper ce genre commande: sudo apt install -y "nom du paquet" ?
tu peux attribuer une valeur à une variable simplement et l'afficher comme ceci :
mavariable=moncontenu
echo $mavariable
voir le manuel de bash pour plus de détails
- Comment contrôler une commande et savoir si elle c'est bien exécutée ?
je te conseille de regarder du côté des opérateurs de commande du manuel de bash
- Comment créer un log avec redirection vers le dossier utilisateur courant ?
je te conseille le chapitre "redirections" du manuel de bash
- Comment créer simplement des menu décochable par exemple ?
regardes du côté de zenity ou yad.
- Comment installer des paquets .deb accessibles vers des urls, comme le propose les systèmes Red Hat (dnf install -y url_du_paquet.rpm) ?
wget url_du_paquet.deb
sudo dpkg -i paquet.deb
sudo apt install -f #pour les éventuelles dépendances du paquet
- Est t'il possible de passer à la version supérieure d'un paquet via les dépôts officiels (comme par exemple keepass qui est en v2.41 alors que v2.44 est disponible) ?
La version la plus récente est installé avec apt upgrade, il faut regardes avec d'autres dépôts pour des versions encore plus récente
- Limiter l'utilisation de snap et flatpak au maximum ?
oui, il ne faut pas taper de commande qui commence par "snap install" et tu limitera leur utilisation.
- Des idées d'optimisation ?
oui
echo "Ce script doit être exécuter en mode super-utilisateur sudo"
pourquoi il y a des "sudo" après du coup ?
pourquoi tout ces :
apt --fix-broken install -y
tu pourrais tout regrouper et lancer qu'une seule fois "apt install" et aussi "apt update" (si tu ajoute en premier les ppa)
tu n'es pas obligé de redémarrer à la fin.
Bon courage
EDIT :
D'ailleurs, le meilleur script de post-installation de l'univers existe déjà et est sur cette page (post #81) :
https://forum.ubuntu-fr.org/viewtopic.php?id=266261&p=4
Dernière modification par marcus68 (Le 21/04/2020, à 15:57)
Hors ligne
#4 Le 01/05/2020, à 17:52
- daniel@1981
Re : Aide à la réalisation d'un script pour post installation Ubuntu
Merci à tous.
J'aurais d'autres questions concernant ce script :
- Existe t'il un moyen de tester ce script sans qu'il ne s’exécute réellement. Je m'explique je souhaiterais savoir si le script est bien écrit et que la syntaxe est bonne sans avoir à tout lancer et installer les paquets par exemple.
- J'ai remarqué également que les indications que j'ai écrites avec la commande echo ne s'affichent pas, une fois le script lancé. J'ai juste le curseur de mon terminal qui se fige lors du lancement de ce script. Je ne sait pas ou j'en suit dans les étapes d'avancement de mon script. J'aurais besoin de précision concernant indentation dans le scripting, j'y pige pas grand chose...
Merci.
Voici le script légèrement modifié :
#! /bin/bash
#Description: Script post installation pour Ubuntu
#Auteur: daniel@1981
#Vers. : 2.0
#Pour donner les droits en exécution sur le script, faire la commande: chmod +x upi.sh
#Puis lancer le script: ./upi.sh
#Logs du script (stocké dans le dossier dans lequel le script est exécuté)
LOG_FILE=upi_log.txt
ERR_FILE=upi_error.txt
exec 1>$LOG_FILE
exec 2>$ERR_FILE
#Vérification des droits super-utilisateur pour le script
if [[ $EUID -ne 0 ]]; then
echo "Ce script doit être exécuter en mode super-utilisateur sudo"
exit 1
else
#Ajout des réseaux Wifi connus
echo "Ajout des réseaux Wifi connus"
sudo cp -r /media/daniel/Logiciels/Systèmes\ d\'exploitation/Linux/Ubuntu/Scripts/Profils\ Wifi/system-connections/ /etc/NetworkManager/
#Recherche et installation des mises à jour du système
echo "Recherche et installation des mises à jour du système"
sudo apt-get update -y
sudo apt-get dist-upgrade -y
#Mise à jour de la traduction d'Ubuntu
echo "Mise à jour de la traduction d'Ubuntu"
sudo apt-get install -y manpages-fr manpages-fr-dev manpages-fr-extra language-pack-fr libreoffice-help-en-gb libreoffice-l10n-en-za thunderbird-locale-en-gb hyphen-en-gb hunspell-en-au hyphen-en-ca hunspell-en-ca mythes-en-au hunspell-en-za libreoffice-l10n-en-gb hunspell-en-gb
#Snap et Flatpak
echo "Installation et mise à jour des gestionnaires de paquets Snap et Flatpak"
sudo apt-get install -y snapd gnome-software-plugin-snap flatpak gnome-software-plugin-flatpak
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
sudo snap install snap-store
sudo snap refresh
sudo flatpak update -y
#Codecs multimédia et polices de caractères
echo "Installation de codecs multimédia et polices de caractères couramment utilisés pour Ubuntu"
sudo apt-get install -y ubuntu-restricted-extras
#Applications > Accessoires
echo "Installation de Ajustements pour les paramètrages avancés du bureau GNOME3"
sudo apt-get install -y gnome-tweak-tool
echo "Installation de l'antivirus ClamAV"
sudo apt-get install -y clamav-docs clamav-daemon clamtk-gnome libclamunrar9 libcurl4-doc libidn11-dev libkrb5-dev libldap2-dev librtmp-dev libssh2-1-dev libgtk2-perl-doc icu-doc ncurses-doc libssl-doc build-essential openssl libssl-dev libcurl4-openssl-dev zlib1g-dev libpng-dev libxml2-dev libjson-c-dev libbz2-dev libpcre3-dev ncurses-dev clamav clamav-unofficial-sigs clamtk
sudo freshclam
echo "Installation du gestionnaire de mots de passe KeePass"
sudo apt-get install -y keepass2*
echo "Installation et paramétrage du pare-feu Netfilter"
sudo apt-get install -y ufw gufw
sudo ufw enable
echo "Installation de la couche de compatibilité WINE pour les applications Microsoft Windows"
sudo dpkg --add-architecture i386
sudo apt-get update -y
sudo apt-get install -y wine-stable playonlinux winetricks
echo "Installation du gestionnaire de fonds d'écran Variety"
sudo apt-get install -y variety
echo "Copie d'une collection de fonds d'écran du site Unsplash pour Variety"
cp -r /media/daniel/Logiciels/Systèmes\ d\'exploitation/Tools/variety\ wallpapers/Unsplash/ /home/daniel/.config/variety/Downloaded
#Applications > Bureautique
echo "Mise à jour de La suite bureautique LibreOffice"
sudo apt-get install -y libreoffice-l10n-fr libreoffice-help-fr hyphen-fr libreoffice-pdfimport libreoffice-ogltrans libreoffice-templates openclipart-libreoffice hunspell libreoffice-grammarcheck-en-gb mythes-en-gb libreoffice-grammarcheck-en-za libreoffice-help-en-za mythes-en-za zip unzip p7zip-full p7zip-rar unrar rar unace unace-nonfree
#Applications > Éducation
echo "Installation du simulateur de réseaux informatiques GNS3"
sudo add-apt-repository -y ppa:gns3/ppa
sudo apt-get update -y
sudo apt-get install -y gns3-gui gns3-server
sudo dpkg --add-architecture i386
sudo apt-get update -y
sudo apt-get install -y gns3-iou
sudo apt-get install -y wireshark
sudo groupadd wireshark
sudo usermod -a -G wireshark daniel
sudo apt-get install -y nmap zenmap
#Applications > Infographie
echo "Mise à jour de l'outil d'édition et de retouche d'image GIMP"
sudo apt-get install -y printer-driver-gutenprint xsane gimp-plugin-registry gimp-help-fr gimp-gutenprint gimp-data-extras
#Applications > Internet
echo "Installation du client FTP FileZilla"
sudo apt-get install -y filezilla wget wget2
echo "Installation du navigateur Web Chromium"
sudo apt-get install -y chromium-browser chromium-browser-l10n chromium-chromedriver flashplugin-installer
echo "Installation du client P2P Nicotine Plus"
sudo apt-get install -y nicotine python3-miniupnpc miniupnpc
echo "Installation du client qBittorrent"
sudo apt-get install -y qbittorrent
echo "Installation du visionneur de bureaux distants Remmina"
sudo apt-get install -y remmina*
echo "Installation du client de messagerie Skype"
sudo snap install skype --classic
echo "Installation du logiciel de télémaintenance TeamViewer"
sudo wget https://download.teamviewer.com/download/linux/teamviewer_amd64.deb
sudo apt --fix-broken install
sudo dpkg -i teamviewer_amd64.deb
sudo rm teamviewer_amd64.deb
echo "Installation du navigateur Web Tor"
sudo apt --fix-broken install
sudo apt-get install -y torbrowser-launcher
echo "Installation des gestionnaires de téléchargements uGet & JDownloader"
sudo apt --fix-broken install
sudo apt-get install -y uget curl aria2
sudo flatpak install flathub org.jdownloader.JDownloader
sudo flatpak run org.jdownloader.JDownloader
#jitsi
#sudo wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -
#sudo sh -c "echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list"
#sudo apt-get -y update
#sudo apt-get -y install jitsi-meet
#Applications > Jeux
echo "Installation du Jeux de réussites KPatience"
sudo apt --fix-broken install
sudo apt-get install -y kpat
echo "Installation de la plate-forme d'émulation RetroArch"
sudo apt --fix-broken install
sudo add-apt-repository -y ppa:libretro/stable
sudo apt-get update -y
sudo apt-get install -y retroarch*
#Applications > Outils système
echo "Installation du gestionnaire de paquets Synaptic"
sudo apt --fix-broken install
sudo apt-get install -y synaptic gdebi
echo "Installation du gestionnaire de configuration pour le programme d'amorçage GRUB"
sudo apt --fix-broken install
sudo apt-get install -y grub-customizer
echo "Installation du logiciel de nettoyage BleachBit"
sudo apt --fix-broken install
sudo apt-get install -y bleachbit
echo "Installation de logiciels de gestion et d'édition de partitions"
sudo apt --fix-broken install
sudo apt-get install -y gparted nwipe testdisk
echo "Installation et configuration de logiciels d'informations système"
sudo apt-get install -y hardinfo lm-sensors hddtemp inxi neofetch laptop-mode-tools
sudo sensors-detect --auto
echo "Installation du logiciel de gravure K3b"
sudo apt-get install -y k3b k3b-extrathemes k3b-i18n libk3b7-extracodecs
echo "Installation du logiciel de virtualisation Oracle VM VirtualBox"
sudo apt --fix-broken install
sudo apt-get install virtualbox virtualbox-ext-pack virtualbox-guest-additions-iso
#Applications > Programmation
echo "Installation de l'environnement de développement"
sudo apt --fix-broken install
sudo apt-get install -y build-essential python3 openjdk-14-jre openjdk-14-jdk ruby android-sdk php git gambas3 perl6 gedit-plugins
#bluefish
sudo apt --fix-broken install
sudo apt-get install -y bluefish bluefish-plugins
#Visual Studio Code
#sudo snap install code --classic
#Eclipse IDE
#sudo snap install eclipse --classic
#Android Studio
#sudo snap install android-studio --classic
#Atom
#sudo wget -qO - https://packagecloud.io/AtomEditor/atom/gpgkey | sudo apt-key add
#sudo sh -c 'echo "deb [arch=amd64] https://packagecloud.io/AtomEditor/atom/any/ any main" > /etc/apt/sources.list.d/atom.list'
#sudo apt-get update -y
#sudo apt-get install -y atom
#Applications > Son et vidéo
echo "Installation du transcodeur vidéo HandBrake"
sudo apt --fix-broken install
sudo apt-get install -y handbrake x264 x265
echo "Installation du media center KODI"
sudo apt --fix-broken install
sudo apt-get remove -y kodi kodi-bin kodi-data
sudo apt-get install -y software-properties-common
sudo add-apt-repository -y ppa:team-xbmc/ppa
sudo apt-get update -y
sudo apt-get install -y kodi
echo "Installation du lecteur multimédia VideoLAN"
sudo apt --fix-broken install
sudo apt-get install -y vlc vlc-l10n
echo "Installation du service de streaming musical Spotify"
sudo snap install spotify
#Nettoyage des paquets
echo "Correction et réparation des paquets éventuellement cassés"
sudo apt --fix-broken install -y
echo "Suppression du cache des paquets périmés"
sudo apt-get autoclean -y
echo "Suppression des paquets installés comme dépendances et devenus inutiles"
sudo apt-get autoremove -y
#Redémarrage
echo "Redémarrage du système dans 1 minutes pour la prise en compte des changements. Veuillez fermer les applications ouvertes"
sudo shutdown -r -t 60
fi
#Fin
LAPTOP : LENOVO Y580 Type 2099 - Ubuntu 20.04 "Focal Fossa" / Microsoft Windows 10 Pro
Hors ligne
#5 Le 01/05/2020, à 18:02
- kamaris
Re : Aide à la réalisation d'un script pour post installation Ubuntu
- Existe t'il un moyen de tester ce script sans qu'il ne s’exécute réellement. Je m'explique je souhaiterais savoir si le script est bien écrit et que la syntaxe est bonne sans avoir à tout lancer et installer les paquets par exemple.
Tu peux utiliser shellcheck : https://www.shellcheck.net/
- J'ai remarqué également que les indications que j'ai écrites avec la commande echo ne s'affichent pas, une fois le script lancé. J'ai juste le curseur de mon terminal qui se fige lors du lancement de ce script. Je ne sait pas ou j'en suit dans les étapes d'avancement de mon script.
La sortie est redirigée vers un fichier :
exec 1>$LOG_FILE
Hors ligne
#6 Le 02/05/2020, à 21:46
- daniel@1981
Re : Aide à la réalisation d'un script pour post installation Ubuntu
Merci encore.
- Je voudrais savoir si il est possible de masquer le résultat d'une commande. Je pense ne garder que le message contenu dans echo "MESSAGE" sans par exemple avoir le résultat de la commande sudo apt-get update -y. Serait t-il possible de mettre un état d'avancement (barre de progression ou pourcentage) pour chaque étape ?
- Malheureusement je me suis aperçu que certains paquets (comme Nicotine Plus ou Zenmap) n'était plus disponible (pas de PPA, Snap, Flatpak disponible). Retroarch ne fonctionne plus également.
- J'ai également remarqué que les profils des réseaux Wifi connus ne sont pas reconnus dans l'interface de Network Manager alors qu'ils sont bien placés dans le bon dossier (/etc/NetworkManager/system-connections). Je pense qu'il y a une histoire de droits sur les fichiers, des idées ?
Voici ce que j'obtiens en faisant ls -ltr :
total 16
-rwxr-xr-x 1 root root 322 mai 2 18:32 réseau1
-rw------- 1 root root 366 mai 2 18:32 réseau2
-rwxr-xr-x 1 root root 342 mai 2 18:32 réseau3
-rwxr-xr-x 1 root root 350 mai 2 18:32 réseau4
J'ai rentré manuellement (par l'interface graphique) les informations du réseau 2.
- En ce qui concerne le log j'ai bidouillé ceci (je sait pas si c'est correct), voici le script modifié (encore une fois merci ) :
#! /bin/bash
(
#Vérification des droits super-utilisateur pour le script
if [[ $EUID -ne 0 ]]; then
echo -e "\033[1;34;34mCe script doit être exécuter en mode super-utilisateur sudo\033[0m"
exit 1
else
#Ajout des réseaux Wifi connus
echo -e "\033[1;34;34mAjout des réseaux Wifi connus\033[0m"
sudo cp -r /media/daniel/Logiciels/Systèmes\ d\'exploitation/Linux/Ubuntu/Scripts/Profils\ Wifi/system-connections/ /etc/NetworkManager/
#Recherche et installation des mises à jour du système
echo -e "\033[1;34;34mRecherche et installation des mises à jour du système\033[0m"
sudo apt-get update -y
sudo apt-get dist-upgrade -y
#Mise à jour de la traduction d'Ubuntu
echo -e "\033[1;34;34mMise à jour de la traduction d'Ubuntu\033[0m"
sudo apt-get install -y manpages-fr manpages-fr-dev manpages-fr-extra language-pack-fr libreoffice-help-en-gb libreoffice-l10n-en-za thunderbird-locale-en-gb hyphen-en-gb hunspell-en-au hyphen-en-ca hunspell-en-ca mythes-en-au hunspell-en-za libreoffice-l10n-en-gb hunspell-en-gb
#Snap et Flatpak
echo -e "\033[1;34;34mInstallation et mise à jour des gestionnaires de paquets Snap et Flatpak\033[0m"
sudo apt-get install -y snapd gnome-software-plugin-snap flatpak gnome-software-plugin-flatpak
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
sudo snap install snap-store
sudo snap refresh
sudo flatpak update -y
#Codecs multimédia et polices de caractères
echo -e "\033[1;34;34mInstallation de codecs multimédia et polices de caractères couramment utilisés pour Ubuntu\033[0m"
sudo apt-get install -y ubuntu-restricted-extras
#Applications > Accessoires
echo -e "\033[1;34;34mInstallation de Ajustements pour les paramètrages avancés du bureau GNOME3\033[0m"
sudo apt-get install -y gnome-tweak-tool
echo -e "\033[1;34;34mInstallation de l'antivirus ClamAV\033[0m"
sudo apt-get install -y clamav-docs clamav-daemon clamtk-gnome libclamunrar9 libcurl4-doc libidn11-dev libkrb5-dev libldap2-dev librtmp-dev libssh2-1-dev libgtk2-perl-doc icu-doc ncurses-doc libssl-doc build-essential openssl libssl-dev libcurl4-openssl-dev zlib1g-dev libpng-dev libxml2-dev libjson-c-dev libbz2-dev libpcre3-dev ncurses-dev clamav clamav-unofficial-sigs clamtk
sudo freshclam
echo -e "\033[1;34;34mInstallation du gestionnaire de mots de passe KeePass\033[0m"
sudo apt-get install -y keepass2*
echo -e "\033[1;34;34mInstallation et paramétrage du pare-feu Netfilter\033[0m"
sudo apt-get install -y ufw gufw
sudo ufw enable
echo -e "\033[1;34;34mInstallation de la couche de compatibilité WINE pour les applications Microsoft Windows\033[0m"
sudo dpkg --add-architecture i386
sudo apt-get update -y
sudo apt-get install -y wine-stable playonlinux winetricks
echo -e "\033[1;34;34mInstallation du gestionnaire de fonds d'écran Variety\033[0m"
sudo apt-get install -y variety
variety -v
echo -e "\033[1;34;34mCopie d'une collection de fonds d'écran du site Unsplash pour Variety\033[0m"
sudo mkdir /home/daniel/.config/variety/Downloaded
sudo cp -r /media/daniel/Logiciels/Systèmes\ d\'exploitation/Tools/variety\ wallpapers/Unsplash/ /home/daniel/.config/variety/Downloaded
#Applications > Bureautique
echo -e "\033[1;34;34mMise à jour de La suite bureautique LibreOffice\033[0m"
sudo apt-get install -y libreoffice-l10n-fr libreoffice-help-fr hyphen-fr libreoffice-pdfimport libreoffice-ogltrans libreoffice-templates openclipart-libreoffice hunspell libreoffice-grammarcheck-en-gb mythes-en-gb libreoffice-grammarcheck-en-za libreoffice-help-en-za mythes-en-za zip unzip p7zip-full p7zip-rar unrar rar unace unace-nonfree
#Applications > Éducation
echo -e "\033[1;34;34mInstallation du simulateur de réseaux informatiques GNS3\033[0m"
sudo add-apt-repository -y ppa:gns3/ppa
sudo apt-get update -y
sudo apt-get install -y gns3-gui gns3-server
sudo dpkg --add-architecture i386
sudo apt-get update -y
sudo apt-get install -y gns3-iou
sudo apt-get install -y wireshark
sudo groupadd wireshark
sudo usermod -a -G wireshark daniel
sudo apt-get install -y nmap
#Applications > Infographie
echo -e "\033[1;34;34mMise à jour de l'outil d'édition et de retouche d'image GIMP\033[0m"
sudo apt-get install -y printer-driver-gutenprint xsane gimp-plugin-registry gimp-help-fr gimp-gutenprint gimp-data-extras
#Applications > Internet
echo -e "\033[1;34;34mInstallation du client FTP FileZilla\033[0m"
sudo apt-get install -y filezilla wget wget2
echo -e "\033[1;34;34mInstallation du navigateur Web Chromium\033[0m"
sudo apt-get install -y chromium-browser chromium-browser-l10n chromium-chromedriver flashplugin-installer
echo -e "\033[1;34;34mInstallation du client qBittorrent\033[0m"
sudo apt-get install -y qbittorrent
echo -e "\033[1;34;34mInstallation du visionneur de bureaux distants Remmina\033[0m"
sudo apt-get install -y remmina*
echo -e "\033[1;34;34mInstallation du client de messagerie Skype\033[0m"
sudo snap install skype --classic
echo -e "\033[1;34;34mInstallation du logiciel de télémaintenance TeamViewer\033[0m"
sudo wget https://download.teamviewer.com/download/linux/teamviewer_amd64.deb
sudo apt --fix-broken install
sudo dpkg -i teamviewer_amd64.deb
sudo apt-get -f install
sudo rm teamviewer_amd64.deb
echo -e "\033[1;34;34mInstallation du navigateur Web Tor\033[0m"
sudo apt --fix-broken install
sudo apt-get install -y torbrowser-launcher
echo -e "\033[1;34;34mInstallation des gestionnaires de téléchargements uGet & JDownloader\033[0m"
sudo apt --fix-broken install
sudo apt-get install -y uget curl aria2
sudo snap install jdownloader2
#Applications > Jeux
echo -e "\033[1;34;34mInstallation du Jeux de réussites KPatience\033[0m"
sudo apt --fix-broken install
sudo apt-get install -y kpat
echo -e "\033[1;34;34mInstallation de la plate-forme d'émulation RetroArch\033[0m"
sudo apt --fix-broken install
sudo add-apt-repository -y ppa:libretro/stable
sudo apt-get update -y
sudo apt-get install -y retroarch*
#Applications > Outils système
echo -e "\033[1;34;34mInstallation du gestionnaire de paquets Synaptic\033[0m"
sudo apt --fix-broken install
sudo apt-get install -y synaptic gdebi
echo -e "\033[1;34;34mInstallation du gestionnaire de configuration pour le programme d'amorçage GRUB\033[0m"
sudo apt --fix-broken install
sudo apt-get install -y grub-customizer
echo -e "\033[1;34;34mInstallation du logiciel de nettoyage BleachBit\033[0m"
sudo apt --fix-broken install
sudo apt-get install -y bleachbit
echo -e "\033[1;34;34mInstallation de logiciels de gestion et d'édition de partitions\033[0m"
sudo apt --fix-broken install
sudo apt-get install -y gparted nwipe testdisk
echo -e "\033[1;34;34mInstallation et configuration de logiciels d'informations système\033[0m"
sudo apt-get install -y hardinfo lm-sensors hddtemp inxi neofetch laptop-mode-tools
sudo sensors-detect --auto
echo -e "\033[1;34;34mInstallation du logiciel de gravure K3b\033[0m"
sudo apt-get install -y k3b k3b-extrathemes k3b-i18n libk3b7-extracodecs
echo -e "\033[1;34;34mInstallation du logiciel de virtualisation Oracle VM VirtualBox\033[0m"
sudo apt --fix-broken install
sudo apt-get install virtualbox virtualbox-ext-pack virtualbox-guest-additions-iso
#Applications > Programmation
echo -e "\033[1;34;34mInstallation de l'environnement de développement\033[0m"
sudo apt --fix-broken install
sudo apt-get install -y build-essential python3 openjdk-14-jre openjdk-14-jdk ruby android-sdk php git gambas3 perl6 gedit-plugins
#bluefish
sudo apt --fix-broken install
sudo apt-get install -y bluefish bluefish-plugins
#Applications > Son et vidéo
echo -e "\033[1;34;34mInstallation du transcodeur vidéo HandBrake\033[0m"
sudo apt --fix-broken install
sudo apt-get install -y handbrake x264 x265
echo -e "\033[1;34;34mInstallation du media center KODI\033[0m"
sudo apt --fix-broken install
sudo apt-get remove -y kodi kodi-bin kodi-data
sudo apt-get install -y software-properties-common
sudo add-apt-repository -y ppa:team-xbmc/ppa
sudo apt-get update -y
sudo apt-get install -y kodi
echo -e "\033[1;34;34mInstallation du lecteur multimédia VideoLAN\033[0m"
sudo apt --fix-broken install
sudo apt-get install -y vlc vlc-l10n
echo -e "\033[1;34;34mInstallation du service de streaming musical Spotify\033[0m"
sudo snap install spotify
#Nettoyage des paquets
echo -e "\033[1;34;34mCorrection et réparation des paquets éventuellement cassés\033[0m"
sudo apt --fix-broken install -y
echo -e "\033[1;34;34mSuppression du cache des paquets périmés\033[0m"
sudo apt-get autoclean -y
echo -e "\033[1;34;34mSuppression des paquets installés comme dépendances et devenus inutiles\033[0m"
sudo apt-get autoremove -y
#Redémarrage
echo -e "\033[1;34;34mRedémarrage du système dans 1 minutes pour la prise en compte des changements. Veuillez fermer les applications ouvertes\033[0m"
sudo shutdown -r -t 60
fi
#Fichier log
) > /log_upi.log
exit 0
#Fin
LAPTOP : LENOVO Y580 Type 2099 - Ubuntu 20.04 "Focal Fossa" / Microsoft Windows 10 Pro
Hors ligne
#7 Le 03/05/2020, à 01:41
- MicP
Re : Aide à la réalisation d'un script pour post installation Ubuntu
Bonjour
Pour modifier les attributs des fichiers correspondants à tes réseaux Wifi
dont le nom commence par réseau et se termine par un seul chiffre de 1 à 9
sudo chmod 600 "/etc/NetworkManager/system-connections/réseau[1-9]"
==============
Après avoir jeté un œil rapide à ton script,
je te propose d'y apporter quelques modifications :
=======
Puisque ton script doit être lancé avec les privilèges du compte root
tu peux supprimer tous les sudo superflus qu'il contient
en lançant la ligne de commande suivante :
sed -i.sauv 's/sudo //' CheminNomDeTonScript
avant de supprimer les sudo superflus dans ton script,
la ligne de commande ci-dessus va créer une copie de sauvegarde de ton script
et ajoutera .sauv à la fin du nom du fichier sauvegardé.
=======
Afin de rendre ton script plus facile à lire,
tu pourrais, en ajoutant les quelques lignes suivantes au début de ton script
créer une fonction qui affichera tes message en couleur :
affichEnBleu () {
printf '\033[1;34;34m%s\033[0m\n' "$1"
}
et ensuite, tu pourras remplacer toutes les lignes de commande
qui ressemblent à celle qui suit
echo -e "\033[1;34;34mAjout des réseaux Wifi connus\033[0m"
par :
affichEnBleu "Ajout des réseaux Wifi connus"
en lançant la ligne de commande suivante :
sed -i.sauv 's/echo -e "\\033\[1;34;34m/affichEnBleu "/;s/\\033\[0m"/"/' CheminNomDeTonScript
Dernière modification par MicP (Le 03/05/2020, à 05:40)
Hors ligne
#8 Le 03/05/2020, à 07:28
- Compte supprimé
Re : Aide à la réalisation d'un script pour post installation Ubuntu
Bonjour daniel@1981.
Oui, il y a possibilité d'afficher une barre d'avancement. Je t'ai déjà donné la commande plus haut.
Cordialement.
#9 Le 03/05/2020, à 13:40
- GammaDraconis
Re : Aide à la réalisation d'un script pour post installation Ubuntu
Le script que tu cherches à faire existe déjà : le miens !
https://github.com/simbd/Ubuntu_20.04LTS_PostInstall
vidéo démo : https://www.youtube.com/watch?v=PYei6q2Ar38
Dernière modification par GammaDraconis (Le 03/05/2020, à 13:40)
Discussion sur mon script de post-install pour Ubuntu 20.04LTS : https://forum.ubuntu-fr.org/viewtopic.php?id=2026344
Lien direct script : https://github.com/simbd/Ubuntu_20.04LTS_PostInstall
Démo vidéo (peertube) : https://video.ploud.fr/videos/watch/fb7 … 0d252ed2db
Hors ligne