Aller au contenu

Linux

Linux est un système d'exploitation open source, puissant et polyvalent, utilisé dans divers domaines, tels que les serveurs, les supercalculateurs, les appareils embarqués, ainsi que les ordinateurs personnels.

Logo

linux-logo.png

Source image

FOSS

Les logiciels libres et open source (FOSS, pour Free and Open Source Software) sont des programmes informatiques dont le code source est accessible et modifiable par quiconque. Contrairement aux logiciels propriétaires, les FOSS sont distribués sous des licences garantissant aux utilisateurs la liberté d'exécuter, de copier, de distribuer, d'étudier, de modifier et d'améliorer le logiciel.

Cette approche encourage la collaboration, la transparence et l'innovation, en permettant à de nombreux contributeurs de participer au développement et à l'amélioration des logiciels. Les FOSS sont largement utilisés dans divers domaines, notamment :

  • Systèmes d'exploitation : Linux
  • Serveurs web : Apache
  • Navigateurs web : Firefox
  • Suites bureautiques : LibreOffice

Ils représentent une alternative clé aux logiciels propriétaires, offrant des avantages en termes de coût, de sécurité et de liberté pour les utilisateurs.

Bien que les termes "logiciel libre" (free software) et "open source" soient souvent utilisés de manière interchangeable, ils ont des origines et des philosophies légèrement différentes, bien que leurs principes fondamentaux convergent largement.

Logiciel Libre (Free Software)

Philosophie éthique et sociale

  • Le mouvement du logiciel libre, initié par Richard Stallman et la Free Software Foundation (FSF), repose sur une philosophie éthique.
  • Il promeut la liberté des utilisateurs en leur garantissant quatre libertés fondamentales :
    • La liberté d'utiliser le logiciel à n'importe quelle fin.
    • La liberté d'étudier le code source du logiciel.
    • La liberté de modifier le code source pour répondre à ses propres besoins.
    • La liberté de distribuer des copies du logiciel, modifiées ou non, à d'autres.

Licences strictes

  • Les logiciels libres sont souvent distribués sous des licences strictes, telles que la GNU GPL (General Public License), qui garantissent la préservation de ces libertés pour les utilisateurs et les développeurs.

Open Source

Approche pragmatique

  • Le terme "open source" met l'accent sur l'ouverture du code source pour favoriser la collaboration et l'efficacité du développement.
  • Cette approche se concentre davantage sur les avantages pratiques de l'accès au code, tels que l'amélioration de la qualité du logiciel et l'innovation rapide, plutôt que sur des considérations éthiques.

Licences plus permissives

  • Les logiciels open source sont souvent distribués sous des licences plus permissives, comme la licence MIT ou la licence Apache, qui permettent une plus grande flexibilité d'utilisation, y compris dans des projets propriétaires.

Résumé

En résumé, la principale différence entre le logiciel libre et l'open source réside dans la philosophie sous-jacente : le premier met l'accent sur la liberté des utilisateurs, tandis que le second privilégie l'efficacité du développement collaboratif. Les licences associées reflètent également ces distinctions.

Introduction à Linux

Qui utilise Linux ?

stats-os-desktop-worldwide.png

Source image

stats-os-mobile-worldwide.png

Source image

Android et ChromeOS

Android fait partie de la famille Linux car il est basé sur le noyau Linux, bien qu'il s'agisse d'une version modifiée et adaptée aux appareils mobiles, avec des interfaces et des frameworks spécifiques qui le distinguent des distributions Linux traditionnelles.

ChromeOS fait également partie de la famille Linux, puisqu'il est construit sur le noyau Linux, tout comme Android.

Définition

Le terme Linux peut avoir plusieurs significations. Il désigne à la fois le noyau (kernel), qui assure les fonctions essentielles du système d'exploitation, et les distributions qui ajoutent des couches logicielles pour créer des systèmes complets et personnalisables.

Le Noyau Linux (Kernel)

  • Le noyau Linux est le cœur du système d'exploitation.
  • C'est la composante centrale qui interagit directement avec le matériel informatique, gère les ressources du système et permet l'exécution des programmes.
  • Il assure la communication entre les logiciels et le matériel, gérant des tâches comme la gestion de la mémoire, des processus, le contrôle des périphériques et la sécurité.

