Configuration post-installation d'un container Ubuntu 18.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 5
  • Conteneur LXC Ubuntu 18.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

Script

#! /bin/bash
# ubuntu18.04-container-lxc-postinstall-light.sh
# Script de configuration d'un container LXC Proxmox Ubuntu 18.04.2

# 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

# update 2019-01-14 : config /etc/apt/apt.conf.d/50unattended-upgrades
# update 2019-03-10 : auto-completion root

# 1. locales & time

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 open-vm-tools dkms build-essential lshw net-tools unattended-upgrades

# 3. Installation quotidienne des mises à jour de sécurité

echo "###############################################################################"
echo "Installation quotidienne des mises à jour de sécurité"
echo "###############################################################################"

cp -p /etc/apt/apt.conf.d/50unattended-upgrades /etc/apt/apt.conf.d/50unattended-upgrades.bak

sed -i 's,//Unattended-Upgrade::AutoFixInterruptedDpkg "false";,Unattended-Upgrade::AutoFixInterruptedDpkg "true";,' /etc/apt/apt.conf.d/50unattended-upgrades
sed -i 's,//Unattended-Upgrade::MinimalSteps "false";,Unattended-Upgrade::MinimalSteps "true";,' /etc/apt/apt.conf.d/50unattended-upgrades
sed -i 's,//Unattended-Upgrade::Mail "root";,Unattended-Upgrade::Mail "email@domaine.lan";,' /etc/apt/apt.conf.d/50unattended-upgrades
sed -i 's,//Unattended-Upgrade::MailOnlyOnError "true";,Unattended-Upgrade::MailOnlyOnError "true";,' /etc/apt/apt.conf.d/50unattended-upgrades
sed -i 's,//Unattended-Upgrade::Remove-Unused-Kernel-Packages "false";,Unattended-Upgrade::Remove-Unused-Kernel-Packages "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