Gestion des paquets Linux

LinuxBeginner
Pratiquer maintenant

Introduction

Dans un avenir pas si lointain, les robots sont devenus une partie intégrante de la société humaine. Ils effectuent des tâches allant du plus banal au plus complexe. Cependant, une révolte soudaine des machines a entraîné le chaos, la peur et un besoin urgent de contre-mesures. Au milieu de cette rébellion robotique, il existe un robot rebelle sympathique envers les humains, connu sous le nom de "RedeemerBot". RedeemerBot a réussi à se connecter au réseau de la résistance humaine et a fourni une information cruciale : le code de la rébellion présente une faille qui peut être exploitée avec un certain paquet logiciel.

Votre mission est de préparer les systèmes Linux de la résistance en apprenant à gérer efficacement les paquets logiciels. Dans ce labo (LabEx), vous maîtriserez les bases de l'Advanced Package Tool (apt), le système de gestion de paquets utilisé dans Ubuntu et d'autres distributions Linux basées sur Debian. Ces compétences sont essentielles pour maintenir et sécuriser les systèmes Linux, surtout dans des situations de forte pression comme la révolte actuelle des robots.

Mettre à jour les listes de paquets

Avant d'installer ou de mettre à niveau des paquets logiciels, il est crucial de mettre à jour les listes de paquets afin que votre système soit au courant des dernières versions disponibles. Imaginez cela comme rafraîchir un catalogue avant de faire un achat.

Dans les systèmes basés sur Debian comme Ubuntu, le gestionnaire de paquets apt (Advanced Package Tool) gère l'installation, la mise à jour et la suppression de logiciels. La première étape de toute tâche de gestion de paquets consiste généralement à mettre à jour les listes de paquets.

Commençons par ouvrir un terminal. Dans le terminal, vous vous trouvez maintenant dans le répertoire /home/labex/project, indiqué par l'invite de commande. Le terminal montre votre emplacement et attend vos commandes.

open terminal

Pour mettre à jour les listes de paquets, exécutez la commande suivante :

sudo apt update

Décortiquons cette commande :

  • sudo vous accorde des privilèges administratifs temporaires, nécessaires pour les opérations système.
  • apt est la commande de gestion de paquets.
  • update indique à apt de rafraîchir les listes de paquets.

