Rock64 : configurer Debian
Rédigé par Alexandre le 2019-08-27
Avec le déménagement qui approche, cela fait presque deux mois que je n'ai rien publié. Ce n'est pas la plus longue période d'inactivité, mais aujourd'hui je viens justement vous prouver que je n'ai pas été inactif. En effet, avec le déménagement, je vais enfin avoir une vraie place pour un projet que j'ai en tête depuis un moment : l'auto-hébergement à domicile.
Toute l'impatience qui me caractérise m'a fait acheter un Rock64. Ce mini-ordinateur de type Rapsberry Pi est le tout premier d'une ferme de trois, permettant à terme, d'héberger l'ensemble de mes services.
En lisant la suite de cette article, vous trouverez une documentation sur ma façon de configurer la Debian 10 dédiée au Rock64. Cette documentation va servir de base à un playbook Ansible me permettant de configurer à l'identique l'ensemble des trois hôtes de mon futur cluster.
Cette documentation a été rédigée et testée sur buster-minimal-rock64-0.9.3-1145-arm64.img.xz. Le contenu de cette documentation peut être modifié à tout moment afin de coller avec mes besoins.
Se connecter en ssh :
- Utilisateur : rock64
- Mot de passe : rock64
Passer super utilisateur :
sudo su -
Passer le système en français :
dpkg-reconfigure locales
Dans la fenêtre qui s'ouvre :
- Chercher
fr_FR.UTF-8
- Cocher en appuyant sur la barre espace
- Valider avec la touche
Entrée
- Choisir
fr_FR.UTF-8
- Terminer avec la touche
Entrée
Changer le fuseau horaire :
dpkg-reconfigure tzdata
Dans la fenêtre qui s'ouvre :
- Sélectionner
Europe
- Valider avec la touche
Entrée
- Chercher
Paris
- Terminer avec la touche
Entrée
Créer un nouvel utilisateur :
adduser pulsar
Permettre au nouvel utilisateur d'utiliser sudo
:
adduser pulsar sudo
Sécuriser le serveur SSH :
tee --append /etc/ssh/sshd_config <<EOF
# Custom
PermitRootLogin no
#PasswordAuthentication no
Banner none
EOF
systemctl restart sshd
NB : #PasswordAuthentication no
une fois décommenté force l'authentification SSH par clef à l'ensemble des utilisateurs
Créer un fichier personnel de configuration d'apt
:
tee --append /etc/apt/apt.conf.d/99custom <<EOF
APT::Install-Recommends "false";
APT::Install-Suggests "false";
APT::Get::Show-Versions "true";
APT::Get::Show-Upgraded "true";
APT::Get::Purge "true";
APT::Get::List-Cleanup "true";
EOF
Nettoyer les dépôts inutile et modifier les dépôts pour supprimer les sources et utiliser les serveurs français :
rm /etc/apt/sources.list.d/*.bak
tee /etc/apt/sources.list <<EOF
deb http://ftp.fr.debian.org/debian/ buster main contrib non-free
deb http://ftp.fr.debian.org/debian/ buster-updates main contrib non-free
deb http://security.debian.org/debian-security buster/updates main contrib non-free
EOF
apt update
Modifier la configuration réseau :
rm /etc/network/interfaces.d/eth0
tee /etc/network/interfaces <<EOF
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.5/24
gateway 192.168.1.254
dns-nameservers 80.67.169.12 80.67.169.40
iface eth0 inet6 static
address 2a01:cb08:65b:c400:e309:6adc:9fba:5/64
gateway 2a01:cb08:65b:c400::
dns-nameservers 2001:910:800::40 2001:910:800::12
EOF
Redémarrer la partie réseau :
systemctl restart networking
En cas d'interruption de la session SSH, essayer de se reconnecter. Si la connexion échoue, c'est qu'une erreur de configuration réseau a été commise. Pour la corriger, il est nécessaire de connecter un clavier et un écran au rock64. Se connecter via les identifiants donnés plus haut, passer root et revoir le fichier /etc/network/interfaces
. Une fois les correction effectuer, redémarrer le réseau et poursuivre.
NB : Au lieu de connecter un clavier et un écran, il est tout à fait possible de sortir la carteSD ou eMMC du rock64 et de la connecter à un PC sous Linux.
Vérifier que la configuration est fonctionnelle :
ping -c3 -4 ipv4v6.lafibre.info; ping -c3 -6 ipv4v6.lafibre.info
Purger les paquets inutiles :
apt purge --autoremove iozone3 firmware-brcm80211 alsa-utils git* iperf3 iptables network-manager vim* wireless-tools wpasupplicant dhcpcd5 isc-dhcp-common isc-dhcp-client libip6tc0 libnfnetlink0 apt-transport-https libiptc0 libnetfilter-conntrack3 libnftnl11 build-essential jq
Chercher et désinstaller les paquets orphelins :
apt install -y deborphan dialog && orphaner && apt purge -y --autoremove deborphan
Une fenêtre affiche la liste des paquets orphelins :
- Cocher les paquets en question avec la barre espace
- Désinstaller les paquets en appuyant sur la touche
Entrée
- Renouveller l'opération jusqu'a ce qu'il n'y ait plus de paquets orphelins
Chercher et appliquer les mises à jour :
apt update && apt -y dist-upgrade
Installer les outils habituels :
apt install htop unattended-upgrades resolvconf locate
Définir le nouveau nom d'hôte :
newHostname="nyx"
NB : j'utilise les héritier de Chaos pour définir le nom d'hôte
Appliquer le changement du nom d'hôte :
hostnamectl set-hostname $newHostname
sed -i "s#rock64#$newHostname#g" /etc/hosts
Réinitialiser le serveur SSH :
rm /etc/ssh/ssh_host_*
rm /etc/ssh/moduli
dpkg-reconfigure openssh-server
Redémarrer le serveur :
reboot
Se reconnecter en SSH :
- Utilisateur : pulsar
- Mot de passe : celui qui a été choisi
Supprimer l'utilisateur par défaut :
sudo deluser rock64
Personnaliser bash :
sudo tee --append ~/.bashrc <<EOF
# custom
PS1='${debian_chroot:+($debian_chroot)}\[\033[0;33m\]\u@\h\[\033[00m\]:\[\033[0;93m\]\w\[\033[00m\]\$ '
alias ls='ls --color=auto -lah --group-directories-first'
alias df='df -h --exclude-type=tmpfs --exclude-type=devtmpfs'
EOF
Recharger le fichier de personnalisation de bash :
source ~/.bashrc