"Debian minimaliste"

Je suppose que vous avez déjà installé Debian, mais avez vous déjà installé un Debian minimal ? Celui où vous partez d'un chroot dans une base sans init, bootloader ou kernel. L'intérêt ? Avoir uniquement les paquets qui nous plaisent, on ne veux pas de systemd pas de soucis (systemd reste pas mal complexe à enlever). Le système devient donc extrêmement Léger.

Comment s'y prendre ?

Pré requis :

Pour commencer prenez un live CD ou vous savez installer debootstrap (celui de GNU/Linux Mint par exemple).

Partitionnement :

Pour le partitionnement je vais présenter un schema très simple, une partition EFI et une partition root mais vous pouvez facilement adapter pour par exemple utiliser du LVM ou bien chiffrer via Luks (l'initramfs dois être généré en conséquence).

Pour ce faire on peux utiliser cfdisk avec comme option le disque ou vous installez, par exemple /dev/sda. L'outil va probablement vous demander de créé une table de partition vu que vous êtes en EFI utilisez du GPT, si le disque viens d'être initialisé vous aurez un écran avec votre espace libre et différentes options, créez via le bouton create une premiere partition de 100Mo (100M) si il vous a sélectionnez la partition créé sélectionnez à nouveau l'espace vide pour créé une partition avec l'espace restant puis aller sur write (écrire) et tapez yes (oui) puis quit (quitter).\ Pour créer les systèmes de fichiers utilisez mkfs.* donc pour la partition EFI un mkfs.vfat -F32 -n EFI /dev/<votre-partition-EFI> et mkfs.ext4 -L root /dev/<votre-partition-root>, une fois crée on peux les monter.

montage des partitions
mount /dev/<votre-partition-root> /mnt
mkdir -p /mnt/boot/efi
mount /dev/<votre-partition-EFI> /mnt/boot/efi

La base :

Pour la base nous allons utiliser l'outil debootstrap qui nous permet de télécharger une liste de paquet prédéfini, je vais y ajouter l'option : --variant=minbase cette option nous permet d'avoir le strict nécessaire pour chrooter, donc pas d'init, de kernel etc. Pour ça on peux taper debootstrap --variant=minbase buster /mnt/ http://ftp.belnet.be/debian. Ensuite on peux monter proc, sys et dev.

montage de sys,proc et dev
mount -t proc /proc /mnt/proc
mount --rbind /sys /mnt/sys
mount --rbind /dev/mnt/dev

on peux enfin chrooter : chroot /mnt /bin/bash

Configuration :

on peux commencer par installer les paquets indispensable (je reste sur une installation systemd) :

apt-get update
apt-get install systemd grub-efi iputils-ping netbase iproute2 locales linux-image-amd64 vim openssh-client keyboard-configuration

config la locale (dpkg-reconfigure locales) et le clavier (dpkg-reconfigure keyboard-configuration), le hostname (echo "hostname" > /etc/hostname ; echo -e "127.0.0.1 localhost hostname\n ::1 localhost hostname" > /etc/hosts) et le réseau.

/etc/network/interfaces
auto <interface>
iface <interface> inet static
  address <IPv4/CIDR>
  gateway <la gateway>

iface <interface> inet6 static
  address <IPv6/CIDR>
  gateway <la gateway>

On peux ensuite faire notre /etc/fstab la forme est :

UUID=<votre UUID>  /   ext4    defaults    0   0

(pour trouver l'UUID : blkid), pour installer grub :

grub-intall --efi-directory=/boot/efi
grub-mkconfig -o /boot/grub/grub.cfg

On change le mot de passe root (passwd), et le DNS (/etc/resolv.conf).

/etc/resolv.conf
nameserver <serveur DNS>