Configuration post-installation d'un conteneur LXC Ubuntu 20.04
Environnement
L'environnement est fourni à titre indicatif afin d'identifier d'éventuelles divergences de résultats en cas d'utilisation du script dans un environnement proche mais néanmoins différent.
- Hyperviseur Proxmox 7
- Conteneur LXC Ubuntu 20.04
Description
Ce script effectue les modifications suivantes :
- Paramétrage des locales
- Paramétrage du fuseau horaire
- Mise à jour du système et des logiciels
- Installation de divers logiciels d'administration système et réseau
- Application automatique des mises à jour de sécurité
- Activation de l'autocomplétion du compte root
- Nettoyage des paquets inutiles
/!\ Dans l'ensemble du script, modifier la valeur email@domaine.lan par l'adresse email de votre choix
1. Paramétrage des locales et du fuseau horaire
#! /bin/bash
# ubuntu20.04-container-lxc-postinstall-light.sh
# Script de configuration d'un container LXC Proxmox Ubuntu 20.04
# Parametrage des locales
# Parametrage du fuseau horaire
# Mise a jour du système et des logiciels
# Installation de divers logiciels d'administration systeme et reseau
# Application automatique des mises à jour de securite
# Activation de l'autocompletion du compte root
# Nettoyage des paquets inutiles
# update 2019-01-14 : config /etc/apt/apt.conf.d/50unattended-upgrades
# update 2019-03-10 : auto-completion root
# update 2022-01-04 : adaptation a Ubuntu 20.04
echo "###############################################################################"
echo "locales & time"
echo "###############################################################################"
dpkg-reconfigure locales
dpkg-reconfigure tzdata
2. Mise à jour du système et installation des logiciels de base
echo "###############################################################################"
echo "Update"
echo "###############################################################################"
apt update
apt -y dist-upgrade
apt install -y iotop most ncdu vfu iptraf iftop htop tree sysstat mc lshw net-tools locate
3. Installation quotidienne des mises à jour de sécurité
apt install -y unattended-upgrades
echo "###############################################################################"
echo "Installation quotidienne des mises à jour de securite"
echo "###############################################################################"
cp -p /etc/apt/apt.conf.d/50unattended-upgrades /etc/apt/apt.conf.d/50unattended-upgrades.bak
sed -i 's,//Unattended-Upgrade::AutoFixInterruptedDpkg "true";,Unattended-Upgrade::AutoFixInterruptedDpkg "true";,' /etc/apt/apt.conf.d/50unattended-upgrades
sed -i 's,//Unattended-Upgrade::MinimalSteps "true";,Unattended-Upgrade::MinimalSteps "true";,' /etc/apt/apt.conf.d/50unattended-upgrades
sed -i 's,//Unattended-Upgrade::Mail "";,Unattended-Upgrade::Mail "email@domaine.lan";,' /etc/apt/apt.conf.d/50unattended-upgrades
sed -i 's,//Unattended-Upgrade::MailReport "on-change";,Unattended-Upgrade::MailReport "on-change";,' /etc/apt/apt.conf.d/50unattended-upgrades
sed -i 's,//Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";,Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";,' /etc/apt/apt.conf.d/50unattended-upgrades
sed -i 's,//Unattended-Upgrade::Remove-New-Unused-Dependencies "true";,Unattended-Upgrade::Remove-New-Unused-Dependencies "true";,' /etc/apt/apt.conf.d/50unattended-upgrades
sed -i 's,//Unattended-Upgrade::Remove-Unused-Dependencies "false";,Unattended-Upgrade::Remove-Unused-Dependencies "true";,' /etc/apt/apt.conf.d/50unattended-upgrades
echo 'APT::Periodic::Download-Upgradeable-Packages "1";' >> /etc/apt/apt.conf.d/20auto-upgrades
echo 'APT::Periodic::AutocleanInterval "7";' >> /etc/apt/apt.conf.d/20auto-upgrades
apt install apticron -y
cp -p /usr/lib/apticron/apticron.conf /etc/apticron/apticron.conf
sed -i 's/EMAIL="root"/EMAIL="email@domaine.lan"/' /etc/apticron/apticron.conf
4. Auto-completion root
echo "if [ -f /etc/bash_completion ] && ! shopt -oq posix; then" >> /root/.bashrc
echo " . /etc/bash_completion" >> /root/.bashrc
echo "fi" >> /root/.bashrc
5. Nettoyage
echo "###############################################################################"
echo "Nettoyage"
echo "###############################################################################"
apt clean
apt autoclean
apt autoremove