kernel.png

Source image

kernel.png

Source image

Les Distributions Linux

  • Une distribution Linux, souvent appelée simplement "distribution", est un ensemble complet de logiciels basés sur le noyau Linux.
  • Elle inclut le noyau lui-même, des bibliothèques système, des utilitaires, des gestionnaires de paquets, un système de fichiers hiérarchique, un gestionnaire de fenêtres (dans le cas des environnements de bureau), ainsi que des applications.
  • Les distributions Linux sont créées par des communautés de développeurs ou des entreprises, et elles sont souvent personnalisées pour répondre à des besoins spécifiques.
  • Chaque distribution possède son propre objectif, style et ensemble de logiciels préinstallés, ce qui les rend adaptées à divers usages, tels que :
    • Serveur, bureautique, ou embarqué.
    • Grand public ou public averti.
    • Généraliste ou spécialisée pour un usage spécifique (firewall, routeur réseau, cluster de calcul, etc.).
    • Certifiées pour du matériel spécifique.
    • Et bien plus encore.

linux-distribution-timeline.png

Source image

linux-distribution-type.png

Source image

➡️ List des distributions Linux

Aux origines

  • Linux a été créé en 1991 par Linus Torvalds, alors âgé de 22 ans.
  • Il a développé Linux comme un projet personnel pendant ses études universitaires, initialement pour créer une alternative au système d'exploitation MINIX.

    linus-torvalds.png

    Source image

  • Il s'est inspiré des principes de conception d'Unix, un système d'exploitation bien établi et reconnu pour sa robustesse et sa modularité.

    unix-timeline.png

    Source image

  • Le projet Linux est rapidement devenu un logiciel open source.

  • Linus Torvalds a initialement développé Linux pour son usage personnel, mais il a rapidement attiré l'attention de la communauté informatique, suscitant une collaboration à l'échelle mondiale.
  • Ce modèle de développement open source favorise l'innovation continue et l'amélioration constante, avec des milliers de contributeurs à travers le monde travaillant sur le noyau Linux et les distributions associées.

Git

Linus Torvalds a créé Git en 2005.

  • Git est un système de gestion de version décentralisé, largement utilisé pour suivre les modifications des fichiers et gérer les projets de développement logiciel.

À l'époque, il cherchait une solution plus efficace pour la gestion des versions lors du développement du noyau Linux, mais les outils existants ne répondaient pas à ses besoins.

Aujourd'hui, Git est un outil incontournable dans le développement logiciel !

Parts de marché

Systèmes embarqués

  • Le noyau Linux équipe une grande majorité des systèmes embarqués, civils ou militaires, tels que les box TV, routeurs, robots, automates, systèmes aérospatiaux, électroménagers, systèmes de domotique, dispositifs multimédia, drones, consoles de jeux vidéo, véhicules automobiles, imprimantes, scanners IRM, etc.

Mobile (Android est basé sur le noyau Linux)

  • Environ 70% Android / 30% iOS

Desktop

  • Environ 5% Linux / 15% macOS / 70% Windows

Supercalculateurs

  • 100% des supercalculateurs du TOP500 fonctionnent sous Linux

    top500-supercomputer-os.png

    Source image

Serveurs "publics" (web, mail, DNS, etc.)

Serveurs "privés" (authentification, fichiers, base de données, impression, etc.)

  • Estimé entre 20% et 40% pour Linux (difficile à chiffrer précisément)

Hiérarchie du système de fichiers

Le système de fichiers de la plupart des distributions Linux est structuré autour d'une hiérarchie unique qui commence par la racine, notée /.

Contrairement à Windows, où chaque lecteur a sa propre lettre (comme C: pour le disque principal), Linux utilise une approche différente. Au lieu de multiples points de départ pour chaque disque ou partition, Linux adopte une hiérarchie unifiée qui part d'un seul point, la racine /.

