06. Installation et gestion des logiciels sur Ubuntu Server : guide complet

La gestion des logiciels est une compétence fondamentale pour tout administrateur d'Ubuntu Server. Que vous travailliez dans un environnement cloud comme Azure, AWS ou GCP, ou que vous gériez une infrastructure sur site, il est essentiel de comprendre les outils de gestion de paquets tels que APT pour maintenir un système sécurisé et optimisé.

Dans ce guide, nous aborderons les bases de l'installation, de la mise à jour et de la gestion des logiciels, explorerons des scénarios propres au cloud, résoudrons les problèmes courants et fournirons des exemples pratiques pour vous aider à maîtriser l'administration d'Ubuntu Server.


Article précédent:

01. Introduction à Ubuntu Server – SysOSX: AI & Cloud

02. Comment configurer votre premier serveur Ubuntu : guide du débutant – SysOSX: AI & Cloud

03. Maîtriser la ligne de commande Linux pour Ubuntu Server – SysOSX: AI & Cloud

04. Gestion des utilisateurs et des autorisations sur Ubuntu Server : un guide complet – SysOSX: AI & Cloud

05. Notions de base sur les réseaux pour Ubuntu Server : un guide complet – SysOSX: AI & Cloud



1. Comprendre APT et la gestion des paquets sur Ubuntu

Ubuntu Server utilise APT (Advanced Package Tool) comme gestionnaire de paquets principal. APT simplifie la gestion des logiciels en traitant automatiquement les dépendances et en utilisant les dépôts comme sources de confiance pour les paquets.

Composants clés d'APT :

  • apt: Outil en ligne de commande pour gérer les paquets.
  • dpkg: Gestionnaire de paquets de bas niveau pour .deb fichiers.
  • Dépôts: Sources en ligne où les paquets Ubuntu sont stockés et récupérés.

2. Installer des logiciels avec APT

Pour installer des logiciels sur Ubuntu Server, utilisez la commande apt install .

Exemple : installation du serveur Web Apache

  • Mettez à jour la liste des paquets :
sudo apt update 

Sortie :

