Module 00 / 19← Ordre des modules
● Système · Base Ubuntu

Préparer Ubuntu minimal

Ce premier module prépare une base Ubuntu propre avant toute installation IA. À la fin, le système doit être à jour, administrable, correctement connecté au réseau et disposer des outils nécessaires aux modules suivants. Aucun composant Ollama, Hermes ou Docker n’est installé ici.

Point de départ

Ubuntu 26.04.x LTS minimal

Point d’arrivée

Système prêt pour le Module 01

Secrets dans la page

Aucun

Avant de commencer

Prérequis

  • Ubuntu démarre et vous pouvez ouvrir un terminal.
  • La machine possède une connexion réseau.
  • Vous connaissez le compte qui doit administrer Jarvis, ou vous allez le créer.
  • Vous avez accès à un compte disposant de sudo.

Valeurs privées

Cette page utilise uniquement des placeholders. Remplacez-les dans votre terminal, jamais dans le fichier HTML.

Compte finalMETTRE_VOTRE_USER
HostnameMETTRE_VOTRE_HOSTNAME
Fuseau horaireMETTRE_VOTRE_TIMEZONE
Règle : si vous créez un nouveau compte à l’étape 00.4, ouvrez ensuite une session avec ce compte avant de poursuivre. Les installations utilisateur des modules suivants doivent toutes être faites depuis le même compte final.

Installation pas à pas

Exécutez une seule étape à la fois. Après chaque commande importante, comparez la sortie avec le résultat attendu.

00.1 — Vérifier la version d’Ubuntu

Lecture seule
cat /etc/os-release
Pourquoi : Confirme la distribution et sa version avant toute modification.
Résultat attendu : La sortie indique Ubuntu 26.04.x LTS. Si la version est différente, ne continuez pas avant d’avoir décidé si elle est compatible avec votre Golden Build.

00.2 — Identifier le compte actuellement connecté

Lecture seule
whoami
id
Pourquoi : Permet de savoir quel compte exécute les commandes et quels groupes lui sont déjà attribués.
Résultat attendu : Le compte affiché est celui depuis lequel vous souhaitez administrer la machine, ou vous savez qu’un nouveau compte doit être créé à l’étape suivante.

00.3 — Vérifier l’accès sudo

Validation
sudo -v
sudo -n true 2>/dev/null && echo "SUDO_DEJA_VALIDE" || echo "SUDO_PRET"
Pourquoi : La première commande demande éventuellement votre mot de passe de session et valide votre droit sudo. Le mot de passe n’apparaît jamais dans la commande.
Résultat attendu : Aucun message du type « user is not in the sudoers file ». Si sudo est refusé, corrigez les droits administrateur avant de continuer.

00.4 — Créer le compte final si nécessaire

Optionnel
id METTRE_VOTRE_USER 2>/dev/null || sudo adduser METTRE_VOTRE_USER
sudo usermod -aG sudo METTRE_VOTRE_USER
Pourquoi : À utiliser uniquement si le compte qui doit héberger Jarvis n’existe pas encore. adduser demande le mot de passe de manière interactive : ne l’inscrivez jamais dans la documentation.
Résultat attendu : La commande id METTRE_VOTRE_USER retourne un compte existant et ce compte appartient au groupe sudo. Ouvrez ensuite une session avec ce compte avant de poursuivre.

00.5 — Vérifier puis définir le hostname

Modification
hostnamectl
# Seulement si le hostname doit être changé :
sudo hostnamectl set-hostname METTRE_VOTRE_HOSTNAME
hostnamectl
Pourquoi : Le hostname identifie la machine sur le réseau local. Le site ne contient pas votre valeur réelle.
Résultat attendu : Après modification, Static hostname correspond au hostname que vous avez choisi.

00.6 — Vérifier le fuseau horaire et l’horloge

Lecture seule
timedatectl status
Pourquoi : Une horloge correcte est importante pour les logs, TLS, tâches planifiées et authentifications.
Résultat attendu : System clock synchronized doit être à yes. Vérifiez également que le fuseau horaire correspond à votre environnement.

00.7 — Lister puis définir le fuseau horaire si nécessaire

Optionnel
# Afficher tous les fuseaux horaires disponibles
timedatectl list-timezones

# Rechercher plus rapidement une zone par ville, pays ou région
timedatectl list-timezones | grep -i 'METTRE_VOTRE_VILLE_OU_REGION'

# Exemple de recherche par grande région
timedatectl list-timezones | grep '^Europe/'

# Une fois la valeur exacte identifiée :
sudo timedatectl set-timezone METTRE_VOTRE_TIMEZONE

# Vérifier le résultat
timedatectl status
Pourquoi : timedatectl list-timezones affiche les noms exacts reconnus par Ubuntu. Il faut utiliser l’une de ces valeurs telle quelle avec set-timezone. Le filtre grep permet d’éviter de parcourir toute la liste.
Résultat attendu : Vous identifiez d’abord un fuseau valide au format Région/Ville, puis la ligne Time zone de timedatectl status affiche exactement le fuseau choisi. L’horloge doit rester synchronisée.
Astuce : si la liste est longue, utilisez timedatectl list-timezones | less pour la parcourir page par page. Appuyez sur q pour quitter.

00.8 — Mettre à jour l’index des paquets

