Bienvenue dans le Monde de Linux : Ton Nouvel Outil d'Admin
Si tu es en BUT R&T, tu as probablement déjà entendu parler de Linux, ou peut-être même commencé à l'utiliser. Ce système d'exploitation, libre et open-source, est partout : sur les serveurs qui font tourner le web, sur les supercalculateurs, dans les systèmes embarqués, et même sur la majorité des smartphones (grâce à Android, qui est basé sur le noyau Linux). Pour un futur professionnel des réseaux et des télécommunications, maîtriser Linux n'est pas une option, c'est un atout majeur, voire une compétence fondamentale.
L'administration système sous Linux se fait majoritairement via une interface en ligne de commande (CLI), appelée le "terminal" ou "shell". Si cela peut sembler intimidant au début, sache que cette interface offre une puissance et une flexibilité inégalées pour gérer un système. Elle te permet de réaliser des tâches complexes rapidement, d'automatiser des processus, et d'avoir un contrôle fin sur le comportement de ton système. Prépare-toi à devenir un véritable maître de ton environnement Linux !
Les Commandes Indispensables : Ton Kit de Survie en Ligne de Commande
Le terminal Linux est ton meilleur ami pour administrer un système. Voici une sélection de commandes essentielles que tu devras absolument maîtriser. Elles couvrent les besoins de base pour naviguer, manipuler des fichiers, gérer des processus, et obtenir des informations sur le système.
Navigation et Manipulation de Fichiers
Commençons par les bases : savoir se déplacer dans l'arborescence des fichiers et gérer tes documents.
- pwd (Print Working Directory) : Affiche le chemin complet du répertoire dans lequel tu te trouves actuellement.
- ls (List) : Liste le contenu d'un répertoire (fichiers et sous-répertoires). Utilise des options comme
-l(format long pour voir les permissions, la taille, la date) ou-a(pour afficher les fichiers cachés, ceux dont le nom commence par un point '.'). - cd (Change Directory) : Permet de changer de répertoire. Par exemple,
cd /home/ton_utilisateur/Documentste déplace dans le dossier Documents.cd .te fait remonter d'un niveau dans l'arborescence, etcd ~te ramène à ton répertoire personnel. - mkdir (Make Directory) : Crée un nouveau répertoire. Par exemple,
mkdir mon_projet. - touch : Crée un fichier vide ou met à jour la date de dernière modification d'un fichier existant. Par exemple,
touch fichier_texte.txt. - cp (Copy) : Copie des fichiers ou des répertoires. Par exemple,
cp source.txt destination.txtoucp -r dossier_source dossier_destination(le-rest pour récursif, nécessaire pour copier des répertoires). - mv (Move) : Déplace ou renomme des fichiers et des répertoires. Par exemple,
mv ancien_nom.txt nouveau_nom.txtpour renommer, oumv fichier.txt /chemin/vers/destination/pour déplacer. - rm (Remove) : Supprime des fichiers. Utilise
rm -rpour supprimer des répertoires (avec toutes leurs sous-fichiers et sous-répertoires).Attention : la commandermest très puissante et supprime définitivement ! Il n'y a pas de corbeille par défaut. - cat (Concatenate) : Affiche le contenu d'un fichier à l'écran. Utile pour lire rapidement des fichiers texte. Par exemple,
cat mon_fichier.txt. - less : Permet de visualiser le contenu d'un fichier page par page, ce qui est très pratique pour les fichiers volumineux. Tu peux naviguer avec les flèches et quitter avec la touche
q. - head / tail : Affichent respectivement les premières (head) ou les dernières (tail) lignes d'un fichier. Très utile pour regarder les logs. Par exemple,
tail -f /var/log/syslogsuit en temps réel les nouvelles entrées dans le fichier syslog.
Point clé : Le chemin absolu commence toujours par le caractère / (la racine du système), tandis que le chemin relatif est basé sur ta position actuelle dans l'arborescence.
Gestion des Permissions
Sous Linux, chaque fichier et répertoire a des permissions qui définissent qui peut lire, écrire ou exécuter. C'est un élément fondamental de la sécurité.
- chmod (Change Mode) : Modifie les permissions d'un fichier ou d'un répertoire. Tu peux l'utiliser avec des chiffres (système octal) ou des symboles. Par exemple,
chmod 755 script.shdonne les permissions de lecture, écriture et exécution au propriétaire, et lecture/exécution aux membres du groupe et aux autres.chmod u+x mon_script.shajoute la permission d'exécution pour l'utilisateur (u). - chown (Change Owner) : Modifie le propriétaire d'un fichier ou d'un répertoire. Par exemple,
chown nouvel_utilisateur mon_fichier.txt. - chgrp (Change Group) : Modifie le groupe propriétaire d'un fichier ou d'un répertoire.
Permissions : Les permissions sont souvent représentées par 9 caractères : rwx pour le propriétaire, rwx pour le groupe, et rwx pour les autres. r (read), w (write), x (execute). Un - indique la permission est absente. Les trois premiers caractères indiquent le type de fichier (d pour répertoire, - pour fichier normal, etc.).
Gestion des Processus
Chaque programme en cours d'exécution est un processus. Savoir les gérer est crucial pour l'administration.
- ps (Process Status) : Affiche les processus en cours d'exécution. Utilise
ps auxpour voir tous les processus de tous les utilisateurs avec des informations détaillées. - top : Affiche en temps réel les processus les plus gourmands en ressources (CPU, mémoire), triés par utilisation. C'est un outil indispensable pour surveiller la performance du système. Tu peux quitter avec
q. - kill : Envoie un signal à un processus pour le terminer. Par exemple,
kill PID(où PID est l'identifiant du processus). Souvent, on utilisekill -9 PIDpour forcer l'arrêt. - htop : Une version plus interactive et visuelle de
top, souvent plus agréable à utiliser.
Erreur courante : Tenter de tuer un processus critique pour le système sans savoir ce que tu fais peut rendre ton système instable. Renseigne-toi toujours avant d'utiliser kill sur un PID dont tu ne connais pas la fonction.
Recherche et Réseau
Trouver des fichiers ou vérifier la connectivité réseau est une tâche quotidienne.
- grep (Global Regular Expression Print) : Recherche des motifs dans des fichiers ou dans la sortie d'autres commandes. Très puissant pour filtrer des informations. Par exemple,
ls -l | grep "mon_fichier". - find : Permet de rechercher des fichiers et des répertoires basés sur divers critères (nom, taille, date de modification, permissions, etc.). Par exemple,
find /home -name "*.log". - ping : Envoie des paquets à une adresse IP ou un nom de domaine pour vérifier la connectivité et mesurer le temps de réponse. Indispensable pour le diagnostic réseau. Par exemple,
ping google.com. - ssh (Secure Shell) : Permet de se connecter de manière sécurisée à une machine distante. C'est la commande principale pour administrer des serveurs Linux à distance. Par exemple,
ssh utilisateur@adresse_ip_serveur. - scp (Secure Copy) : Copie des fichiers de manière sécurisée entre machines via SSH. Par exemple,
scp mon_fichier.txt utilisateur@serveur:/chemin/destination/.
Les Services Essentiels sous Linux
Un système Linux ne se limite pas aux commandes. Il exécute en permanence des "services" (ou démons) qui sont des programmes fonctionnant en arrière-plan pour offrir des fonctionnalités. Voici quelques services cruciaux que tu rencontreras en administration système.
Système de Démarrage (init/systemd)
Linux utilise un système de démarrage pour lancer les services lors de l'allumage du système et pour les gérer pendant son exécution. Les systèmes modernes utilisent majoritairement systemd.
- systemctl : La commande principale pour interagir avec systemd.
sudo systemctl start nom_service: Démarre un service.sudo systemctl stop nom_service: Arrête un service.sudo systemctl restart nom_service: Redémarre un service.sudo systemctl status nom_service: Vérifie l'état d'un service.sudo systemctl enable nom_service: Fait en sorte que le service démarre automatiquement au lancement du système.sudo systemctl disable nom_service: Empêche le démarrage automatique.
Services Réseau Courants
- SSH Server (OpenSSH Server) : Permet les connexions distantes sécurisées. Si tu veux te connecter à un serveur Linux depuis une autre machine, ce service doit être installé et actif sur le serveur.
- Web Server (Apache, Nginx) : Ces programmes servent les pages web lorsque tu visites un site. Essentiels pour héberger des applications web.
- Database Server (MySQL, PostgreSQL) : Permettent de stocker et de gérer des données de manière structurée. Les applications web en ont souvent besoin.
- DHCP Server : Attribue automatiquement des adresses IP et d'autres configurations réseau aux machines du réseau.
- DNS Server (Bind, dnsmasq) : Traduit les noms de domaine (comme google.com) en adresses IP.
Gestion des Journaux (Logging)
Linux enregistre énormément d'informations sur son fonctionnement et les événements qui s'y déroulent. Ces journaux sont vitaux pour le diagnostic et la sécurité.
- Les fichiers de logs se trouvent généralement dans
/var/log/. Les plus courants sont :syslogoumessages: Journaux généraux du système.auth.logousecure: Journaux liés à l'authentification.dpkg.log(sur Debian/Ubuntu) : Journaux de gestion des paquets.apache2/error.logounginx/error.log: Journaux d'erreurs des serveurs web.
- Comme mentionné précédemment,
tail -f /var/log/nom_du_logest la commande pour suivre les logs en temps réel.
Gestion des Utilisateurs et Groupes
Sous Linux, la gestion des utilisateurs et des groupes est fondamentale pour contrôler l'accès aux ressources.
- useradd / adduser : Crée un nouveau compte utilisateur.
adduserest souvent plus interactif et convivial. - passwd : Permet de définir ou de changer le mot de passe d'un utilisateur. Par exemple,
sudo passwd nouvel_utilisateur. - userdel / deluser : Supprime un compte utilisateur.
- groupadd : Crée un nouveau groupe.
- groupdel : Supprime un groupe.
- usermod : Modifie les propriétés d'un compte utilisateur (par exemple, pour l'ajouter à un groupe :
sudo usermod -aG nom_du_groupe nom_utilisateur).
Scénario pratique : Tu dois créer un nouvel utilisateur pour un collègue qui rejoint ton projet. Tu utilises sudo adduser jean. Ensuite, tu dois t'assurer qu'il a accès à tous les fichiers du projet, qui sont dans le répertoire /home/dev/projet_alpha et appartenant au groupe developpeurs. Tu t'assures que le répertoire appartient au groupe developpeurs avec sudo chgrp -R developpeurs /home/dev/projet_alpha, et tu ajoutes Jean au groupe developpeurs avec sudo usermod -aG developpeurs jean. Tu ajustes aussi les permissions pour que les membres du groupe puissent écrire avec sudo chmod -R g+w /home/dev/projet_alpha.
Comment ORBITECH Peut T'aider
ORBITECH AI Academy met à ta disposition des outils concrets pour réviser plus efficacement et progresser à ton rythme.
- Générateur de Quiz : crée des quiz personnalisés pour tester tes connaissances et identifier tes lacunes.
- Générateur d'Exercices : crée des exercices d'entraînement adaptés à ton niveau avec corrections détaillées.
- Générateur de Résumés : transforme tes cours en fiches de révision claires et structurées.
- Générateur de Mind Maps : visualise et organise tes idées avec des cartes mentales générées automatiquement.
Tous ces outils sont disponibles sur ta plateforme ORBITECH. Connecte-toi et explore ceux qui correspondent le mieux à tes besoins !
N'aie pas peur d'expérimenter (dans un environnement sûr comme une machine virtuelle !), de lire la documentation (man nom_de_la_commande est ton ami), et de poser des questions. Le monde de Linux est vaste et accueillant, et ton parcours en BUT R&T est le moment idéal pour t'y plonger et en devenir un acteur averti.