Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 ! smile . 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 big_smile

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

daniel@1981 a écrit :

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

daniel@1981 a écrit :

- 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. sad

- 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 smile) :

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