Modification
sudo apt update
Pourquoi : Télécharge la liste actuelle des paquets disponibles depuis les dépôts configurés.
Résultat attendu : La commande se termine sans erreur APT. Des avertissements doivent être compris avant de poursuivre.

00.9 — Installer les mises à jour système

Modification
sudo apt full-upgrade -y
Pourquoi : Applique les mises à jour de sécurité et de maintenance afin de partir d’une base cohérente.
Résultat attendu : La commande se termine avec un code retour 0. Si Ubuntu demande un redémarrage, effectuez l’étape suivante.

00.10 — Savoir si un redémarrage est requis

Lecture seule
if [ -f /var/run/reboot-required ]; then
  echo "REBOOT_REQUIRED"
  cat /var/run/reboot-required
else
  echo "NO_REBOOT_REQUIRED"
fi
Pourquoi : Évite de poursuivre une installation importante avec un noyau ou des bibliothèques en attente de redémarrage.
Résultat attendu : Si REBOOT_REQUIRED apparaît, exécutez sudo reboot, reconnectez-vous avec le compte final, puis reprenez à l’étape 00.11.

00.11 — Installer les outils de base du Golden Build

Modification
sudo apt install -y \
  curl wget git ca-certificates gnupg openssl jq \
  unzip zip tar rsync nano vim htop tmux \
  build-essential python3 python3-venv python3-pip \
  nfs-common ffmpeg
Pourquoi : Installe les utilitaires réutilisés par les modules suivants : téléchargement, Git, JSON, archives, synchronisation, Python, compilation, NFS et traitement audio.
Résultat attendu : APT ne signale aucun paquet cassé. Les commandes curl, git, python3, jq, rsync et ffmpeg sont disponibles.

00.12 — Vérifier les outils essentiels

Validation
for cmd in curl git python3 jq rsync ffmpeg; do
  command -v "$cmd" >/dev/null && echo "OK  $cmd" || echo "KO  $cmd"
done
Pourquoi : Teste simplement la présence des principaux exécutables sans modifier le système.
Résultat attendu : Chaque ligne commence par OK. Une ligne KO doit être corrigée avant de continuer.

00.13 — Contrôler la route réseau utilisée

Lecture seule
ip route show default
Pourquoi : Affiche la route par défaut et la passerelle actuellement utilisées, sans publier leur valeur dans la documentation.
Résultat attendu : Une route par défaut est retournée. Notez sa passerelle et son interface dans votre fiche privée si vous en avez besoin pour la suite.

00.14 — Contrôler les interfaces réseau

Lecture seule
ip -br addr
Pourquoi : Donne une vue compacte des interfaces et permet de repérer celle qui porte l’adresse LAN.
Résultat attendu : Au moins une interface réseau nécessaire à Jarvis est dans l’état UP et possède une adresse cohérente avec votre réseau.

00.15 — Tester DNS et HTTPS

Validation
getent hosts ubuntu.com
curl -fsSI https://ollama.com | head -1
Pourquoi : Valide la résolution DNS et une sortie HTTPS avant les installations qui téléchargeront des composants.
Résultat attendu : Une adresse est renvoyée pour ubuntu.com et la requête HTTPS retourne une ligne de statut HTTP sans erreur de connexion.

00.16 — Contrôler disque, mémoire et CPU

Lecture seule
lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINTS,MODEL
df -hT /
free -h
lscpu | grep -E 'Architecture|CPU\(s\)|Model name' | head -10
Pourquoi : Établit l’état de référence de la machine avant l’installation de Docker, Ollama et des modèles.
Résultat attendu : Le système racine possède suffisamment d’espace libre pour la suite et le CPU/mémoire correspondent à la machine prévue.

00.17 — Préparer le répertoire de scripts utilisateur

Modification
mkdir -p "$HOME/.local/bin"
chmod 700 "$HOME/.local/bin"
ls -ld "$HOME/.local/bin"
Pourquoi : Le Golden Build utilise ce répertoire pour plusieurs scripts d’exploitation installés plus tard.
Résultat attendu : Le répertoire existe, appartient à votre compte et ses permissions sont restrictives.

00.18 — Vérifier une dernière fois l’état APT

Validation
sudo apt-get check
Pourquoi : Contrôle la cohérence des dépendances APT après les mises à jour et installations.
Résultat attendu : La commande se termine sans erreur de dépendance.

Validation du Module 00

Ne passez pas au Module 01 tant que tous les contrôles suivants ne sont pas vrais.

Ubuntu 26.04.x LTS est confirmé.
Le compte final existe et peut utiliser sudo.
Le hostname correspond à la valeur choisie.
L’horloge est synchronisée et le fuseau est correct.
APT est à jour et apt-get check ne signale aucune erreur.
Tous les outils de base sont présents.
Une interface LAN utile est UP et possède une adresse.
Une route par défaut existe.
La résolution DNS fonctionne.
Une connexion HTTPS sortante fonctionne.
Le disque, la RAM et le CPU ont été vérifiés.
$HOME/.local/bin existe avec les bonnes permissions.

STOP — Module 00 terminé

Si toutes les cases ci-dessus sont validées, la base Ubuntu est prête. Vous pouvez revenir à la page Installation. Le prochain chapitre sera le Module 01 — Stockage Golden / NAS.