Pensez à / comme l'équivalent du "Ce PC" ou "Ordinateur" dans Windows, mais au lieu d'afficher des lettres de lecteurs distinctes, tout est intégré dans une arborescence unique. Tous les fichiers et répertoires, qu'ils soient sur le disque dur principal, un disque externe, une clé USB, ou même sur un réseau, sont accessibles quelque part sous cette racine.

En venant de Windows, il peut sembler étrange que lorsqu'un nouveau disque dur ou une clé USB est ajouté, aucun lecteur supplémentaire n'apparaisse. Au lieu de cela, ce périphérique est "monté" dans la hiérarchie, souvent sous les répertoires /media ou /mnt.

Cette approche centralisée offre une grande flexibilité. Vous n'avez jamais à vous soucier des lettres de lecteurs ou de l'origine exacte des fichiers. Tout est accessible à partir du même point de départ : la racine /.

Il est également important de noter que Linux utilise généralement le système de fichiers ext4 par défaut, bien que d'autres systèmes de fichiers comme btrfs, XFS, ou ZFS puissent aussi être utilisés selon les besoins.

linux-fhs.png

Source image

Explications détaillées (EN)

Quelques répertoires très utiles

/

  • Le répertoire racine (root directory), point de départ de toute la hiérarchie des fichiers. Tout est contenu sous ce répertoire.

/usr/bin

  • Contient des commandes binaires destinées aux utilisateurs ordinaires.
  • Ces commandes sont des outils généralement utilisables par tous les utilisateurs, pas seulement les administrateurs.
  • Ce répertoire est inclus par défaut dans la variable d'environnement $PATH.

/usr/sbin/

  • Contient des commandes binaires généralement destinées à l'administration du système.
  • Ces commandes nécessitent souvent des privilèges d'administration pour être exécutées.
  • Ce répertoire est également inclus par défaut dans la variable d'environnement $PATH.

/etc

  • Contient tous les fichiers de configuration du système.

/var

  • Contient des fichiers qui changent fréquemment, comme les logs, les bases de données, etc.
  • Par exemple, les sites web par défaut sont situés dans /var/www, les fichiers de log dans /var/log, et les emails dans /var/mail.

/srv

  • Contient les données spécifiques aux logiciels/applications serveur.
  • Par exemple, les administrateurs peuvent placer les sites web dans /srv/www ou les fichiers disponibles pour téléchargement via FTP dans /srv/ftp.

/tmp

  • Un répertoire pour stocker des fichiers temporaires.
  • Ces fichiers peuvent être supprimés à tout moment, généralement après un redémarrage.

/home

  • Emplacement où se trouvent les répertoires personnels des utilisateurs.
  • Chaque utilisateur dispose d'un sous-répertoire ici, qui stocke ses fichiers personnels.

Shell

Le shell Linux est une interface en ligne de commande permettant aux utilisateurs d'interagir directement avec le système d'exploitation.

shell.png

Le shell interprète les commandes saisies par l'utilisateur et les transmet au système pour exécution. Les utilisateurs peuvent également écrire des séquences de commandes dans des fichiers (appelés scripts) et les exécuter comme des programmes automatisés.

shell-workflow.png

Source image

Il existe plusieurs types de shells disponibles pour Linux, chacun avec ses propres caractéristiques. Parmi les plus populaires, on trouve :

  • Bourne Shell (sh)
  • Bourne Again Shell (bash)
  • C Shell (csh)
  • Korn Shell (ksh)
  • Z Shell (zsh)
  • Friendly Interactive Shell (fish)

shell-history.png

Source image