Hit:1 http://azure.archive.ubuntu.com/ubuntu noble InRelease
Get:2 http://azure.archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]
Get:3 http://azure.archive.ubuntu.com/ubuntu noble-backports InRelease [126 kB]
Get:4 http://azure.archive.ubuntu.com/ubuntu noble-security InRelease [126 kB]
Get:5 http://azure.archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages [922 kB]
Get:6 http://azure.archive.ubuntu.com/ubuntu noble-updates/main amd64 Components [151 kB]
Get:7 http://azure.archive.ubuntu.com/ubuntu noble-updates/universe amd64 Components [364 kB]
Get:8 http://azure.archive.ubuntu.com/ubuntu noble-updates/restricted amd64 Components [212 B]
Get:9 http://azure.archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 Components [940 B]
Get:10 http://azure.archive.ubuntu.com/ubuntu noble-backports/main amd64 Components [7076 B]
Get:11 http://azure.archive.ubuntu.com/ubuntu noble-backports/universe amd64 Components [21.3 kB]
Get:12 http://azure.archive.ubuntu.com/ubuntu noble-backports/restricted amd64 Components [212 B]
Get:13 http://azure.archive.ubuntu.com/ubuntu noble-backports/multiverse amd64 Components [212 B]
Get:14 http://azure.archive.ubuntu.com/ubuntu noble-security/main amd64 Components [9024 B]
Get:15 http://azure.archive.ubuntu.com/ubuntu noble-security/universe amd64 Components [51.9 kB]
Get:16 http://azure.archive.ubuntu.com/ubuntu noble-security/restricted amd64 Components [208 B]
Get:17 http://azure.archive.ubuntu.com/ubuntu noble-security/multiverse amd64 Components [208 B]
Fetched 1907 kB in 1s (2778 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
15 packages can be upgraded. Run 'apt list --upgradable' to see them.
  • Installez Apache :
sudo apt install apache2

3. Supprimer des logiciels

Si vous n'avez plus besoin d'un paquet, vous pouvez le supprimer avec les commandes apt remove ou apt purge .

Exemple : suppression d'Apache

sudo apt remove apache2

Sortie :

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  apache2
...
After this operation, 2 MB disk space will be freed.
Do you want to continue? [Y/n]

Pour le supprimer complètement, y compris les fichiers de configuration :

sudo apt purge apache2


4. Mise à jour et mise à niveau des paquets

Des mises à jour régulières sont essentielles pour la sécurité et la stabilité du système.

Commandes :

  • Mettre à jour la liste des paquets
sudo apt update 
  • Mettre à niveau les paquets installés
sudo apt upgrade
  • Mise à niveau complète (y compris les mises à jour du noyau)
sudo apt full-upgrade

Sortie :

The following packages will be upgraded:
  linux-image-5.4.0-91-generic linux-headers-5.4.0-91-generic ...
Do you want to continue? [Y/n]

5. Gestion des dépôts

Les dépôts sont essentiels à la gestion des paquets. Par défaut, Ubuntu utilise des dépôts officiels, mais des dépôts supplémentaires peuvent être ajoutés, modifiés ou supprimés selon les besoins.

Gestion des dépôts au format Deb822

Les versions récentes d'Ubuntu sont passées au format Deb822 pour la gestion des dépôts. Au lieu d'utiliser le fichier traditionnel /etc/apt/sources.list , les dépôts sont désormais gérés via des fichiers .sources situés dans le /etc/apt/sources.list.d/ répertoire.

Afficher les dépôts actuels

Pour afficher vos dépôts actuels, vérifiez les fichiers .sources dans /etc/apt/sources.list.d/:

ls /etc/apt/sources.list.d/

Par exemple :

cat /etc/apt/sources.list.d/ubuntu.sources

Un .sources fichier au format Deb822 ressemble à ceci :

Types: deb
URIs: http://archive.ubuntu.com/ubuntu/
Suites: noble-security
Components: main universe restricted multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

Ajouter un dépôt

Pour ajouter un nouveau dépôt au format Deb822, créez un fichier .sources dans /etc/apt/sources.list.d/. Par exemple, pour ajouter un dépôt PPA personnalisé :

sudo nano /etc/apt/sources.list.d/custom.sources

Ajoutez le contenu personnalisé souhaité :

Types: deb
URIs: http://customizedurl/
Suites: noble
Components: main
Signed-By: /usr/share/keyrings/repository-name.gpg

Enregistrez le fichier et mettez à jour la liste des paquets :

sudo apt update

Supprimer un dépôt

Pour supprimer un dépôt, supprimez le fichier .sources correspondant de /etc/apt/sources.list.d/:

sudo rm /etc/apt/sources.list.d/custom.sources
sudo apt update

Avantages du format Deb822

  • Configuration structurée: Sépare clairement les types de dépôts, les URI, les suites et les composants.
  • Sécurité améliorée: Permet de spécifier des clés GPG pour la signature des dépôts en utilisant le champ Signed-By .
  • Meilleure compatibilité: Il est plus facile de gérer plusieurs dépôts dans des environnements cloud et conteneurisés.

Pour plus de détails, consultez la page de manuel sources.list(5).


6. Gestion du cache des paquets

APT utilise un système de cache pour stocker localement les fichiers de paquets téléchargés et les métadonnées. Ce cache permet d'accélérer des opérations comme l'installation et les mises à jour de logiciels, mais il peut grossir avec le temps et consommer de l'espace disque. Savoir gérer le cache est essentiel pour maintenir les performances du système et libérer des ressources.

Vérification de la taille du cache

Pour vérifier l'espace occupé par le cache :

sudo du -sh /var/cache/apt/

Exemple de sortie :

126M    /var/cache/apt/

Nettoyage du cache

  1. Effacer le cache des paquets
    Utilisez la commande apt clean pour supprimer tous les fichiers de paquets mis en cache :sudo apt clean Cela efface le /var/cache/apt/archives répertoire, dans lequel sont stockés les .deb fichiers.
  2. Supprimer les téléchargements partiels
    Si un téléchargement a été interrompu ou corrompu, supprimez les fichiers partiels avec :sudo apt autoclean Cela supprime uniquement les fichiers obsolètes et les téléchargements partiels.

Exemple de sortie pour le nettoyage du cache

sudo apt clean
sudo apt autoclean

Sortie :

Cleaning up /var/cache/apt/archives...
Removing unused files...
Done.

Reconstruction du cache

Si vous pensez que les métadonnées du cache sont corrompues, reconstruisez-le en mettant à jour la liste des paquets :

sudo apt update 

Cela actualise le cache local avec les métadonnées les plus récentes des dépôts.


7. Scénarios cloud : gestion des logiciels dans Azure, AWS et GCP

Dans les environnements cloud, la gestion des logiciels sur Ubuntu Server fonctionne de la même manière que dans les configurations sur site. Il y a toutefois des considérations supplémentaires :

Azure

  • Azure fournit Extensions de script personnalisé pour automatiser l'installation de logiciels lors du déploiement de machines virtuelles.
  • Exemple : utilisation d'un script pour installer Nginx :
az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name CustomScript \
  --publisher Microsoft.Azure.Extensions \
  --settings '{"commandToExecute":"sudo apt update && sudo apt install -y nginx"}'

AWS

  • Utilisez scripts de données utilisateur pour installer des logiciels lors du lancement de l'instance.
  • Exemple : installation de Docker sur une instance EC2 :
#!/bin/bash
sudo apt update
sudo apt install -y docker.io

GCP

  • Utilisez scripts de démarrage pour gérer l'installation de logiciels sur les instances de VM.
  • Exemple : installation de MySQL :
#!/bin/bash
sudo apt update
sudo apt install -y mysql-server

8. Résolution des problèmes courants lors de l'installation ou de la désinstallation

1. Paquet introuvable

Si un paquet est introuvable, assurez-vous que le dépôt est activé :

sudo apt update 
sudo apt update

2. Erreurs de dépendance

Corrigez les dépendances manquantes :

sudo apt --fix-broken install

3. Problèmes de dépôts

Vérifiez les erreurs de dépôts :

sudo apt update 

Exemple de sortie :

Err:1 http://ppa.launchpad.net/repository-name/ubuntu noble Release
  404 Not Found

Solution : supprimez ou corrigez l'entrée du dépôt dans /etc/apt/sources.list.

4. La désinstallation laisse des fichiers résiduels

Nettoyez les fichiers restants :

sudo apt autoremove
sudo apt purge package-name

5. Autorisation refusée

Assurez-vous de disposer des privilèges root :

sudo apt install package-name


9. Pratiques recommandées pour la gestion des paquets

  • Mettez toujours à jour avant d'installer des logiciels
sudo apt update 
  • Mettez régulièrement votre système à niveau
    Utilisez apt upgrade ou apt full-upgrade  pour garder votre système sécurisé.
  • Supprimez les paquets inutiles
sudo apt autoremove
  • Utilisez des dépôts de confiance
    Évitez les dépôts tiers sauf si nécessaire.
  • Surveillez les modifications de paquets dans les environnements cloud
    Automatisez les mises à jour à l'aide de scripts ou d'outils de gestion de la configuration comme Ansible.
  • Nettoyez régulièrement le cache
    Effacez régulièrement le cache pour libérer de l'espace disque :
sudo apt clean

Conclusion

Que vous gériez un serveur sur site ou que vous travailliez dans le cloud, maîtriser l'installation et la gestion des logiciels sur Ubuntu Server est essentiel pour maintenir un système sécurisé et efficace. En suivant les pratiques recommandées décrites dans ce guide, vous pouvez vous assurer que votre serveur reste optimisé et prêt pour n'importe quelle charge de travail.

Pour plus d'informations, consultez la documentation officielle d'Ubuntu sur APT.

Et ensuite ?

Dans le prochain article, nous approfondirons l'application de correctifs et la mise à jour d'Ubuntu Server, une tâche essentielle pour maintenir la sécurité et la stabilité. Vous apprendrez :

  • Pourquoi l'application de correctifs est essentielle pour la sécurité et la stabilité et comment cela prévient les vulnérabilités.
  • Comment utiliser apt pour mettre à jour et faire évoluer votre serveur efficacement.
  • Les différences entre apt update, apt upgrade, et apt full-upgrade pour éviter les erreurs courantes.
  • Automatisation des mises à jour avec unattended-upgrades pour gagner du temps et assurer la cohérence.
  • Comment gérer les mises à jour du noyau et redémarrer le serveur en douceur grâce aux notifications de reboot-required .

Restez à l'écoute pour des conseils pratiques afin de garder votre Ubuntu Server sécurisé et à jour !

4 thoughts on “06. Installing and Managing Software on Ubuntu Server: A Complete Guide”

Laisser un commentaire