apt commands no longer hardcoded, moved includes, main program improvement, some cleanup
This commit is contained in:
20
conf/includes/debian.conf.sh
Normal file
20
conf/includes/debian.conf.sh
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
# Configuration propre à Debian
|
||||||
|
|
||||||
|
# Conf gestionnaire de paquet
|
||||||
|
export PKG_MAN="apt-get"
|
||||||
|
export COM_INSTALL="install -y"
|
||||||
|
export COM_UPDATE="update"
|
||||||
|
export COM_UPGRADE="full-upgrade -y"
|
||||||
|
export COM_REMOVE="remove --purge -y"
|
||||||
|
export COM_AUTOREM="autoremove --purge -y"
|
||||||
|
|
||||||
|
# Conf chemin
|
||||||
|
export RC_SCRIPTS_PATH="/etc/init.d"
|
||||||
|
|
||||||
|
# Conf init
|
||||||
|
# Init SystemV ou OpenRC:
|
||||||
|
#export INIT_COM="/etc/init.d/%srv% %comm%"
|
||||||
|
# Init Systemd:
|
||||||
|
#export INIT_COM="systemctl %comm% %srv%"
|
||||||
|
# Init Upstart (plus ou moins universel)
|
||||||
|
export INIT_COM="service %srv% %comm%"
|
||||||
@@ -2,11 +2,13 @@
|
|||||||
export MAINDOM="legos.obs-mip.fr"
|
export MAINDOM="legos.obs-mip.fr"
|
||||||
|
|
||||||
# Proxy LEGOS
|
# Proxy LEGOS
|
||||||
|
export PROXYAPT="acng.legos.obs-mip.fr"
|
||||||
|
export PROXYAPTPORT="3142"
|
||||||
export PROXYSRV="proxy.legos.obs-mip.fr"
|
export PROXYSRV="proxy.legos.obs-mip.fr"
|
||||||
export PROXYPORT="3128"
|
export PROXYSRVPORT="3128"
|
||||||
|
|
||||||
# Paquets à enlever après installation
|
# Paquets à enlever après installation
|
||||||
export RMLIST="apparmor chafa laptop-detect resolvconf"
|
export RMLIST="apparmor laptop-detect resolvconf"
|
||||||
export APTBLACKLIST="apparmor chafa resolvconf"
|
export APTBLACKLIST="apparmor chafa resolvconf"
|
||||||
|
|
||||||
# Langues supportés
|
# Langues supportés
|
||||||
@@ -1,7 +1,14 @@
|
|||||||
. conf/includes/legos.conf.sh
|
# Fichier de configuration principal
|
||||||
|
|
||||||
# Utilisateur de la machine
|
# Importe les paramètres spécifiques LEGOS
|
||||||
export MAINUSER="levasseu"
|
. $MYPATH/conf/includes/legos.conf.sh
|
||||||
|
|
||||||
|
# Importe les paramètres pour Debian
|
||||||
|
. $MYPATH/conf/includes/debian.conf.sh
|
||||||
|
|
||||||
|
# -------------- Section générale ---------------
|
||||||
|
# Utilisateur de la machine (celui qui sera renseigné dans l'installeur Ubuntu)
|
||||||
|
export MAINUSER="levasseur"
|
||||||
|
|
||||||
# Interface réseau principale
|
# Interface réseau principale
|
||||||
export MAINIF="eth0"
|
export MAINIF="eth0"
|
||||||
@@ -9,7 +16,16 @@ export MAINIF="eth0"
|
|||||||
# Booléen indiquant une ou plusieurs futures VM
|
# Booléen indiquant une ou plusieurs futures VM
|
||||||
export WITH_VM="true"
|
export WITH_VM="true"
|
||||||
|
|
||||||
|
# Indique la déclinaison d'Ubuntu à installer
|
||||||
|
# * xubuntu : bureau XFCE léger (par défaut)
|
||||||
|
# * ubuntu : bureau Gnome lourd, très peu configurable
|
||||||
|
# * kubuntu : bureau KDE lourd, très configurable
|
||||||
|
# * ubuntu-mate : bureau Mate intermédiaire légèrement configurable
|
||||||
|
# * lubuntu : bureau LXQT très léger
|
||||||
|
export UBUNTU_FLAVOR=xubuntu
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
|
# -------------- Section disque de calcul ---------------
|
||||||
# Niveau ZFS : mirror (RAID1), raidz1 (RAID5), raidz2 (RAID6)
|
# Niveau ZFS : mirror (RAID1), raidz1 (RAID5), raidz2 (RAID6)
|
||||||
# Laisser vide pour RAID0
|
# Laisser vide pour RAID0
|
||||||
export CALCLEVEL=""
|
export CALCLEVEL=""
|
||||||
@@ -22,5 +38,6 @@ export CALCDRV="/dev/disk/by-id/xxxxx"
|
|||||||
export FORCEBLANK="no"
|
export FORCEBLANK="no"
|
||||||
|
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
|
# -------------- Section modules d'init ---------------
|
||||||
export MODULE_LIST="upgrade_dist conf_disks conf_locale conf_ntp"
|
export MODULE_LIST="upgrade_dist conf_disks conf_locale conf_ntp conf_ssh \
|
||||||
|
install_desktop install_pkg"
|
||||||
|
|||||||
12
init.sh
12
init.sh
@@ -1,4 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
# Init : initialise une machine et la met en conformité
|
||||||
|
# Copyright (c) 2021 Geoffray Levasseur <geoffray.levasseur@obs-mip.fr>
|
||||||
|
|
||||||
# Remember the running path
|
# Remember the running path
|
||||||
MYPATH=$(dirname $0)
|
MYPATH=$(dirname $0)
|
||||||
@@ -10,7 +12,15 @@ done
|
|||||||
|
|
||||||
# Important global variables
|
# Important global variables
|
||||||
export HOSTNAME=$(hostname)
|
export HOSTNAME=$(hostname)
|
||||||
export LOGFILE=${LOGFILE:-"/var/log/$(uname -n)-$(stdtime).log"}
|
export LOGFILE=${LOGFILE:-"/root/init-$(uname -n)-$(stdtime).log"}
|
||||||
|
|
||||||
|
# Log toute les sortie dans le fichier de log
|
||||||
|
exec 3>&1 4>&2
|
||||||
|
trap 'exec 2>&4 1>&3' 0 1 2 3
|
||||||
|
exec 1>$LOGFILE 2>&1
|
||||||
|
|
||||||
|
# Récupère la configuration
|
||||||
|
. $MYPATH/conf/init.conf.sh
|
||||||
|
|
||||||
# Authentication
|
# Authentication
|
||||||
#authnz()
|
#authnz()
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Some display functions and defines color codes
|
# Some display functions and defines color codes
|
||||||
# (standard 16 colors display)
|
|
||||||
|
|
||||||
|
# Standard 16 colors display declaration
|
||||||
DEFAULTFG="\e[0;39m"
|
DEFAULTFG="\e[0;39m"
|
||||||
DEFAULTBG="\e[0;49m"
|
DEFAULTBG="\e[0;49m"
|
||||||
DEFAULTCOL=${DEFAULTBG}${DEFAULTFG}
|
DEFAULTCOL=${DEFAULTBG}${DEFAULTFG}
|
||||||
|
|||||||
43
lib/pkgman.sh
Normal file
43
lib/pkgman.sh
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
# Fonctions de gestion de paquets
|
||||||
|
|
||||||
|
# Mise à jour de la base de donnée
|
||||||
|
pkgupdt()
|
||||||
|
{
|
||||||
|
prnt I "Mise à jour de la liste des paquets..."
|
||||||
|
$PKG_MAN $COM_UPDATE $@
|
||||||
|
}
|
||||||
|
export -f pkgupdt
|
||||||
|
|
||||||
|
# Installation
|
||||||
|
pkginst()
|
||||||
|
{
|
||||||
|
prnt I "Installation de paquets..."
|
||||||
|
[[ $# -lt 1 ]] && prnt E "pkginst(): des paramètres sont requis." && exit 11
|
||||||
|
$PKG_MAN $COM_INSTALL $@
|
||||||
|
}
|
||||||
|
export -f pkginst
|
||||||
|
|
||||||
|
# Mise à jour
|
||||||
|
pkgupgd()
|
||||||
|
{
|
||||||
|
prnt I "Application de la mise à jours du système..."
|
||||||
|
$PKG_MAN $COM_UPGRADE $@
|
||||||
|
}
|
||||||
|
export -f pkgupgd
|
||||||
|
|
||||||
|
# Désinstallation
|
||||||
|
pkgrem()
|
||||||
|
{
|
||||||
|
prnt I "Désinstallation de paquets..."
|
||||||
|
[[ $# -lt 1 ]] && prnt E "pkgrem(): des paramètres sont requis." && exit 11
|
||||||
|
$PKG_MAN $COM_REMOVE $@
|
||||||
|
}
|
||||||
|
export -f pkgrem
|
||||||
|
|
||||||
|
# Désinstallation du superflu
|
||||||
|
pkgautorem()
|
||||||
|
{
|
||||||
|
prnt I "Désinstallation de paquets superflus..."
|
||||||
|
$PKG_MAN $COM_AUTOREM $@
|
||||||
|
}
|
||||||
|
export -f pkgautorem
|
||||||
@@ -11,7 +11,7 @@ conf_zfs()
|
|||||||
mkdir -pv /calcul/$HOSTNAME
|
mkdir -pv /calcul/$HOSTNAME
|
||||||
|
|
||||||
# Installation de ZFS
|
# Installation de ZFS
|
||||||
apt -y install zfsutils-linux
|
pkginst zfsutils-linux
|
||||||
|
|
||||||
# Chargement du module et vérification
|
# Chargement du module et vérification
|
||||||
modprobe zfs || (
|
modprobe zfs || (
|
||||||
@@ -64,7 +64,7 @@ conf_ext4()
|
|||||||
conf_xfs()
|
conf_xfs()
|
||||||
{
|
{
|
||||||
prnt I "Installation des outils XFS..."
|
prnt I "Installation des outils XFS..."
|
||||||
apt install -y xfsprogs
|
pkginst xfsprogs
|
||||||
mkpart
|
mkpart
|
||||||
# A finir
|
# A finir
|
||||||
}
|
}
|
||||||
@@ -81,7 +81,7 @@ conf_disk()
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
prnt I "Installation des outils de partitionnement..."
|
prnt I "Installation des outils de partitionnement..."
|
||||||
apt install -y parted
|
pkginst parted
|
||||||
|
|
||||||
conf_$CALCTYPE && (
|
conf_$CALCTYPE && (
|
||||||
prnt I "Attribution des droits sur le disque de calcul."
|
prnt I "Attribution des droits sur le disque de calcul."
|
||||||
|
|||||||
@@ -1,14 +1,12 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Module mise à jour de la distribution
|
# Module mise à jour de la distribution
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
upgrade_dist()
|
upgrade_dist()
|
||||||
{
|
{
|
||||||
local proxyfile=/etc/apt/apt.conf.d/00proxy
|
local proxyfile=/etc/apt/apt.conf.d/00proxy
|
||||||
|
|
||||||
prnt I "Configuration du proxy pour APT..."
|
prnt I "Configuration du proxy pour APT..."
|
||||||
if [[ $PROXYSRV ]]; then
|
if [[ $PROXYAPT ]]; then
|
||||||
if [[ ! -d $(basedir $proxyfile) ]]; then
|
if [[ ! -d $(basedir $proxyfile) ]]; then
|
||||||
mkdir -pv /etc/apt/apt.conf.d || (
|
mkdir -pv /etc/apt/apt.conf.d || (
|
||||||
prnt E "Impossiblle de créer le répertoire d'accueil pour la configuration d'APT."
|
prnt E "Impossiblle de créer le répertoire d'accueil pour la configuration d'APT."
|
||||||
@@ -16,20 +14,20 @@ upgrade_dist()
|
|||||||
)
|
)
|
||||||
fi
|
fi
|
||||||
backupdist $proxyfile
|
backupdist $proxyfile
|
||||||
echo "# Generated automatically on $(date $DATEFORMAT) by $0" > $proxyfile
|
echo "# Generated automatically on $(stdtime) by $0" > $proxyfile
|
||||||
echo "Acquire::http::Proxy \"http://${PROXYSRV}:${PROXYPORT}\";" >> $proxyfile
|
echo "Acquire::http::Proxy \"http://${PROXYAPT}:${PROXYAPTPORT}\";" >> $proxyfile
|
||||||
else
|
else
|
||||||
prnt I "Pas de proxy configuré, ne fait rien."
|
prnt I "Pas de proxy configuré, ne fait rien."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
prnt I "Mise à jour de la liste des paquets..."
|
prnt I "Mise à jour de la liste des paquets..."
|
||||||
apt-get update
|
pkgupdt
|
||||||
prnt I "Application des mises à jour de paquets..."
|
prnt I "Application des mises à jour de paquets..."
|
||||||
apt-get upgrade -y
|
pkgupdg
|
||||||
prnt I "Suppression de paquets indésirables..."
|
prnt I "Suppression de paquets indésirables..."
|
||||||
apt-get remove --purge -y $RMLIST
|
pkgrem $RMLIST
|
||||||
prnt I "Suppression des paquets résiduels..."
|
prnt I "Suppression des paquets résiduels..."
|
||||||
apt autoremove --purge -y
|
pkgautorem
|
||||||
}
|
}
|
||||||
|
|
||||||
precheck_upgrade_dist()
|
precheck_upgrade_dist()
|
||||||
@@ -40,8 +38,8 @@ precheck_upgrade_dist()
|
|||||||
prnt E "Réseau non fonctionnel ! Abandon."
|
prnt E "Réseau non fonctionnel ! Abandon."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
if [[ $PROXYSRV ]]; then
|
if [[ $PROXYAPT ]]; then
|
||||||
[[ ! $PROXYPORT ]] && (
|
[[ ! $PROXYAPTPORT ]] && (
|
||||||
prnt E "Un serveur proxy a été spécifié mais pas son port d'usage."
|
prnt E "Un serveur proxy a été spécifié mais pas son port d'usage."
|
||||||
exit 1
|
exit 1
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user