Parmi ces shells, bash est le plus couramment utilisé par défaut dans la plupart des distributions Linux (et également dans macOS jusqu'à la version 10.15).

bash dans Windows

Il est possible d'utiliser un shell bash dans Windows via le Windows Subsystem for Linux (WSL).

Commandes courantes

linux-cmd.png

Source image

Ubuntu Manpage

man

  • Utilisée pour afficher le manuel des commandes et programmes sous Linux, offrant des informations détaillées sur leur utilisation et leurs options.

pwd

  • Affiche le répertoire actuel (Print Working Directory) dans lequel vous vous trouvez.

ls

  • Liste les fichiers et répertoires présents dans le répertoire courant.

cd

  • Change de répertoire. Permet de naviguer entre les répertoires en spécifiant le chemin du répertoire cible.

cp

  • Copie des fichiers ou répertoires vers un autre emplacement.

mv

  • Déplace ou renomme des fichiers ou répertoires.

rm

  • Supprime des fichiers ou répertoires. Attention à son utilisation, car les suppressions sont généralement irréversibles.

mkdir

  • Crée un nouveau répertoire.

ln

  • Crée des liens symboliques ou physiques vers des fichiers ou répertoires.

cat

  • Affiche le contenu des fichiers texte dans le terminal.

less

  • Affiche le contenu d'un fichier texte avec la possibilité de naviguer et défiler interactivement.

tail

  • Affiche les dernières lignes d'un fichier texte, utile pour surveiller des fichiers en temps réel, comme les logs.

nano

  • Un éditeur de texte simple en ligne de commandes.

vi / vim

  • Un éditeur de texte puissant et flexible en ligne de commandes. vim est une version améliorée de vi.

find

  • Recherche des fichiers et répertoires en fonction de divers critères.

grep

  • Recherche des motifs de texte à l'intérieur de fichiers ou de flux de données.

chmod

  • Modifie les permissions d'accès à un fichier ou répertoire.

chown

  • Change le propriétaire d'un fichier ou répertoire.

sudo

  • Exécute des commandes avec des privilèges d'administrateur.

Lien Symbolique (Soft Link) : Pointeur vers un fichier ou un répertoire

  • Un lien symbolique est un type de lien qui pointe vers un fichier ou un répertoire existant, agissant comme un raccourci ou un pointeur.
  • Il ne contient pas les données du fichier cible, mais simplement un chemin vers celui-ci.
  • Lorsque vous supprimez un lien symbolique, seul le lien est supprimé. Le fichier ou le répertoire cible n'est pas affecté.

Lien Physique (Hard Link) : Référence vers le même inode

  • Un lien physique est une référence directe vers le même inode (structure de données du système de fichiers) que le fichier ou le répertoire cible.
  • Les liens physiques pointent vers le même contenu réel sur le disque, et non vers une simple adresse.
  • Lorsque vous supprimez un fichier lié physiquement, le fichier n'est supprimé que si tous les liens physiques pointant vers ce fichier ont été supprimés.

inode

Un inode (index node) est une structure de données fondamentale dans les systèmes de fichiers UNIX et Linux. Il stocke des informations clés sur un fichier ou un répertoire, telles que :

  • La localisation physique des données sur le disque.
  • Les permissions d'accès au fichier.
  • Le propriétaire du fichier.
  • Les horodatages et autres métadonnées.

Chaque fichier et répertoire a un inode unique, mais plusieurs liens physiques peuvent pointer vers le même inode, partageant ainsi les mêmes données sous-jacentes.

linux-file-inode.png

Source image

Utilisateur root

L'utilisateur root est le super utilisateur sur les systèmes Linux et Unix. Root dispose de privilèges administratifs complets, lui offrant un accès total au système, y compris la possibilité de modifier des fichiers critiques du système. Ce niveau élevé d'autorité nécessite une utilisation prudente, car les actions effectuées en tant que root peuvent avoir un impact majeur sur la stabilité et la sécurité du système. Pour cette raison, l'accès au compte root est généralement restreint et réservé aux tâches administratives critiques.

  • Accès complet : Root a un accès illimité à tous les fichiers, répertoires et commandes du système. Il peut effectuer n'importe quelle opération, comme la création, la modification ou la suppression de fichiers système sensibles.

  • Privilèges administratifs : Root possède tous les privilèges administratifs, lui permettant de configurer, gérer et superviser tous les aspects du système, comme l'installation de logiciels, la gestion des utilisateurs et la configuration réseau.

  • Accès sécurisé : Par mesure de sécurité, l'accès direct au compte root est souvent limité. Il est possible d'utiliser les commandes su (switch user) ou sudo (substitute user do) pour effectuer temporairement des tâches avec des privilèges root, réduisant ainsi les risques d'erreurs graves.

  • Recours minimal : Il est recommandé d'utiliser le compte root le moins possible. Pour les tâches courantes, il est préférable d'utiliser un compte utilisateur normal, et de réserver l'utilisation de root uniquement pour des tâches d'administration nécessitant des privilèges élevés.

Note

La commande su (switch user)

  • La commande su est utilisée pour basculer vers un autre utilisateur, généralement le super utilisateur (root), en ouvrant une nouvelle session avec les privilèges de cet utilisateur.
  • Pour utiliser su, il faut généralement connaître le mot de passe de l'utilisateur vers lequel vous souhaitez basculer (par exemple, le mot de passe root).
  • Une fois basculé, vous pouvez exécuter des commandes en tant que cet utilisateur jusqu'à ce que vous quittiez la session avec la commande exit.

La commande sudo (substitute user do)

  • La commande sudo permet aux utilisateurs autorisés de lancer des commandes avec des privilèges élevés sans connaître le mot de passe root.
  • Les utilisateurs doivent faire partie du groupe sudoers pour utiliser sudo.
  • Exemple d'utilisation : sudo [commande], où [commande] représente l'instruction à exécuter avec des privilèges élevés (ex. sudo apt update pour mettre à jour le système).
  • Vous serez généralement invité à saisir votre propre mot de passe pour confirmer votre identité avant d'exécuter la commande, renforçant ainsi la sécurité.

Sur certaines distributions Linux, comme Ubuntu, le compte root est désactivé par défaut (pas de mot de passe défini). Cela limite l'accès direct au compte root et oblige les administrateurs à utiliser sudo pour obtenir des privilèges élevés.

Permissions

Les permissions sous Linux sont un mécanisme de contrôle d'accès qui détermine qui peut accéder à quelles ressources (fichiers, répertoires, etc.) et quelles opérations ces utilisateurs sont autorisés à effectuer sur ces ressources.

Utilisateurs, groupes et autres

Les permissions sont définies pour trois catégories d'utilisateurs :

  • Propriétaire : L'utilisateur qui possède la ressource.
  • Groupe : Le groupe d'utilisateurs auquel appartient la ressource.
  • Autres : Tous les autres utilisateurs du système.

Types de permissions

Il existe trois types de permissions de base :

  • Lecture (r) : Permet de lire le contenu d'une ressource (par exemple, lire un fichier).
  • Écriture (w) : Autorise la modification de la ressource (par exemple, écrire dans un fichier ou supprimer un fichier).
  • Exécution (x) : Permet l'exécution de la ressource si elle est exécutable (par exemple, exécuter un programme ou accéder à un répertoire).

Représentation des permissions

Les permissions sont souvent représentées sous forme symbolique, comme ceci :

  • r : Lecture.
  • w : Écriture.
  • x : Exécution.
  • - : Absence de permission.

Ces symboles apparaissent en trois groupes de trois caractères chacun, par exemple : rwxr-xr--. Chaque groupe correspond respectivement aux permissions du propriétaire, du groupe, et des autres utilisateurs.

Commandes pour définir les permissions

  • chmod : Utilisé pour modifier les permissions d'un fichier ou d'un répertoire. Exemple pour donner la permission de lecture à tous les utilisateurs : chmod +r nom_fichier.
  • chown : Utilisé pour changer le propriétaire d'une ressource.
  • chgrp : Utilisé pour changer le groupe associé à une ressource.

Permissions spéciales

En plus des permissions de base, Linux offre des permissions spéciales :

  • Setuid (SUID) : Permet à un programme d'être exécuté avec les privilèges du propriétaire du fichier, peu importe qui l'exécute.
  • Setgid (SGID) : Similaire au setuid, mais pour le groupe propriétaire.
  • Sticky bit : Empêche la suppression de fichiers dans un répertoire par un utilisateur autre que le propriétaire.

Note

Utilisez la commande ls -al (ou ll sur Ubuntu) pour lister les détails des permissions des fichiers et répertoires.

shell-ll.png

shell-permission.png

Source image

shell-permission-calc.png

Source image

Actions selon les permissions

Permissions sur un fichier

  • Lecture (r - Read) : Permet à un utilisateur de lire le contenu du fichier. Par exemple, l'utilisateur peut afficher le contenu avec des commandes comme cat, less ou more.

  • Écriture (w - Write) : Autorise un utilisateur à modifier le fichier, en y ajoutant, supprimant ou modifiant son contenu.

  • Exécution (x - Execute) : Si un fichier est exécutable (comme un script ou un programme), cette permission permet à l'utilisateur de l'exécuter.

Permissions sur un dossier (répertoire)

  • Lecture (r - Read) : Permet à un utilisateur de lister le contenu du répertoire, c'est-à-dire voir les fichiers et sous-répertoires qu'il contient.

  • Écriture (w - Write) : Autorise la création, suppression et modification de fichiers et sous-répertoires à l'intérieur du dossier.

  • Exécution (x - Execute) : Cette permission permet à l'utilisateur d'accéder au contenu du répertoire (entrer dans le répertoire). Sans cela, même avec la permission de lecture, l'utilisateur ne peut pas naviguer dans le répertoire.

Ubuntu

Ubuntu est une distribution de système d'exploitation basée sur Linux, largement reconnue pour sa convivialité, sa stabilité et son engagement envers la simplicité.

Facilité d'utilisation

  • Ubuntu se distingue par son interface utilisateur conviviale, avec "GNOME" comme environnement de bureau par défaut.
  • Il est conçu pour être intuitif et accessible aux utilisateurs de tous niveaux, y compris les débutants en informatique.

Cycle de publication régulier

  • Ubuntu suit un cycle de publication régulier, avec des versions LTS (Long Term Support) tous les deux ans et des versions standards tous les six mois.
  • Les versions LTS sont maintenues et mises à jour pendant cinq ans, offrant ainsi une grande stabilité pour une utilisation à long terme.

    ubuntu-release.png

    Source image

Gestionnaire de paquets

  • Ubuntu utilise le gestionnaire de paquets APT (Advanced Package Tool) pour l'installation, la mise à jour et la suppression de logiciels.
  • Le centre de logiciels Ubuntu permet également aux utilisateurs de rechercher et d'installer des applications facilement.

Sécurité et mises à jour

  • Ubuntu met l'accent sur la sécurité avec des mises à jour régulières pour le système d'exploitation et les logiciels.
  • Le gestionnaire de paquets garantit une mise à jour efficace et continue des logiciels installés.

Vaste communauté

  • Ubuntu bénéficie d'une communauté active d'utilisateurs, de développeurs et de contributeurs.
  • De nombreuses ressources en ligne, forums et documentations sont disponibles pour aider les utilisateurs à résoudre des problèmes et optimiser leur expérience.

Compatibilité matérielle

  • Ubuntu prend en charge une large gamme de matériel, ce qui en fait un choix viable pour les ordinateurs de bureau, serveurs, systèmes embarqués, et même appareils mobiles.

Engagement envers l'open source

  • Ubuntu est basé sur des logiciels open source, et Canonical, l'entreprise derrière Ubuntu, est un fervent défenseur de cette philosophie.
  • Le système d'exploitation est distribué sous une licence open source.

Personnalisation

  • Ubuntu permet de personnaliser l'expérience utilisateur en changeant d'environnement de bureau et en adaptant l'apparence et les fonctionnalités du système.

Note

Ubuntu est basée sur Debian, avec des versions Desktop, Server, Cloud et Core (IoT + robots).

Package

Dans le contexte de Linux, un "paquet" (ou "package" en anglais) fait référence à un ensemble de fichiers et de métadonnées regroupés pour faciliter l'installation, la gestion et la suppression de logiciels ou de bibliothèques sur un système Linux.

Contenu

  • Un paquet contient généralement les fichiers exécutables, les fichiers de configuration, la documentation et d'autres ressources nécessaires au bon fonctionnement d'un logiciel ou d'une bibliothèque particulière.

Métadonnées

  • Chaque paquet inclut des métadonnées qui décrivent le paquet, telles que son nom, son numéro de version, ses dépendances (autres paquets dont il dépend), et une brève description de son utilité.

Dépôt

  • Les paquets sont généralement stockés dans des référentiels en ligne maintenus par les responsables de la distribution Linux.

Résolution des dépendances

  • Les gestionnaires de paquets gèrent automatiquement les dépendances, en veillant à ce que tous les paquets requis soient installés lorsque l'utilisateur installe un paquet.

Sécurité

  • Les paquets provenant des référentiels officiels sont généralement considérés comme plus sécurisés, car ils sont examinés et maintenus par les responsables de la distribution.

Gestion de paquets

  • Les distributions Linux utilisent des outils de gestion de paquets pour gérer l'installation, la mise à jour et la suppression de paquets.
  • Des exemples de gestionnaires de paquets incluent APT (Advanced Package Tool) pour les distributions basées sur Debian (comme Ubuntu), YUM et DNF pour les distributions basées sur Red Hat (comme CentOS et Fedora), et Pacman pour Arch Linux.

Commande apt

Pour installer un nouveau logiciel (package) : apt install NOM_DU_PACKAGE

  • Exemple : Pour installer nginx, entrez la commande : apt install nginx.

Pour rechercher un package dans les dépôts : apt search . ou apt search XXX (pour trouver les packages contenant XXX dans leur nom ou leur description).

  • Exemple : Si vous souhaitez rechercher tous les packages liés à Python, vous pouvez taper : apt search python.

Pour avoir des informations détaillées sur un package avant de l'installer : apt show NOM_DU_PACKAGE ou consultez le site packages.ubuntu.com.

  • Exemple : Pour obtenir plus d'informations sur nginx, vous pouvez utiliser : apt show nginx.

Pour mettre à jour l'ensemble du système d'exploitation et des logiciels installés :

  • apt update : Met à jour la liste des paquets disponibles sans les télécharger ni les installer.
  • apt full-upgrade : Installe les mises à jour des paquets existants vers leurs versions les plus récentes.
  • apt autoremove : Supprime les paquets qui ne sont plus nécessaires, c'est-à-dire ceux installés comme dépendances mais qui ne sont plus requis.

  • Exemple : Vous pouvez enchaîner ces commandes pour une mise à jour complète : apt update && apt full-upgrade && apt autoremove.

Pour effectuer une mise à niveau vers la dernière version majeure d'Ubuntu : do-release-upgrade.

Gestion des services

Sur Ubuntu, la gestion des services s'effectue à l'aide du gestionnaire de services système "systemd", qui a remplacé l'ancien système "init" (SysV init). "systemd" offre une méthode plus flexible et puissante pour gérer les services, processus et démons sur votre système.

Vérifier l'état d'un service

Pour vérifier l'état d'un service et voir s'il est actif ou non :

systemctl status nom-du-service

Démarrer un service

Pour démarrer un service qui est arrêté :

systemctl start nom-du-service

Arrêter un service

Pour arrêter un service qui est en cours d'exécution :

systemctl stop nom-du-service

Redémarrer un service

Pour redémarrer un service (utile après une modification de configuration) :

systemctl restart nom-du-service

Afficher les journaux d'un service

Pour consulter les journaux de journalisation d'un service spécifique :

journalctl -u nom-du-service

Liens utiles

Official Ubuntu Documentation

Documentation Ubuntu en français (par la communauté)

Méthodologie pour résoudre un problème

rtfm.png

Source image

1. Observer

  • Qu'est-ce qui se passe ?
  • Qu'est-ce qui ne fonctionne pas ?
  • Si un message d'erreur apparaît, le noter et le conserver pour référence.

2. Comprendre

  • Quelles actions, commandes ou modifications ont été effectuées ?
  • Qu'est-ce qui pourrait être à l'origine du problème ?
  • Pourquoi cela ne fonctionne-t-il pas comme prévu ?

3. Rechercher

  • Consulter la documentation, utiliser un moteur de recherche ou une IA, explorer des forums ou demander l'avis d'un collègue respectivement de la communauté.

4. Résoudre

  • Appliquer les solutions possibles à partir des informations recueillies, tester, et valider la correction du problème.