Salut à tous, je doute avoir posté dans la bonne section, mais n'ayant rien trouvé dans le moteur de recherche, je vais le faire là
Voilà, des crash Ubuntu ça m'arrive souvent (oui jsuis un peu un boeuf avec le terminal) et à chaque réinstallations je dois remettre toujours les mêmes fichiers de configurations aux mêmes endroits,
j'en ai eu marre 🙁 alors j'ai fait un script (en bash), et j'ai bien envie de vous en faire profiter. Je poste "l'ossature du script", et vous n'avez plus qu'a le modifier à votre convenance, toutes options peuvent être enregistrées dans le script via les variables
archive => chemin vers l'archive
auto => pour supprimer les pauses
Le principe et simple, créez une archive tar.gz dans laquelle vous placerez vos fichiers de configuration, vous pouvez éventuellement la synchroniser avec Ubuntu One pour l'avoir sous la main
Un dossier get_ready est crée dans le home de l'utilisateur que vous avez rentré au départ (sois dans le script, soit que vous avez saisi)
l'archive est décompressée dans ce dossier et le script exécute les sections permettant la gestion de la copie des fichiers, du gestionnaire de paquet, il y a même une partie pour exécuter les scripts.
Y a juste à rentrer les commandes :lol: mais une seul fois
Le voilà
#!/bin/bash
#CE SCRIPT VISE À VOUS FACILITER LA VIE EN RÉINSTALLANT DE FAÇON AUTOMATIQUE VOS FICHIERS DE CONFIGURATION
#IL VOUS SUFFIT DE CRÉER UNE ARCHIVE EN TAR.GZ AVEC VOS FICHIERS DE CONFIGURATIONS PUIS DE MODIFIER
#CE SCRIPT À VOTRE CONVENANCE EN TAPANT LES COMMANDES QUE VOUS VOULEZ ÉXECUTER DANS LES SECTIONS ADAPTÉES
#Scripteur : David DURAIN
#Script sous licence GNU/GPL
#Date : 16 juin 2011
#Sans garanties, j'espère que ça vous sera utile
#Fonction de pause
attente()
{
printf "Appuyer sur ENTER pour poursuivre"
read nothing
}
#Titre
clear
printf "__________________________________________\n"
printf " SCRIPT DE DEPLOIEMENT DE CONFIGURATION\n"
printf " PAR DAVID DURAIN (GNU-GPL) \n"
printf "__________________________________________\n\n"
#VOUS POUVEZ PAR EXEMPLE SPÉCIFIEZ LE CHEMIN D'ACCÈS À L'ARCHIVE
# DANS CETTE SECTION SI VOUS ÊTES
#SÛRS QUE CES INFORMATIONS NE CHANGERONT PAS
#Déclaration des variables d'environnement
archive=""
#VOUS POUVEZ ÉGALEMENT AUTOMATISER LA PROCÉDURE
#(L'EXÉCUTER SANS LES PAUSES)
#Mettre auto à TRUE pour automatiser la procédure
auto="FALSE"
#Récupération du nom d'utilisateur et de l'emplacement de l'archive
echo "Bonjour $USER\n"
if [ -z "$archive" ];
then
echo -n "Emplacement de l'archive de configuration\n=>"
read archive
fi
printf "Archive : $archive\n"
printf "Répertoire temporaire : $HOME/get_ready\n\n\n"
#Préparation du déploiement
#Création du répertoire temporaire
printf "Etape 1 : Création du répertoire temporaire\n"
mkdir "/$HOME/get_ready"
printf "/$HOME/get_ready => créé\n\n"
cd "$HOME/get_ready"
printf "Etape 2 : Copie de l'archive de configuration\n"
if [ "$auto" = "FALSE" ]; then attente
fi
cp "$archive" "$HOME/get_ready"
printf "$archive.tar.gz => copié\n\n"
#Récupération du nom de fichier SANS EXTENSIONS
nom_fichier=$(echo $(ls "$HOME/get_ready") | cut -d"." -f1)
printf "Etape 3 : Extraction de l'archive\n"
if [ "$auto" = "FALSE" ]; then attente
fi
gunzip -v "$HOME/get_ready/$nom_fichier.tar.gz"
tar xvf "$HOME/get_ready/$nom_fichier.tar"
printf "$archive => decompressée dans $HOME/get_ready\n\n"
#Déploiment
printf "Etape 4 : Copie des fichiers de configuration \n(accès root nécessaire)\n"
if [ "$auto" = "FALSE" ]; then attente
fi
#Copie des fichier (rentrez les commandes cp ici, sachant que vous êtes dans le répertoire temporaire directement)
printf "Fichiers de configuration copiés\n\n"
printf "Etape 5 : Execution des scripts\n"
if [ "$auto" = "FALSE" ]; then attente
fi
#EXECUTION des scripts (rentrez les commandes ici)
printf "Scripts executés\n\n"
printf "Etape 6 : Installation des paquets logiciels\n"
if [ "$auto" = "FALSE" ]; then attente
fi
#Commandes du gestionnaire de paquets (rentrez les commandes ici)
printf "Logiciels installés\n\n"
#Suppression du répertoire temporaire
rm -r "$HOME/get_ready"
printf "\n\n$HOME/get_ready => effacé\n\n"
printf "FIN\n\n"
exit
N'hésitez pas à le modifier et à me dire ce que vous en pensez
22/06/11 : modification des chemins en utilisant les variables d'environnement $HOME et $USER (c'est pratique)
david.