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
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
.debfichiers. - 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
- Effacer le cache des paquets
Utilisez la commandeapt cleanpour supprimer tous les fichiers de paquets mis en cache :sudo apt cleanCela efface le/var/cache/apt/archivesrépertoire, dans lequel sont stockés les.debfichiers. - Supprimer les téléchargements partiels
Si un téléchargement a été interrompu ou corrompu, supprimez les fichiers partiels avec :sudo apt autocleanCela 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
Utilisezapt upgradeouapt full-upgradepour 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”