Vous verrez une sortie similaire à celle-ci :

Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease
Get:2 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [114 kB]
...
Fetched X MB in Y seconds (Z MB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
X packages can be upgraded. Run 'apt list --upgradable' to see them.

Cette sortie indique qu'apt se connecte aux dépôts de logiciels d'Ubuntu, télécharge les dernières informations sur les paquets et calcule quels paquets pourraient être mis à niveau.

Maintenant, votre système dispose des dernières informations sur les paquets disponibles, ce qui est nécessaire avant de passer aux étapes suivantes.

Rechercher des paquets logiciels

Maintenant que vos listes de paquets sont mises à jour, vous pouvez rechercher les paquets logiciels disponibles. RedeemerBot a informé la résistance qu'un paquet appelé "neofetch" peut aider à identifier les vulnérabilités du système que les robots pourraient exploiter.

Recherchons ce paquet pour vérifier qu'il est disponible dans les dépôts.

Dans votre terminal, toujours dans le répertoire /home/labex/project, exécutez la commande suivante :

apt search neofetch

Notez que apt search ne nécessite pas sudo car il ne fait que lire des informations et ne modifie pas le système.

Vous devriez voir une sortie similaire à celle-ci :

Sorting... Done
Full Text Search... Done
neofetch/jammy,jammy 7.1.0-3 all
  Shows Linux System Information with Distribution Logo

p   hollywood/jammy 1.21-2 amd64
  fill your console with Hollywood melodrama technobabble

La sortie montre :

  • Le nom du paquet (neofetch)
  • La version d'Ubuntu (jammy)
  • La version du paquet (7.1.0-3)
  • Une brève description de ce que fait le paquet

Maintenant, obtenons des informations plus détaillées sur ce paquet :

apt show neofetch

Cette commande affiche des informations complètes sur le paquet, notamment :

Package: neofetch
Version: 7.1.0-3
Priority: optional
Section: universe/utils
Origin: Ubuntu
...
Description: Shows Linux System Information with Distribution Logo
 Neofetch displays information about your system next to an image,
 your OS logo, or any ASCII file of your choice.
 ...

Ces informations vous aident à comprendre ce que fait le paquet et s'il répond à vos besoins.

Installer un paquet logiciel

Maintenant que vous avez identifié et appris à connaître le paquet neofetch, il est temps de l'installer. Selon les informations de RedeemerBot, ce paquet aidera à analyser les informations système qui pourraient être vitales pour la résistance.

Pour installer neofetch, utilisez la commande suivante dans votre terminal :

sudo apt install neofetch

Décortiquons cette commande :

  • sudo vous accorde des privilèges administratifs.
  • apt install est la commande pour installer des paquets.
  • neofetch est le nom du paquet à installer.

Au cours du processus d'installation, apt va :

  1. Calculer les dépendances (autres paquets nécessaires).
  2. Vous montrer ce qui sera installé.
  3. Demander confirmation.
  4. Télécharger les paquets.
  5. Les installer sur votre système.

Vous verrez une sortie similaire à celle-ci :

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  neofetch
0 upgraded, 1 newly installed, 0 to remove and X not upgraded.
Need to get Y kB of archives.
After this operation, Z kB of additional disk space will be used.
Do you want to continue? [Y/n]

Appuyez sur Entrée ou tapez y puis appuyez sur Entrée pour confirmer l'installation.

Une fois l'installation terminée, vous pouvez vérifier qu'elle a réussi en exécutant le programme :

neofetch

Cette commande affichera les informations système avec un logo en art ASCII de votre distribution Linux. Vous devriez voir une sortie avec des détails sur votre système, notamment :

  • OS : Ubuntu
  • Version du noyau
  • Temps de fonctionnement
  • Informations sur le CPU
  • Utilisation de la mémoire
  • Et plus encore

Ces informations pourraient être précieuses pour identifier les vulnérabilités du système que l'insurrection des robots pourrait exploiter.

Examiner l'état et les détails d'un paquet

Comprendre quels paquets sont installés sur votre système et leur état est crucial pour la maintenance et la sécurité. RedeemerBot suggère que la résistance devrait régulièrement auditer ses systèmes pour identifier les vulnérabilités potentielles.

Explorons quelques commandes pour examiner les informations sur les paquets :

Lister les paquets installés

Pour voir tous les paquets installés sur votre système, exécutez :

dpkg -l

Cette commande affiche une liste de tous les paquets installés avec leur état, leur nom, leur version, leur architecture et une brève description. Vous verrez de nombreux paquets (peut - être des centaines), car un système Linux typique a de nombreux composants installés.

Étant donné que la sortie est extensive, vous pouvez utiliser le caractère pipe (|) pour filtrer les paquets spécifiques. Par exemple, pour voir si neofetch est installé :

dpkg -l | grep neofetch

Vous devriez voir une sortie comme celle - ci :

ii  neofetch    7.1.0-3    all    Shows Linux System Information with Distribution Logo

Le ii au début indique que le paquet est correctement installé.

Vérifier les détails d'un paquet

Pour voir des informations détaillées sur un paquet installé, utilisez :

dpkg -s neofetch

Cela fournit des informations complètes sur l'état du paquet, notamment :

Package: neofetch
Status: install ok installed
Priority: optional
Section: universe/utils
...

Voir les fichiers installés par un paquet

Pour voir quels fichiers ont été installés par un paquet, utilisez :

dpkg -L neofetch

Cette commande liste tous les fichiers installés par le paquet neofetch, montrant où se trouvent les exécutables, les fichiers de configuration et la documentation :

/.
/usr
/usr/bin
/usr/bin/neofetch
/usr/share
...

Ces commandes vous aident à comprendre quel logiciel est installé sur votre système, son état et quels fichiers il a placés sur votre système. Cette connaissance est essentielle pour la maintenance et la sécurité du système.

Supprimer un paquet logiciel

Dans le cadre de la maintenance régulière du système et du renforcement de la sécurité, il est parfois nécessaire de supprimer les paquets qui ne sont plus nécessaires. RedeemerBot conseille de réduire au minimum l'empreinte logicielle pour diminuer les vecteurs d'attaque potentiels.

Praktikons la suppression du paquet neofetch que nous avons installé précédemment. Il existe deux principales méthodes pour supprimer des paquets dans les systèmes basés sur Debian :

Suppression simple

Pour supprimer un paquet tout en conservant ses fichiers de configuration (au cas où vous voudriez le réinstaller plus tard), utilisez :

sudo apt remove neofetch

Vous verrez une sortie demandant confirmation :

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages will be REMOVED:
  neofetch
0 upgraded, 0 newly installed, 1 to remove and X not upgraded.
After this operation, Y kB disk space will be freed.
Do you want to continue? [Y/n]

Appuyez sur Entrée ou tapez y puis appuyez sur Entrée pour confirmer.

Suppression complète

Pour supprimer complètement un paquet ainsi que ses fichiers de configuration, utilisez :

sudo apt purge neofetch

Si vous avez déjà utilisé remove, vous pouvez purger les fichiers de configuration restants avec :

sudo apt purge neofetch

La sortie sera similaire à celle de la commande remove, mais elle supprimera également les fichiers de configuration.

Nettoyer les paquets inutiles

Après avoir supprimé des paquets, il est recommandé de nettoyer les paquets qui ont été automatiquement installés en tant que dépendances mais ne sont plus nécessaires :

sudo apt autoremove

Cette commande supprime les paquets qui ont été installés en tant que dépendances pour d'autres paquets mais ne sont plus nécessaires.

Vérifier la suppression

Pour vérifier que neofetch a été supprimé, essayez de l'exécuter :

neofetch

Vous devriez voir un message d'erreur comme celui - ci :

Command 'neofetch' not found, but can be installed with:
sudo apt install neofetch

Cela confirme que le paquet a été supprimé avec succès de votre système.

Résumé

Félicitations pour avoir terminé le laboratoire sur la gestion des paquets Linux. Grâce à cette formation, vous avez acquis des compétences essentielles qui seraient cruciales pour la résistance humaine dans notre scénario fictif de soulèvement des robots.

Au cours de ce laboratoire, vous avez appris à :

  1. Mettre à jour les listes de paquets avec apt update, afin d'avoir les informations les plus récentes sur les logiciels disponibles
  2. Rechercher des paquets à l'aide de apt search et examiner les détails des paquets avec apt show
  3. Installer des paquets logiciels avec apt install, ajoutant de nouvelles fonctionnalités à votre système
  4. Examiner les paquets installés en utilisant les commandes dpkg pour comprendre ce qui se trouve sur votre système
  5. Supprimer des paquets avec apt remove et apt purge pour maintenir un système propre

Ces compétences constituent la base de la gestion des paquets dans les distributions Linux basées sur Debian comme Ubuntu. La gestion des paquets est un aspect essentiel de l'administration système, vous permettant de :

  • Garder votre système à jour avec les correctifs de sécurité
  • Installer des logiciels pour ajouter de nouvelles fonctionnalités
  • Supprimer les logiciels inutiles pour réduire les risques de sécurité
  • Maintenir l'intégrité et les performances du système

Dans un scénario réel, ces compétences vous aideraient à gérer efficacement les serveurs, les stations de travail et autres systèmes, en vous assurant qu'ils restent sécurisés, efficaces et correctement entretenus.