system_administration:automation:post_installation_os

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
system_administration:automation:post_installation_os [2022/09/18 11:09] – removed - external edit (Unknown date) 127.0.0.1system_administration:automation:post_installation_os [2022/09/18 15:27] (current) madjid
Line 1: Line 1:
 +====== Post installation Debian ======
 +===== Mise à jour des dépôts =====
 +Mettre à jour ''/etc/apt/sources.list'' pour la distribution debian 10 « Buster » avec les liens ci dessous :
 +
 +<file>
 +# Debian Buster, dépôt principal + paquets non libres
 +deb http://deb.debian.org/debian/ buster main contrib non-free
 +deb-src http://deb.debian.org/debian/ buster main contrib non-free
 +
 +# Debian Buster, mises à jour de sécurité + paquets non libres
 +deb http://deb.debian.org/debian-security/ buster/updates main contrib non-free
 +deb-src http://deb.debian.org/debian-security/ buster/updates main contrib non-free
 +
 +# Debian Buster, mises à jour "volatiles" + paquets non libres
 +deb http://deb.debian.org/debian/ buster-updates main contrib non-free
 +deb-src http://deb.debian.org/debian/ buster-updates main contrib non-free
 +</file>
 +
 +===== Comunication avec le cache APT =====
 +
 +Créer ''/etc/apt/apt.conf.d/01proxy'' et remplir avec le contenu suivant:
 +
 +<file>
 +Aquire::http::Proxy-Auto-Detect "/etc/apt/igpro_detect_proxy.sh";
 +Aquire::https::Proxy DIRECT;
 +</file>
 +
 +Créer ''/etc/apt/igpro_detect_proxy.sh'' et remplir avec le contenu suivant:
 +
 +<file>
 +#!/bin/bash
 +nc -zw1 192.168.1.10 3142 && echo http://192.168.1.10:3142 || echo DIRECT
 +</file>
 +
 +===== Mise à jour de la distribution =====
 +
 +Lancer la commande suivante:
 +
 +<cli>
 +# apt upgrade
 +</cli>
 +
 +Mettre à jour ''/etc/apt/sources.list'' pour la distribution debian 11 « Bullseye » avec les liens ci dessous :
 +
 +<file>
 +# Debian Bullseye, dépôt principal + paquets non libres
 +deb http://deb.debian.org/debian/ bullseye main contrib non-free
 +deb-src http://deb.debian.org/debian/ bullseye main contrib non-free
 +
 +# Debian Bullseye, mises à jour de sécurité + paquets non libres
 +deb http://deb.debian.org/debian-security/ bullseye-security main contrib non-free
 +deb-src http://deb.debian.org/debian-security/ bullseye-security main contrib non-free
 +
 +# Debian Bullseye, mises à jour "volatiles" + paquets non libres
 +deb http://deb.debian.org/debian/ bullseye-updates main contrib non-free
 +deb-src http://deb.debian.org/debian/ bullseye-updates main contrib non-free
 +</file>
 +
 +Lancer les commandes suivante:
 +
 +<cli>
 +# apt update
 +# apt full-upgrade
 +</cli>
 +
 +===== Installation du serveur SSH =====
 +
 +Lancer la commande suivante:
 +
 +<cli>
 +# apt install openssh-server
 +</cli>
 +
 +===== Ajouter l'utilisateur principale au groupe Sudo =====
 +
 +Ajouter la commande suivante:
 +
 +<cli>
 +# usermod -aG sudo sysadm
 +</cli>
 +
 +ou
 +
 +<cli>
 +# adduser sysadm sudo
 +</cli>
 +
 +===== Ajouter sa clé publique à authorized_keys =====
 +
 +Depuis la machine à partir de laquelle on souhaite se connecter
 +
 +<cli>
 +ssh-copy-id sysadm@ip-machine
 +</cli>
 +
 +===== Sécuriser le serveur SSH =====
 +
 +Sur le fichier '' /etc/ssh/sshd_config'' :
 +
 +<file>
 +# Changer à no pour désactiver l'authentification avec password
 +# PasswordAuthentication no
 +</file>
 +
 +Recharger la nouvele configuration:
 +
 +<cli>
 +# systemctl reload ssh
 +</cli>
 +
 +===== Installer Docker et Docker-Compose =====
 +
 +Installer les prérequis:
 +
 +<cli>
 +# apt-get update
 +# apt-get install \
 +    ca-certificates \
 +    curl \
 +    gnupg \
 +    lsb-release
 +
 +</cli>
 +
 +Ajouter la clé GPG officielle de Docker :
 +
 +<cli>
 +# mkdir -p /etc/apt/keyrings
 +# curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
 +</cli>
 +
 +Utilisez la commande suivante pour configurer le dépôt :
 +
 +<cli>
 +# echo \
 +  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
 +  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
 +</cli>
 +
 +Lancer l'installation avec les commandes suivantes:
 +
 +<cli>
 +# apt-get update
 +# apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
 +</cli>
 +
 +Ajouter l'utilisateur au groupe docker
 +
 +<cli>
 +# adduser sysadm docker
 +</cli>
 +
 +===== Installer .dotfiles =====
 +
 +Cloner le dépôt .dotfiles :
 +
 +<cli>
 +$ git clone git@git.elosys.net:sys/dotfiles.git .dotfiles
 +</cli>
 +
 +Lancer le script ''~/.dotfiles/install.sh'':
 +
 +<cli>
 +$ cd .dotfiles
 +$ . install.sh
 +</cli>
 +
 +===== Cloner le dépôt dev.services =====
 +
 +<cli>
 +$ git clone git@git.elosys.net:sys/dev.services.git
 +</cli>
 +
 +===== Installer quelques outils nécessaires =====
 +
 +<cli>
 +# apt install ccze vim tmux
 +</cli>
 +
 +
 +===== Script pour post installation OS =====
 +
 +<file bash init_dev.sh>
 +#!/bin/bash -X
 +DISTRIB=bullseye
 +APT_REQ="netcat"
 +APT_UTILS="git vim tmux ccze curl"
 +MYUSER=$USER
 +
 +
 +# echo "####### installing apt SUDO #######"
 +# su -
 +# adduser $MYUSER sudo
 +
 +
 +# echo "####### adding $USER to group sudo #######"
 +# sudo usermod -aG sudo $USER
 +
 +echo "####### Installing: ${APT_REQ} #######"
 +sudo apt-get update && sudo apt-get install -y $APT_REQ
 +
 +echo "##### Setup APT proxy detect ######"
 +
 +if [ ! -f /etc/apt/igpro_detect_proxy.sh ] ; then
 +   DETECT_PROXY#"#!/bin/bash
 +nc -zw1 192.168.1.10 3142 && echo http://192.168.1.10:3142 || echo DIRECT
 +"
 +   cat <<EOF | sudo tee /etc/apt/igpro_detect_proxy.sh
 +$DETECT_PROXY
 +EOF
 +   sudo chmod +x /etc/apt/igpro_detect_proxy.sh
 +
 +   PROXY#'Acquire::http::Proxy-Auto-Detect "/etc/apt/igpro_detect_proxy.sh";
 +Aquire::https::Proxy DIRECT;'
 +   cat <<EOF | sudo tee /etc/apt/apt.conf.d/01proxy
 +$PROXY
 +EOF
 +fi
 +
 +echo "##### updating /etc/appt/sources.list ######"
 +
 +SOURCE_LIST#"deb http://deb.debian.org/debian/ ${DISTRIB} main contrib non-free
 +deb-src http://deb.debian.org/debian/ ${DISTRIB} main contrib non-free
 +
 +deb http://deb.debian.org/debian-security/ ${DISTRIB}-security main contrib non-free
 +deb-src http://deb.debian.org/debian-security/ ${DISTRIB}-security main contrib non-free
 +
 +deb http://deb.debian.org/debian/ ${DISTRIB}-updates main contrib non-free
 +deb-src http://deb.debian.org/debian/ ${DISTRIB}-updates main contrib non-free
 +"
 +sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
 +cat <<EOF | sudo tee /etc/apt/sources.list
 +$SOURCE_LIST
 +EOF
 +
 +echo "####### updating system ######"
 +sudo apt update
 +echo "####### full-upgrading system #######"
 +sudo apt upgrade -y
 +
 +echo "##### Installing netcat & some dependencices ######"
 +
 +echo "####### Installing: ${APT_UTILS} #######"
 +sudo apt-get update && sudo apt-get install -y $APT_UTILS
 +
 +
 +echo "####### installing: openssh-server #######"
 +sudo apt install openssh-server -y
 +
 +
 +echo "####### securiser le serveur SSH ########"
 +sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
 +
 +echo "###### Preparing to install Docker & Docker-Compose ######"
 +sudo apt-get install ca-certificates gnupg lsb-release -y
 +
 +echo "###### Adding official GPG key to Docker ######"
 +if [ ! -d /etc/apt/keyrings ] ; then
 +    sudo mkdir -p /etc/apt/keyrings
 +    sudo curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
 +fi
 +
 +echo "###### Configure repository ######"
 +echo \
 +  "deb [arch#$(dpkg --print-architecture) signed-by#/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
 +  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
 +
 +echo "###### Installing Docker & Docker-Compose ######"
 +sudo apt update
 +sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y
 +
 +echo "###### Adding $USER to docker ######"
 +sudo adduser $USER docker
 +
 +echo "###### Installing .dotfiles ######"
 +git clone git@git.elosys.net:sys/dotfiles.git .dotfiles
 +cd .dotfiles$
 +. install.sh
 +cd ..
 +
 +echo "###### Pulling dev.services  ######"
 +git clone git@git.elosys.net:sys/dev.services.git
 +
 +</file>