2015-09-09 11:35:57 +02:00
|
|
|
|
#!/bin/sh
|
|
|
|
|
################################################################################################
|
|
|
|
|
##
|
2015-11-17 17:05:46 +01:00
|
|
|
|
## Nom: post_install_sid.sh
|
2015-09-09 11:35:57 +02:00
|
|
|
|
##
|
2015-11-17 17:05:46 +01:00
|
|
|
|
## Version: 0.3.1
|
2015-09-09 11:35:57 +02:00
|
|
|
|
##
|
2015-11-17 17:05:46 +01:00
|
|
|
|
## Licence: WTFPL
|
2015-09-09 11:35:57 +02:00
|
|
|
|
##
|
|
|
|
|
################################################################################################
|
|
|
|
|
|
|
|
|
|
## Vérification que le script est bien lancé en root
|
|
|
|
|
if [ "${USER}" = "root" ]; then
|
|
|
|
|
echo "Lancement du script"
|
|
|
|
|
else
|
|
|
|
|
echo "/!\\ Le script nécessite d'être root /!\\"
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# **********************************************************************************************
|
|
|
|
|
#
|
|
|
|
|
# Variables globales
|
|
|
|
|
#
|
|
|
|
|
# -----------------------------------------------------------
|
2015-11-03 12:10:27 +01:00
|
|
|
|
|
|
|
|
|
script_path=$(dirname $0)
|
|
|
|
|
|
2015-09-09 11:35:57 +02:00
|
|
|
|
## Choix du mode d'exécution du script: (cf fonction def_debug)
|
|
|
|
|
## Niveau 0
|
|
|
|
|
# Exécution automatique avec normalement aucune interaction avec l'utilisateur et peu de log
|
|
|
|
|
## Niveau 1 et 2
|
|
|
|
|
# Exécution automatique avec un peu plus d'information dans les logs
|
|
|
|
|
## Niveau 3
|
|
|
|
|
# Exécution manuelle avec tous les logs
|
|
|
|
|
## Niveau 4
|
|
|
|
|
# Reprise du niveau 3 sur la sortie standard
|
|
|
|
|
## Niveau 5
|
|
|
|
|
# Exécution automatique avecla sortie standard
|
|
|
|
|
## Niveau 6
|
|
|
|
|
# Mode debug
|
|
|
|
|
mode_debug=5
|
|
|
|
|
|
|
|
|
|
## Architecture de la distribution
|
|
|
|
|
ARCH=""
|
|
|
|
|
|
|
|
|
|
## Options d'aptitude en fonction du niveau de debug
|
|
|
|
|
OPTIONS=""
|
|
|
|
|
|
2015-11-03 18:52:42 +01:00
|
|
|
|
# Default grub timeout
|
|
|
|
|
grub_timeout='5'
|
|
|
|
|
|
2015-11-11 23:40:33 +01:00
|
|
|
|
# Default user informations
|
|
|
|
|
new_username=$(ls -1 /home | grep -v "lost+found" | tail -n 1)
|
|
|
|
|
new_user_mail="${new_username}"
|
|
|
|
|
|
2015-11-12 16:12:08 +01:00
|
|
|
|
# Strate 1 server from Paris Astronomical Observatory (obspm)
|
|
|
|
|
# http://syrte.obspm.fr/informatique/ntp_infos.php
|
|
|
|
|
ntp_server='ntp-p1.obspm.fr'
|
|
|
|
|
|
2015-11-11 23:40:33 +01:00
|
|
|
|
# Load personnal informations (new_username, new_user_mail, …) and override some variables
|
2015-11-03 18:55:42 +01:00
|
|
|
|
if [ -f ${script_path}/informations ]; then
|
|
|
|
|
. ${script_path}/informations
|
|
|
|
|
else
|
|
|
|
|
printf '%b' "You should define a ${script_path}/informations file\n"
|
|
|
|
|
printf '%b' "Or simply copy the template:\n"
|
2015-11-11 23:40:33 +01:00
|
|
|
|
printf '%b' "cp ${script_path}/informations.template ${script_path}/informations\n"
|
|
|
|
|
printf '%b' "Otherwise the script will use defaults values such as '${new_username}' as main user.\n"
|
|
|
|
|
time=10
|
|
|
|
|
printf '%b' "The script will continue in ${time} seconds "
|
|
|
|
|
while [ "${time}" -gt 0 ]; do
|
|
|
|
|
printf '%b' "."
|
|
|
|
|
time=$((time-1))
|
|
|
|
|
sleep 1
|
|
|
|
|
done
|
|
|
|
|
clear
|
2015-11-03 18:55:42 +01:00
|
|
|
|
fi
|
2015-11-03 18:52:42 +01:00
|
|
|
|
|
2015-09-09 11:35:57 +02:00
|
|
|
|
# Fin des variables globales
|
|
|
|
|
# -----------------------------------------------------------
|
|
|
|
|
# **********************************************************************************************
|
|
|
|
|
|
|
|
|
|
# **********************************************************************************************
|
|
|
|
|
#
|
|
|
|
|
# Fichiers globaux
|
|
|
|
|
#
|
|
|
|
|
# -----------------------------------------------------------
|
|
|
|
|
#
|
|
|
|
|
## Répertoire de log
|
2015-11-03 12:10:27 +01:00
|
|
|
|
log_dir="/home/${new_username}/log/`date +"%d"-"%m"-"%y"`"
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
|
|
|
|
# !! Pour utiliser un répertoire de log, décommenter la ligne suivante:
|
|
|
|
|
#mkdir -p $log_dir
|
|
|
|
|
|
|
|
|
|
if [ -d ${log_dir} ]; then
|
|
|
|
|
## Fichier de log placé dans le répertoire de log
|
|
|
|
|
fichier_log="${log_dir}/new_post_install.sh.log"
|
|
|
|
|
## Fichier de erreur placé dans le répertoire de log
|
|
|
|
|
fichier_erreur="${log_dir}/new_post_install.sh.err"
|
|
|
|
|
else
|
|
|
|
|
## Fichier de log "normal"
|
|
|
|
|
fichier_log="new_post_install.sh.log"
|
|
|
|
|
## Fichier de erreur "normal"
|
|
|
|
|
fichier_erreur="new_post_install.sh.err"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
## Fichier qui reprend toutes les informations pour l'utilisateur à la suite de l'installation.
|
|
|
|
|
INFORMATION="information.txt"
|
|
|
|
|
|
|
|
|
|
# Fin des fichiers globaux
|
|
|
|
|
# -----------------------------------------------------------
|
|
|
|
|
# **********************************************************************************************
|
|
|
|
|
|
|
|
|
|
# **********************************************************************************************
|
|
|
|
|
#
|
|
|
|
|
# Fonctions globales
|
|
|
|
|
#
|
|
|
|
|
# -----------------------------------------------------------
|
|
|
|
|
## Fonction d'affichage en fonction du mode debug choisi
|
|
|
|
|
echod() { [ "${mode_debug}" -ge 5 ] && echo "\n(DEBUG) $*" ; }
|
|
|
|
|
echok() { [ "${mode_debug}" -ge 3 ] && echo "(ok) $*" ; }
|
|
|
|
|
echoi() { [ "${mode_debug}" -ge 2 ] && echo "(ii) $*" ; }
|
|
|
|
|
echow() { [ "${mode_debug}" -ge 1 ] && echo "(!!) $*" ; }
|
|
|
|
|
echnk() { [ "${mode_debug}" -ge 0 ] && echo "(EE) $*" ; }
|
|
|
|
|
|
|
|
|
|
## Redirection de la sortie standard (stdout) vers le fichier de log
|
|
|
|
|
redirect_stdout()
|
|
|
|
|
{
|
|
|
|
|
# On test si le descripteur de fichier 6 existe déjà
|
|
|
|
|
if [ ! "$(lsof -a -p $$ -d6 | grep 6)" ]; then # Si stdout n'est pas déjà redirigé
|
|
|
|
|
# Sauvegarder la valeur de stdout dans le descripteur de fichier 6
|
|
|
|
|
exec 6>&1
|
|
|
|
|
|
|
|
|
|
# stdout remplacé par le fichier de log
|
|
|
|
|
exec > ${fichier_log}
|
|
|
|
|
echok "stdout redirigé"
|
|
|
|
|
else
|
|
|
|
|
echow "stdout déjà redirigé ..."
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
## Restauration de stdout
|
|
|
|
|
restore_stdout()
|
|
|
|
|
{
|
|
|
|
|
# Test si le descripteur de fichier 6 existe
|
|
|
|
|
if [ "$(lsof -a -p $$ -d6 | grep 6)" ]; then
|
|
|
|
|
echok "Restauration de stdout et fermeture du descripteur de fichier 6"
|
|
|
|
|
# Restaurer stdout et fermer le descripteur de fichier #6
|
|
|
|
|
exec 1>&6 6>&-
|
|
|
|
|
else
|
|
|
|
|
echoi "Le descripteur de fichier 6 n'existe pas. stdout est normalement en place"
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
## Redirection de la sortie d'erreur standard (stderr) vers le fichier d'erreur
|
|
|
|
|
redirect_stderr()
|
|
|
|
|
{
|
|
|
|
|
# On test si le descripteur de fichier 7 existe déjà
|
|
|
|
|
if [ ! "$(lsof -a -p $$ -d7 | grep 7)" ]; then
|
|
|
|
|
# Sauvegarder la valeur de stderr dans le descripteur de fichier 7
|
|
|
|
|
exec 7>&2
|
|
|
|
|
|
|
|
|
|
# stderr remplacé par le fichier d'erreur
|
|
|
|
|
exec 2> ${fichier_erreur}
|
|
|
|
|
echok "stderr redirigé"
|
|
|
|
|
else
|
|
|
|
|
echow "stderr déjà redirigé"
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
## Restauration de stderr
|
|
|
|
|
restore_stderr()
|
|
|
|
|
{
|
|
|
|
|
# Test si le descripteur de fichier 7 existe
|
|
|
|
|
if [ "$(lsof -a -p $$ -d7 | grep 7)" ]; then
|
|
|
|
|
echok "Restauration de stderr et fermeture du descripteur de fichier 7"
|
|
|
|
|
# Restaurer stderr et fermer le descripteur de fichier #7
|
|
|
|
|
exec 2>&7 7>&-
|
|
|
|
|
else
|
|
|
|
|
echoi "Le descripteur de fichier 7 n'existe pas. stderr est normalement en place"
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
## Fonction de vérification du code retour de la commande précédemment exécutée
|
|
|
|
|
# Affiche un message relatif au code retour, et peut sortir du script.
|
|
|
|
|
# - Prototype : check_output "MESSAGE_RELATIF_À_LA_COMMANDE"
|
|
|
|
|
check_output()
|
|
|
|
|
{
|
|
|
|
|
## Vérification du code retour de la dernière commande
|
|
|
|
|
case "${?}" in
|
|
|
|
|
0 ) ## Si 0, tout s'est bien passé
|
|
|
|
|
echok "${1}\n"
|
|
|
|
|
> "${fichier_erreur}" ## On vide le fichier d'erreur qui aurait pu récupérer des warnings ou autre
|
|
|
|
|
# Appel de la fonction d'attente (appui sur une touche)
|
|
|
|
|
attente
|
|
|
|
|
;; ## Pas d'erreur
|
|
|
|
|
* ) ## Si différent de 0
|
|
|
|
|
## On affiche le message relatif à l'erreur
|
|
|
|
|
echnk "Erreur lors de: -> ${1} <-"
|
|
|
|
|
echoi "Voir le fichier ${fichier_erreur} pour plus d'information."
|
|
|
|
|
## Et on arrête le script avec un code retour 1
|
|
|
|
|
echnk "/!\\ Arrêt du script /!\\ "
|
|
|
|
|
exit 1;
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
## Fonction qui crée les fichiers passés en paramètres
|
|
|
|
|
## Si les fichiers existent déjà, ils sont supprimés puis recrées
|
|
|
|
|
## Prototype: create_file $1 [$2 $3 ... $x]
|
|
|
|
|
## $1: nom du premier fichier à créer
|
|
|
|
|
create_file()
|
|
|
|
|
{
|
|
|
|
|
# Parcourir tous les arguments et les crée si nécessaire
|
|
|
|
|
for fichier in $*; do
|
|
|
|
|
if [ -f ${fichier} ]; then
|
|
|
|
|
rm -f ${fichier}
|
|
|
|
|
touch ${fichier}
|
|
|
|
|
check_output "Suppression puis création du fichier ${fichier}"
|
|
|
|
|
else
|
|
|
|
|
touch ${fichier}
|
|
|
|
|
check_output "Création du fichier ${fichier}"
|
|
|
|
|
fi
|
|
|
|
|
done
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
## Fonction qui permet de redéfinir les fichiers de log
|
|
|
|
|
# Prototype: change_log_file $1
|
|
|
|
|
# $1: nouveau nom du fichier de log
|
|
|
|
|
change_log_file()
|
|
|
|
|
{
|
|
|
|
|
# Restauration des sorties standard
|
|
|
|
|
restore_stdout
|
|
|
|
|
restore_stdin
|
|
|
|
|
|
|
|
|
|
# Redéfinition des fichiers de logs pour mieux correspondre à l'action en cours
|
|
|
|
|
if [ -d ${log_dir} ]; then
|
|
|
|
|
## Fichier de log placé dans le répertoire de log
|
|
|
|
|
fichier_log="${log_dir}/${1}.log"
|
|
|
|
|
## Fichier de erreur placé dans le répertoire de log
|
|
|
|
|
fichier_erreur="${log_dir}/${1}.err"
|
|
|
|
|
else
|
|
|
|
|
## Fichier de log "normal"
|
|
|
|
|
fichier_log="${1}.log"
|
|
|
|
|
## Fichier de erreur "normal"
|
|
|
|
|
fichier_erreur="${1}.err"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Création des fichiers de logs
|
|
|
|
|
create_file ${fichier_log} ${fichier_erreur}
|
|
|
|
|
|
|
|
|
|
# Rediriger les sorties standard
|
|
|
|
|
redirect_stdout
|
|
|
|
|
redirect_stderr
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
## Fonction d'attente
|
|
|
|
|
# Attend l'appui sur une touche si le mode debug le permet
|
|
|
|
|
# Prototype: attente
|
|
|
|
|
attente()
|
|
|
|
|
{
|
|
|
|
|
if [ "${mode_debug}" -ge 6 ]; then
|
|
|
|
|
echod "Appuyer sur la touche 'Entrée' pour continuer ..."
|
|
|
|
|
#read -s -n1 /dev/null 2> /dev/null
|
|
|
|
|
dd bs=1 count=1 > /dev/null 2>&1
|
|
|
|
|
# Le problème avec la commande `read` est que les différents shell (sh, bash, zsh, ...) en ont une implémentation
|
|
|
|
|
# différente. L'utilisation de `dd` est en revanche fonctionnelle partout.
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
## Définition du niveau de debug
|
|
|
|
|
## Prototype: def_debug $1
|
|
|
|
|
## $1: valeur comprise entre 0 et 2 pour déterminer le niveau de debug
|
|
|
|
|
## Niveau 0
|
|
|
|
|
# Exécution automatique avec normalement aucune interaction avec l'utilisateur et peu de log
|
|
|
|
|
## Niveau 1 et 2
|
|
|
|
|
# Exécution automatique avec un peu plus d'information dans les logs
|
|
|
|
|
## Niveau 3
|
|
|
|
|
# Exécution automatique avec tous les logs
|
|
|
|
|
## Niveau 4
|
|
|
|
|
# Reprise du niveau 3 sur la sortie standard
|
|
|
|
|
## Niveau 5
|
|
|
|
|
# Mode debug
|
|
|
|
|
def_debug()
|
|
|
|
|
{
|
|
|
|
|
case "${1}" in
|
|
|
|
|
0) ## Niveau minimum avec le minimum de contenu dans les fichiers de logs
|
|
|
|
|
# La sortie standard sera redirigée dans un fichier de log
|
|
|
|
|
redirect_stdout
|
|
|
|
|
# La sortie d'erreur sera redirigée dans un fichier d'erreur
|
|
|
|
|
redirect_stderr
|
|
|
|
|
# Aptitude en tout automatique
|
|
|
|
|
OPTIONS="-y"
|
|
|
|
|
# Ne pas afficher les changements sur les paquets lors des mises à jour
|
|
|
|
|
sed -i 's/pager$/none/' /etc/apt/listchanges.conf
|
|
|
|
|
;;
|
|
|
|
|
1) ## Niveau bas avec seulement les erreurs et les warnings dans les logs
|
|
|
|
|
redirect_stdout
|
|
|
|
|
redirect_stderr
|
|
|
|
|
# Aptitude en tout automatique
|
|
|
|
|
OPTIONS="-y"
|
|
|
|
|
# Ne pas afficher les changements sur les paquets lors des mises à jour
|
|
|
|
|
sed -i 's/pager$/none/' /etc/apt/listchanges.conf
|
|
|
|
|
;;
|
|
|
|
|
2) ## Niveau intermédiaire avec les erreurs, les warnings et les informations
|
|
|
|
|
redirect_stdout
|
|
|
|
|
redirect_stderr
|
|
|
|
|
# Pas d'options pour aptitude
|
|
|
|
|
OPTIONS="-y"
|
|
|
|
|
# Ne pas afficher les changements sur les paquets lors des mises à jour
|
|
|
|
|
sed -i 's/pager$/none/' /etc/apt/listchanges.conf
|
|
|
|
|
;;
|
|
|
|
|
3) ## Niveau moyen avec presque tous les echos (sauf DEBUG)
|
|
|
|
|
redirect_stdout
|
|
|
|
|
redirect_stderr
|
|
|
|
|
# Pas d'options pour aptitude
|
|
|
|
|
OPTIONS=""
|
|
|
|
|
;;
|
|
|
|
|
4) ## Niveau élevé avec presque tous les echos (sauf DEBUG) sur la sortie standard
|
|
|
|
|
redirect_stderr
|
|
|
|
|
# Pas d'options pour aptitude
|
|
|
|
|
OPTIONS=""
|
|
|
|
|
;;
|
|
|
|
|
5)
|
|
|
|
|
OPTIONS="-y"
|
|
|
|
|
# Ne pas afficher les changements sur les paquets lors des mises à jour
|
|
|
|
|
sed -i 's/pager$/none/' /etc/apt/listchanges.conf
|
|
|
|
|
;;
|
|
|
|
|
6) ## Niveau debug avec tous les echos et les sorties non redirigées
|
|
|
|
|
# Pas d'options pour aptitude
|
|
|
|
|
OPTIONS=""
|
|
|
|
|
echo "Mode debug"
|
|
|
|
|
attente
|
|
|
|
|
;;
|
|
|
|
|
*) ## Niveau non pris en compte
|
|
|
|
|
echo "Erreur, le niveau choisi (${1}) n'est pas géré"
|
|
|
|
|
esac
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
## Fonction d'installation
|
|
|
|
|
# Récupère la liste des paquets à installer et le type de ces paquets.
|
2015-11-17 17:07:34 +01:00
|
|
|
|
# Prototype: ains "DESCRIPTION_PAQUET" paquet1 paquet2 ... paquetX
|
2015-09-09 11:35:57 +02:00
|
|
|
|
# Les options sont définies en fonctions du niveau de debug
|
|
|
|
|
# Utilisation de la fonction check_output pour vérifier que tout s'est bien passé
|
2015-11-17 17:07:34 +01:00
|
|
|
|
ains()
|
2015-09-09 11:35:57 +02:00
|
|
|
|
{
|
|
|
|
|
## On récupère la description
|
|
|
|
|
DESCR_PAQUET="${1}"
|
|
|
|
|
## Décale la liste des paramètres, $2 devient $1, ... Permet de supprimer la description des paquet.
|
|
|
|
|
shift
|
|
|
|
|
## Installation de la liste des paquets passées en paramètre
|
|
|
|
|
aptitude ${OPTIONS} install $*
|
|
|
|
|
## Vérification que tout s'est bien passé
|
|
|
|
|
check_output "${DESCR_PAQUET}"
|
|
|
|
|
## Nettoie les paquets téléchargés
|
|
|
|
|
aptitude clean
|
2015-10-27 10:30:35 +01:00
|
|
|
|
}
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
2015-10-27 10:30:35 +01:00
|
|
|
|
## Fonction de désinstallation
|
|
|
|
|
# Récupère la liste des paquets à désinstaller et le type de ces paquets.
|
|
|
|
|
# Prototype: arem "DESCRIPTION_PAQUET" paquet1 paquet2 ... paquetX
|
|
|
|
|
# Les options sont définies en fonctions du niveau de debug
|
|
|
|
|
# Utilisation de la fonction check_output pour vérifier que tout s'est bien passé
|
|
|
|
|
arem()
|
|
|
|
|
{
|
|
|
|
|
## On récupère la description
|
|
|
|
|
DESCR_PAQUET="${1}"
|
|
|
|
|
## Décale la liste des paramètres, $2 devient $1, ... Permet de supprimer la description des paquet.
|
|
|
|
|
shift
|
|
|
|
|
## Installation de la liste des paquets passées en paramètre
|
|
|
|
|
aptitude ${OPTIONS} remove $*
|
|
|
|
|
## Vérification que tout s'est bien passé
|
|
|
|
|
check_output "${DESCR_PAQUET}"
|
|
|
|
|
## Nettoie les fichiers de configuration des paquets
|
|
|
|
|
aptitude ${OPTIONS} purge '~c'
|
2015-09-09 11:35:57 +02:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
## Fonction qui récupère l'architecture de la distribution
|
|
|
|
|
architecture()
|
|
|
|
|
{
|
|
|
|
|
ARCHI=$(uname -r)
|
|
|
|
|
|
|
|
|
|
if [ `uname -r | grep amd64` ]; then
|
|
|
|
|
ARCH="64"
|
|
|
|
|
elif [ `uname -r | grep 86` ]; then
|
|
|
|
|
ARCH="86"
|
|
|
|
|
else
|
|
|
|
|
echow "architecture inconnue: ${ARCHI}"
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
## Fonction qui vérifie la présence d'un fichier seed pour l'argument passé en paramètre.
|
|
|
|
|
# Si ce fichier existe, il sera donc appliqué.
|
|
|
|
|
# Prototype: preconfig "NOM_PAQUET"
|
|
|
|
|
preconfig()
|
|
|
|
|
{
|
2015-11-03 19:05:32 +01:00
|
|
|
|
if [ -f ${script_path}/seed/${1}.seed ]; then
|
|
|
|
|
debconf-set-selections ${script_path}/seed/${1}.seed
|
2015-09-09 11:35:57 +02:00
|
|
|
|
check_output "Préconfiguration de ${1}"
|
|
|
|
|
else
|
|
|
|
|
echow "Il n'existe aucun fichier seed pour ${1}."
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# Fin des fonctions globales
|
|
|
|
|
# -----------------------------------------------------------
|
|
|
|
|
# **********************************************************************************************
|
|
|
|
|
|
|
|
|
|
# **********************************************************************************************
|
|
|
|
|
#
|
|
|
|
|
# Programme principale
|
|
|
|
|
#
|
|
|
|
|
# -----------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
# Création des fichiers de logs
|
|
|
|
|
create_file ${fichier_log} ${fichier_erreur} ${INFORMATION}
|
|
|
|
|
|
|
|
|
|
# Définition du niveau de debug
|
|
|
|
|
def_debug ${mode_debug}
|
|
|
|
|
|
|
|
|
|
# Définition de l'architecture
|
|
|
|
|
architecture
|
|
|
|
|
|
2015-11-17 17:34:29 +01:00
|
|
|
|
###########################################################
|
|
|
|
|
## Prerequisite
|
|
|
|
|
##### Installation
|
|
|
|
|
ains "Prerequisite" debconf-utils lsof
|
|
|
|
|
|
|
|
|
|
##### Post-configuration
|
|
|
|
|
preconfig locales
|
|
|
|
|
preconfig keyboard
|
|
|
|
|
###########################################################
|
|
|
|
|
|
2015-09-09 11:35:57 +02:00
|
|
|
|
###########################################################
|
2015-11-17 17:26:56 +01:00
|
|
|
|
#### Apt configuration
|
2015-09-09 11:35:57 +02:00
|
|
|
|
###########################################################
|
2015-11-17 17:26:56 +01:00
|
|
|
|
##### Pre-configuration
|
|
|
|
|
###### Load pre-seed to automatically restart services after an upgrade
|
2015-09-09 11:35:57 +02:00
|
|
|
|
preconfig restart_no_asking
|
|
|
|
|
|
2015-11-17 17:26:56 +01:00
|
|
|
|
###### apt.conf.d
|
2015-11-11 23:50:59 +01:00
|
|
|
|
cp -f ${script_path}/apt/apt.conf.d/* /etc/apt/apt.conf.d/
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
2015-11-17 17:26:56 +01:00
|
|
|
|
###### sources.list.d
|
2015-09-21 17:41:54 +02:00
|
|
|
|
### Backup initial
|
2015-09-18 17:52:52 +02:00
|
|
|
|
test -f /etc/apt/sources.list && mv /etc/apt/sources.list /etc/apt/sources.list.bkp
|
|
|
|
|
rm -f /etc/apt/sources.list\~
|
2015-09-21 17:41:54 +02:00
|
|
|
|
### Copy all local sources.list files
|
2015-11-03 19:05:32 +01:00
|
|
|
|
cp -f ${script_path}/apt/sources-list.d/* /etc/apt/sources.list.d/
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
2015-11-17 17:26:56 +01:00
|
|
|
|
###### preferences.d
|
2015-09-21 17:41:54 +02:00
|
|
|
|
### Backup initial
|
2015-09-09 11:35:57 +02:00
|
|
|
|
test -f /etc/apt/preferences && mv /etc/apt/preferences /etc/apt/preferences.bkp
|
2015-09-21 17:41:54 +02:00
|
|
|
|
### Copy all local preferences files
|
2015-11-03 19:05:32 +01:00
|
|
|
|
cp -f ${script_path}/apt/preferences.d/* /etc/apt/preferences.d/
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
|
|
|
|
aptitude update
|
2015-09-21 17:41:54 +02:00
|
|
|
|
check_output "Update Debian repositories"
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
2015-11-17 17:26:56 +01:00
|
|
|
|
# Restore the standard output to be sur to be able to install the Debian Multimedia Keyring
|
2015-09-09 11:35:57 +02:00
|
|
|
|
restore_stdout
|
|
|
|
|
restore_stderr
|
|
|
|
|
|
2015-11-17 17:26:56 +01:00
|
|
|
|
##### Add
|
|
|
|
|
ains "Debian Multimedia Repository" deb-multimedia-keyring
|
|
|
|
|
|
|
|
|
|
# Restore the standard output to the default choosen level
|
2015-09-09 11:35:57 +02:00
|
|
|
|
def_debug ${mode_debug}
|
|
|
|
|
|
2015-11-17 17:26:56 +01:00
|
|
|
|
##### Post-Configuration
|
2015-09-09 11:35:57 +02:00
|
|
|
|
aptitude update
|
2015-11-17 17:26:56 +01:00
|
|
|
|
check_output "Update Debian repositories"
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
2015-11-17 17:26:56 +01:00
|
|
|
|
###### Set a variable to ensure to keep old config files when upgrading a package.
|
2015-09-09 11:35:57 +02:00
|
|
|
|
export UCF_FORCE_CONFFOLD=1
|
|
|
|
|
|
2015-11-17 17:26:56 +01:00
|
|
|
|
###### Force a full-upgrade of the system
|
2015-09-09 11:35:57 +02:00
|
|
|
|
aptitude -y full-upgrade
|
2015-11-17 17:26:56 +01:00
|
|
|
|
check_output "Force full-upgrade of the system"
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
|
|
|
|
###########################################################
|
2015-11-16 18:28:54 +01:00
|
|
|
|
#### X11 Server
|
2015-11-16 19:47:30 +01:00
|
|
|
|
##### Pre-configuration
|
2015-09-09 11:35:57 +02:00
|
|
|
|
preconfig x11-common
|
|
|
|
|
|
2015-11-16 19:47:30 +01:00
|
|
|
|
##### Installation
|
2015-11-17 17:07:34 +01:00
|
|
|
|
ains "X11 Server" mesa-utils xorg
|
2015-11-12 02:46:27 +01:00
|
|
|
|
###########################################################
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
|
|
|
|
###########################################################
|
2015-11-16 18:28:54 +01:00
|
|
|
|
#### Graphic Environment
|
2015-11-16 19:47:30 +01:00
|
|
|
|
##### Installation
|
2015-11-22 19:58:14 +01:00
|
|
|
|
ains "Graphic Environment" alsa-utils gtk2-engines-cleanice herbstluftwm i3lock lxappearance nitrogen redshift rofi roxterm scrot suckless-tools terminator wmctrl xautolock xbacklight xclip
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
2015-11-11 21:26:41 +01:00
|
|
|
|
##### Remove
|
|
|
|
|
arem "Purge: Graphic Environment" xscreensaver xscreensaver-data
|
2015-11-22 22:29:26 +01:00
|
|
|
|
|
|
|
|
|
##### Post-Configuration
|
|
|
|
|
# Ensure to have an xautolock launch at boot time
|
|
|
|
|
if [ ! "$(grep 'xautolock' /home/${new_username}/.xinitrc)" ]; then
|
|
|
|
|
cat << EOF >> "/home/${new_username}/.xinitrc"
|
|
|
|
|
xautolock -time 15 -locker 'i3lock --pointer win -d -e -t' &
|
|
|
|
|
EOF
|
|
|
|
|
fi
|
2015-11-12 02:43:34 +01:00
|
|
|
|
###########################################################
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
|
|
|
|
###########################################################
|
2015-11-16 18:28:54 +01:00
|
|
|
|
#### Gnome tools
|
2015-11-16 19:47:30 +01:00
|
|
|
|
##### Installation
|
2015-11-17 17:07:34 +01:00
|
|
|
|
ains "Gnome tools" evince etherape gedit gnome-calculator gparted nemo nemo-fileroller planner
|
2015-11-12 23:49:03 +01:00
|
|
|
|
|
|
|
|
|
##### Remove
|
|
|
|
|
arem "Purge: Gnome tools" eog
|
2015-11-12 04:20:53 +01:00
|
|
|
|
###########################################################
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
|
|
|
|
###########################################################
|
2015-11-16 18:28:54 +01:00
|
|
|
|
#### Dev tools
|
2015-11-16 19:47:30 +01:00
|
|
|
|
##### Installation
|
2015-11-17 17:07:34 +01:00
|
|
|
|
ains "Dev tools" build-essential binutils cpp debconf-utils gcc g++ make
|
2015-11-12 13:35:16 +01:00
|
|
|
|
###########################################################
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
|
|
|
|
###########################################################
|
2015-11-12 15:33:29 +01:00
|
|
|
|
#### Admin tools for cli
|
|
|
|
|
##### Pre-configuration
|
2015-09-09 11:35:57 +02:00
|
|
|
|
preconfig hddtemp
|
|
|
|
|
|
2015-11-12 15:33:29 +01:00
|
|
|
|
##### Installation
|
2015-11-23 14:09:00 +01:00
|
|
|
|
ains "Admin tools for cli" acpitool alien apticron apt-file apt-listbugs apt-rdepends apt-show-source apt-show-versions dctrl-tools debian-goodies dnsutils ethtool git git-svn gpm hddtemp htop ifscheme iperf mlocate mercurial module-assistant ncdu netdiscover netselect-apt nmap ntp parted pastebinit rsyslog sudo sysv-rc-conf tcpdump tree util-linux whois
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
2015-11-12 15:33:29 +01:00
|
|
|
|
##### Post-configuration
|
|
|
|
|
###### apt-file: Synchronize the package contents from their sources.
|
2015-09-09 11:35:57 +02:00
|
|
|
|
apt-file update
|
|
|
|
|
|
2015-11-12 15:33:29 +01:00
|
|
|
|
###### Grub: Modify the default grub timeout
|
|
|
|
|
if [ ! "$(grep "GRUB_TIMEOUT=${grub_timeout}" /etc/default/grub)" ]; then
|
|
|
|
|
sed -i "s/^GRUB_TIMEOUT.*/GRUB_TIMEOUT=${grub_timeout}/" /etc/default/grub
|
|
|
|
|
update-grub
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
###### Mlocate: Update the mlocate database
|
2015-09-09 11:35:57 +02:00
|
|
|
|
updatedb
|
|
|
|
|
|
2015-11-12 15:33:29 +01:00
|
|
|
|
###### Modprobe: Ensure to disable system beep/buzzer
|
|
|
|
|
cp ${script_path}/modprobe.d/blacklist-beep.conf /etc/modprobe.d/
|
|
|
|
|
# Ensure to blacklist dangerous modules (firewire, thunderbolt, …)
|
|
|
|
|
cp ${script_path}/modprobe.d/blacklist-dma.conf /etc/modprobe.d/
|
|
|
|
|
|
2015-11-12 16:12:08 +01:00
|
|
|
|
###### Ntp: Set a better NTP server.
|
|
|
|
|
if [ ! "$(grep "server ${ntp_server}" /etc/ntp.conf)" ]; then
|
|
|
|
|
sed -i "s/^server.*/server ${ntp_server}/g" /etc/ntp.conf
|
|
|
|
|
# Restart NTP service to apply the new server
|
|
|
|
|
systemctl restart ntp
|
|
|
|
|
fi
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
2015-11-12 15:33:29 +01:00
|
|
|
|
###### Rsyslog: Enable Rsyslog in tty9
|
|
|
|
|
sed -i '/#daemon,mail.\*;/{:label;/^$/q;s/^#//;n;s/^#//;t label;}' /etc/rsyslog.conf
|
|
|
|
|
sed -i 's/tty8/tty9/' /etc/rsyslog.conf
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
2015-11-12 15:33:29 +01:00
|
|
|
|
###### Sudo: Add default user to sudo group
|
|
|
|
|
if [ ! "$(grep "^sudo:x:27:.*${new_username}" /etc/group)" ]; then
|
|
|
|
|
adduser ${new_username} sudo
|
|
|
|
|
fi
|
2015-11-23 14:09:00 +01:00
|
|
|
|
|
|
|
|
|
###### Fstrim: Ensure to enable TRIM if a SSD is available.
|
|
|
|
|
# If fstrim is not already enable
|
|
|
|
|
if [ ! "$(grep fstrim /etc/rc.local)" ]; then
|
|
|
|
|
|
|
|
|
|
# For all hdd
|
|
|
|
|
for path_drive in $(find /sys/block/ ! -name "dm-*" -type l);
|
|
|
|
|
do
|
|
|
|
|
IS_SSD=$(grep 0 ${path_drive}/queue/rotational)
|
|
|
|
|
if [ ${IS_SSD} ]; then
|
|
|
|
|
sed -i 's/\(^exit 0\)/# Run TRIM on every mountpath\nfstrim -a\n\n\1/' /etc/rc.local
|
|
|
|
|
fi
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
fi
|
2015-11-12 15:33:29 +01:00
|
|
|
|
###########################################################
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
2015-11-26 15:52:56 +01:00
|
|
|
|
|
|
|
|
|
#########################################################
|
|
|
|
|
#### UEFI tools
|
|
|
|
|
##### Installation
|
|
|
|
|
uefi_add_pkg_list="efibootmgr efivar"
|
|
|
|
|
# If grub-efi is available
|
|
|
|
|
if [ "$(dpkg -l grub-efi)" ]; then
|
|
|
|
|
ains "UEFI tools" efibootmgr efivar
|
|
|
|
|
fi
|
|
|
|
|
#########################################################
|
|
|
|
|
|
2015-09-09 11:35:57 +02:00
|
|
|
|
###########################################################
|
2015-11-16 18:28:54 +01:00
|
|
|
|
#### System tools for cli
|
2015-11-12 21:26:37 +01:00
|
|
|
|
##### Pre-configuration
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
2015-11-12 21:26:37 +01:00
|
|
|
|
##### Installation
|
2015-11-26 12:16:02 +01:00
|
|
|
|
ains "System tools for cli" bsdmainutils colordiff cpio genisoimage keychain knockd lzip moreutils multitail myrepos ntfs-3g openssh-client openvpn physlock screen tmux udisks2 unrar unzip urlview vim-nox vim-doc vim-scripts vlock wakeonlan zsh zip
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
2015-11-12 21:26:37 +01:00
|
|
|
|
##### Remove
|
2015-11-16 15:09:04 +01:00
|
|
|
|
arem "Purge: System tools for cli" bluetooth bluez vim-tiny
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
2015-11-12 21:26:37 +01:00
|
|
|
|
##### Post-configuration
|
|
|
|
|
###### Vim: set vim-nox as default editor.
|
|
|
|
|
update-alternatives --set editor $(command -v vim.nox)
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
2015-11-12 21:26:37 +01:00
|
|
|
|
##### Openvpn: Disable to automatically start
|
|
|
|
|
systemctl disable openvpn.service
|
|
|
|
|
|
|
|
|
|
###### ZSH: set as default shell
|
|
|
|
|
## For root
|
2015-09-09 11:35:57 +02:00
|
|
|
|
chsh -s /bin/zsh
|
2015-11-12 21:26:37 +01:00
|
|
|
|
rm -f ~/.bash*
|
|
|
|
|
## For new_username
|
2015-11-03 12:10:27 +01:00
|
|
|
|
chsh -s /bin/zsh "${new_username}"
|
2015-11-11 21:39:25 +01:00
|
|
|
|
mkdir -p /home/"${new_username}"/.zsh
|
2015-11-03 12:10:27 +01:00
|
|
|
|
chown "${new_username}":"${new_username}" /home/"${new_username}"/.zsh
|
2015-11-12 21:26:37 +01:00
|
|
|
|
## For new users with adduser
|
|
|
|
|
sed -i "s;/bin/bash;/bin/zsh;" /etc/adduser.conf
|
|
|
|
|
###########################################################
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
2015-11-12 23:00:11 +01:00
|
|
|
|
###########################################################
|
|
|
|
|
#### Internet tools for cli
|
|
|
|
|
##### Installation
|
2015-11-27 11:04:21 +01:00
|
|
|
|
ains "Internet tools for cli" axel finch lynx mat postfix weechat-curses
|
2015-11-12 23:00:11 +01:00
|
|
|
|
|
|
|
|
|
##### Post-configuration
|
|
|
|
|
###### Postfix
|
|
|
|
|
# Ensure to forward root's mails to $new_user_mail
|
|
|
|
|
if [ ! "$(grep "root: .*${new_user_mail}" /etc/aliases)" ]; then
|
|
|
|
|
sed -i "s/^root: /root: ${new_user_mail} /" /etc/aliases
|
|
|
|
|
newaliases
|
|
|
|
|
fi
|
2015-11-22 19:13:38 +01:00
|
|
|
|
|
|
|
|
|
# Ensure Postfix only listen on localhost
|
|
|
|
|
if [ -f /etc/postfix/main.cf ] && [ !"$(grep 'inet_interfaces = localhost' /etc/postfix/main.cf)" ]; then
|
|
|
|
|
sed -i 's/\(inet_interfaces\).*/\1 = localhost/' /etc/postfix/main.cf
|
|
|
|
|
systemctl restart postfix
|
|
|
|
|
fi
|
2015-11-12 23:00:11 +01:00
|
|
|
|
###########################################################
|
|
|
|
|
|
2015-11-12 23:24:42 +01:00
|
|
|
|
###########################################################
|
2015-11-16 18:28:54 +01:00
|
|
|
|
#### Internet tools for X11
|
2015-11-16 19:47:30 +01:00
|
|
|
|
##### Installation
|
2016-04-04 16:05:10 +02:00
|
|
|
|
ains "Internet tools for X11" browser-plugin-freshplayer-pepperflash dwb filezilla icedove icedove-l10n-fr iceowl-extension firefox firefox-l10n-fr luakit midori mumble pepperflashplugin-nonfree pidgin pidgin-otr pidgin-microblog rdesktop transmission xvnc4viewer
|
2015-11-12 23:24:42 +01:00
|
|
|
|
|
2015-11-16 19:47:30 +01:00
|
|
|
|
##### Remove
|
2015-11-12 23:24:42 +01:00
|
|
|
|
arem "Purge: Internet tools for X11" flashplugin-nonfree flashplugin-nonfree-extrasound
|
|
|
|
|
|
2015-11-16 19:47:30 +01:00
|
|
|
|
##### Post-configuration
|
2015-11-12 23:24:42 +01:00
|
|
|
|
# Ensure to install last flash version
|
|
|
|
|
update-pepperflashplugin-nonfree --install
|
|
|
|
|
###########################################################
|
|
|
|
|
|
2015-09-09 11:35:57 +02:00
|
|
|
|
###########################################################
|
2015-11-16 19:47:30 +01:00
|
|
|
|
#### Nvidia driver
|
2015-09-09 11:35:57 +02:00
|
|
|
|
if [ "$(lspci | grep -i nvidia)" ]; then
|
2015-11-16 19:47:30 +01:00
|
|
|
|
##### Installation
|
2015-11-17 17:07:34 +01:00
|
|
|
|
ains "Nvidia driver" linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-kernel-dkms nvidia-xconfig
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
2015-11-16 19:47:30 +01:00
|
|
|
|
##### Post-configuration
|
|
|
|
|
## Backup previous xorg.conf file if exists
|
|
|
|
|
if [ -f /etc/X11/xorg.conf ]; then
|
|
|
|
|
mv /etc/X11/xorg.conf{,.bkp}
|
|
|
|
|
fi
|
|
|
|
|
## Run the Nvidia configuration tool
|
2015-09-09 11:35:57 +02:00
|
|
|
|
nvidia-xconfig --no-logo
|
|
|
|
|
fi
|
2015-11-16 19:47:30 +01:00
|
|
|
|
###########################################################
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
|
|
|
|
###########################################################
|
2015-11-16 19:38:31 +01:00
|
|
|
|
#### Wireless driver for BCM43
|
2015-09-09 11:35:57 +02:00
|
|
|
|
## Support : carte wifi BCM43
|
2015-11-16 14:52:54 +01:00
|
|
|
|
## Liste: broadcom-sta-dkms
|
2015-09-09 11:35:57 +02:00
|
|
|
|
if [ "$(lspci | grep -i BCM43)" ]; then
|
2015-11-16 19:38:31 +01:00
|
|
|
|
##### Installation
|
2015-11-17 17:07:34 +01:00
|
|
|
|
ains "Wireless driver for BCM43 " linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') broadcom-sta-dkms
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
|
|
|
|
###### Post-configuration
|
2015-11-16 19:38:31 +01:00
|
|
|
|
# Unload useless modules
|
2015-09-09 11:35:57 +02:00
|
|
|
|
modprobe -r b44 b43 b43legacy ssb brcmsmac
|
2015-11-16 19:38:31 +01:00
|
|
|
|
# Load the 'wl' module
|
2015-09-09 11:35:57 +02:00
|
|
|
|
modprobe wl
|
|
|
|
|
# Vérification du bon fonctionnement avec:
|
|
|
|
|
#iwconfig
|
|
|
|
|
fi
|
2015-11-16 19:38:31 +01:00
|
|
|
|
###########################################################
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
|
|
|
|
###########################################################
|
2015-11-16 18:28:54 +01:00
|
|
|
|
#### Office tools for cli
|
2015-11-16 19:47:30 +01:00
|
|
|
|
##### Pre-configuration
|
2015-10-20 09:19:03 +02:00
|
|
|
|
# Load preseed file
|
2015-09-09 11:35:57 +02:00
|
|
|
|
preconfig cups
|
|
|
|
|
|
2015-11-16 19:47:30 +01:00
|
|
|
|
##### Installation
|
2016-04-08 15:31:11 +02:00
|
|
|
|
ains "Office tools for cli" cups devtodo ghostscript graphviz imagemagick imagemagick-doc odt2txt pdftk poppler-utils texinfo texlive texlive-latex-extra vim-latexsuite xpdf
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
2015-11-16 19:47:30 +01:00
|
|
|
|
##### Remove
|
2015-11-22 19:00:52 +01:00
|
|
|
|
arem "Purge: Office tools for cli" avahi-autopid avahi-daemon cups-browsed libdaemon0 libnss-mdns
|
2015-10-20 09:19:03 +02:00
|
|
|
|
|
2015-11-16 19:47:30 +01:00
|
|
|
|
##### Post-configuration
|
2015-10-20 09:19:03 +02:00
|
|
|
|
# Add the standard user to lpadmin group to be able to manage Cups administration via webgui.
|
2015-11-03 12:10:27 +01:00
|
|
|
|
adduser "${new_username}" lpadmin > /dev/null 2> "${fichier_erreur}"
|
2015-10-20 09:19:03 +02:00
|
|
|
|
# cups needs samba!
|
2015-11-16 18:28:54 +01:00
|
|
|
|
###########################################################
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
|
|
|
|
###########################################################
|
2015-11-16 18:25:11 +01:00
|
|
|
|
#### Office tools for X11
|
2015-11-16 19:47:30 +01:00
|
|
|
|
##### Installation
|
2016-03-16 09:44:10 +01:00
|
|
|
|
ains "Outils bureautique graphique" freeplane gprename key-mon libreoffice libreoffice-l10n-fr libreoffice-help-fr libreoffice-pdfimport fonts-linuxlibertine ttf-ancient-fonts verbiste verbiste-gnome xournal
|
2015-11-16 15:09:04 +01:00
|
|
|
|
###########################################################
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
|
|
|
|
###########################################################
|
2015-11-16 18:25:11 +01:00
|
|
|
|
#### Multimedia tools for cli
|
2015-11-16 19:47:30 +01:00
|
|
|
|
##### Installation
|
2015-11-17 17:07:34 +01:00
|
|
|
|
ains "Multimedia tools for cli" avinfo eyed3 ffmpeg mkvtoolnix moc w32codecs
|
2015-11-16 18:13:05 +01:00
|
|
|
|
###########################################################
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
|
|
|
|
###########################################################
|
2015-11-16 18:25:11 +01:00
|
|
|
|
#### Multimedia tools for X11
|
2015-11-16 19:47:30 +01:00
|
|
|
|
##### Installation
|
2015-11-23 12:13:25 +01:00
|
|
|
|
ains "Multimedia tools for X11" audacity easytag gimp gpicview inkscape mirage mkvtoolnix-gui smplayer rhythmbox vlc
|
2015-11-16 18:25:11 +01:00
|
|
|
|
###########################################################
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
|
|
|
|
###########################################################
|
2015-11-16 18:28:54 +01:00
|
|
|
|
#### Games
|
2015-11-16 19:47:30 +01:00
|
|
|
|
##### Installation
|
2015-11-17 17:07:34 +01:00
|
|
|
|
ains "Games" teeworlds teeworlds-server
|
2015-11-16 14:55:44 +01:00
|
|
|
|
###########################################################
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
|
|
|
|
###########################################################
|
2015-11-16 18:28:54 +01:00
|
|
|
|
#### Network share
|
2015-11-16 19:47:30 +01:00
|
|
|
|
##### Installation
|
2015-11-17 17:07:34 +01:00
|
|
|
|
ains "Network share" nfs-common
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
2015-11-16 19:47:30 +01:00
|
|
|
|
##### Remove
|
2015-11-13 00:20:31 +01:00
|
|
|
|
arem "Purge: Network share" nfs-kernel-server samba
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
2015-11-16 19:47:30 +01:00
|
|
|
|
##### Post-configuration
|
2015-11-13 00:20:31 +01:00
|
|
|
|
#### If nfs-kernel-server and samba are need or vital for the system, disable them anyway
|
|
|
|
|
# Disable samba service if available by default
|
|
|
|
|
if [ $(command -v samba) ]; then
|
|
|
|
|
systemctl disable nmbd.service
|
|
|
|
|
systemctl disable smbd.service
|
|
|
|
|
systemctl disable samba.service
|
|
|
|
|
fi
|
|
|
|
|
# Disable nfs-kernel-server service if available by default
|
|
|
|
|
if [ $(command -v nfsdcltrack) ]; then
|
|
|
|
|
systemctl disable nfs-kernel-server.service
|
|
|
|
|
fi
|
|
|
|
|
###########################################################
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
2015-11-16 14:52:54 +01:00
|
|
|
|
###########################################################
|
|
|
|
|
#### Wireless tools for cli
|
|
|
|
|
if [ "$(lspci | grep -i wireless)" ]; then
|
|
|
|
|
##### Installation
|
2015-11-17 17:07:34 +01:00
|
|
|
|
ains "Wireless tools for cli" ifscheme wireless-tools wpasupplicant
|
2015-11-16 14:52:54 +01:00
|
|
|
|
fi
|
|
|
|
|
###########################################################
|
|
|
|
|
|
2015-11-18 23:39:42 +01:00
|
|
|
|
###########################################################
|
|
|
|
|
#### Wireless tools for X11
|
|
|
|
|
if [ "$(lspci | grep -i wireless)" ]; then
|
|
|
|
|
##### Installation
|
|
|
|
|
ains "Wireless tools for X11" wpagui
|
|
|
|
|
fi
|
|
|
|
|
###########################################################
|
|
|
|
|
|
2015-11-13 00:20:31 +01:00
|
|
|
|
###########################################################
|
|
|
|
|
#### Miscellaneous useless packages
|
|
|
|
|
##### Installation
|
2015-11-25 22:48:33 +01:00
|
|
|
|
ains "Miscellaneous useless packages" asr-manpages cmatrix cmatrix-xfont cowsay cowsay-off fortunes fortunes-bofh-excuses fortunes-debian-hints fortunes-fr fortunes-off funny-manpages linuxlogo sl
|
2015-11-13 00:20:31 +01:00
|
|
|
|
###########################################################
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
|
|
|
|
###########################################################
|
2015-11-16 18:28:54 +01:00
|
|
|
|
#### Manpages / Documentation
|
2015-11-16 19:47:30 +01:00
|
|
|
|
##### Installation
|
2015-11-17 17:07:34 +01:00
|
|
|
|
ains "Manpages" aptitude-doc-fr info manpages-fr manpages-fr-dev manpages-fr-extra
|
2015-11-12 23:42:40 +01:00
|
|
|
|
###########################################################
|
2015-09-09 11:35:57 +02:00
|
|
|
|
|
|
|
|
|
# Restauration des sorties standard
|
|
|
|
|
restore_stdout
|
|
|
|
|
restore_stderr
|
|
|
|
|
|
|
|
|
|
# Supprime le fichier d'erreur si il est vide
|
|
|
|
|
[ -s ${fichier_erreur} ] && echo "Fichier erreur non vide" || rm ${fichier_erreur}
|
|
|
|
|
# Supprime le fichier d'log si il est vide
|
|
|
|
|
[ -s ${fichier_log} ] && echo "Fichier log non vide" || rm ${fichier_log}
|
|
|
|
|
|
|
|
|
|
exit 0
|
|
|
|
|
# Fin de la boucle principale
|
|
|
|
|
# -----------------------------------------------------------
|
|
|
|
|
# **********************************************************************************************
|