Linux — utilisation avancée et administration · Étape 01

Identifie le système, la session et le shell

Observe une machine Linux avant de la modifier : distribution, noyau, identité, session, terminal, shell et environnement.

Durée indicative · ~1 h 15Niveau débutantPratique · TP
L’idée reçue

« Linux est Linux : connaître le nom de la machine suffit. »

Avant toute intervention, il faut identifier la distribution, la version du noyau, l’utilisateur, les groupes, le terminal et le shell réellement exécuté.

01Prépare le laboratoire

chmod +x module1-linux-workspace.sh
./module1-linux-workspace.sh setup
cd "$HOME/soria-linux-lab"

Le script travaille uniquement dans ton espace utilisateur. Il ne modifie ni /etc, ni les services, ni les paquets.

02Identifie la distribution et le noyau

cat /etc/os-release
uname -s
uname -r
uname -m
hostnamectl 2>/dev/null || hostname
Commande
Question
Exemple de réponse
/etc/os-release
Quelle distribution ?
Debian, Ubuntu, Rocky…
uname -r
Quel noyau ?
6.x…
uname -m
Quelle architecture CPU ?
x86_64, aarch64…

La distribution fournit l’espace utilisateur, les paquets et les conventions. Le noyau gère notamment les processus, la mémoire, les systèmes de fichiers, les pilotes et le réseau.

03Identifie ton identité effective

whoami
id
groups
logname 2>/dev/null || true

whoami affiche l’identité effective. id montre les UID, GID et groupes complémentaires utilisés pour les contrôles d’accès.

Un compte peut appartenir à plusieurs groupes. L’accès à un fichier ou à une commande privilégiée dépend de l’identité effective, pas seulement du nom affiché dans le prompt.

04Distingue session, terminal et shell

tty
ps -p $$ -o pid,ppid,tty,comm,args
printf 'SHELL déclaré : %s
' "$SHELL"
printf 'Processus courant : %s
' "$0"
  • le terminal transporte les entrées et sorties ;
  • le shell interprète les commandes ;
  • la session relie l’utilisateur, le terminal et les processus ;
  • $SHELL indique généralement le shell déclaré pour le compte, pas toujours le processus courant.

05Observe l’environnement

pwd
printf 'HOME=%s
' "$HOME"
printf 'USER=%s
' "$USER"
printf 'PATH=%s
' "$PATH"
env | sort | less

Les variables d’environnement transmettent du contexte aux programmes. Une modification de PATH, de locale ou de proxy peut changer le comportement d’une commande sans modifier son fichier exécutable.

Mission

Produis une fiche d’identité de la machine

Crée inventaire-session.txt contenant : distribution, noyau, architecture, hostname, utilisateur, groupes, terminal, shell courant, répertoire de travail et date.

{
date -Is
cat /etc/os-release
uname -srmo
hostname
id
tty
ps -p $$ -o pid,ppid,tty,comm,args
pwd
} > inventaire-session.txt

cat inventaire-session.txt

Ce que tu retiens

Une intervention fiable commence par l’observation. Distribution, noyau, identité, groupes, terminal, shell et environnement décrivent le contexte réel dans lequel tes commandes seront exécutées.

Ta progression

Chargement de l’état… Se connecter pour synchroniser.