Linux / Commande pacman : installer des paquets et éviter les mises à niveau partielles
pacman gère les paquets sur Arch Linux. -Q consulte les paquets installés, -S utilise les dépôts et -R retire un paquet. Pour actualiser les bases des dépôts et mettre à niveau le système, utilisez -Syu : Arch ne prend pas en charge les mises à niveau partielles résultant d’une synchronisation seule suivie de l’installation de quelques paquets.
Lire les opérations sans confondre majuscules et minuscules
Vérifiez cat /etc/os-release, pacman --version et man pacman. Les exemples concernent Arch Linux ; une distribution dérivée peut ajouter sa politique de dépôts et ses avis de mise à jour. L’existence d’une commande nommée pacman dans un autre environnement ne signifie pas que vous gérez une installation Arch.
pacman OPERATION [OPTIONS] [CIBLES ...]
| Forme | Question ou action |
|---|---|
| -Q paquet | Quelle version de ce paquet est installée ? |
| -Qi / -Ql paquet | Lire les informations / chemins du paquet installé. |
| -Ss terme / -Si paquet | Chercher / lire un paquet dans les bases des dépôts synchronisés. |
| -S paquet | Installer depuis les dépôts connus, avec les dépendances. |
| -Syu | Actualiser les bases puis mettre à niveau les paquets installés. |
| -R paquet | Retirer un paquet, avec examen des contraintes. |
La lettre principale choisit l’opération et les lettres suivantes ses options. -Ss et -Qs ne cherchent donc pas dans la même base. -Syu combine -S, -y pour actualiser les bases et -u pour mettre à niveau le système. Ne changez pas la casse ou l’ordre des options au hasard pour essayer de résoudre un message d’erreur.
Consulter le système et chercher un logiciel
pacman -Q bash
pacman -Qi bash
pacman -Ql bash
pacman -Ss nginx
pacman -Si nginx
Si bash est installé, -Q affiche son nom et sa version réelle ; -Qi développe les informations comme les dépendances et la raison d’installation, et -Ql liste les fichiers du paquet. Un paquet absent produit un diagnostic et un code non nul. N’interprétez pas l’apparition d’un paquet dans -Ss comme une preuve d’installation.
Les résultats de -Ss et -Si viennent des bases de dépôts déjà connues localement. Ils peuvent être anciens : la consultation n’est pas une nouvelle synchronisation. Comparez la version locale et les informations de dépôt en tenant compte de ce contexte, sans actualiser uniquement la base pour installer ensuite un paquet isolé.
nginx est un exemple de paquet disponible dans les dépôts configurés, pas une obligation d’installer un serveur. Si le nom n’est pas trouvé, vérifiez les sources et les avis de la distribution. N’ajoutez pas arbitrairement des dépôts de test ou d’une autre distribution pour obtenir une candidate.
Mettre à niveau le système et installer le paquet voulu
Avant une mise à niveau, lisez les annonces Arch concernant les interventions manuelles, vérifiez l’espace disponible et sauvegardez ce qui doit être récupérable. Prévoyez du temps pour traiter les avertissements et les redémarrages de services éventuellement nécessaires.
sudo pacman -Syu
La commande actualise les bases puis calcule la mise à niveau des paquets installés. Lisez la transaction et les remplacements proposés avant de confirmer. Ne supprimez pas cette étape de décision avec --noconfirm sans politique d’automatisation définie.
Pour installer nginx en même temps que cette mise à niveau complète, utilisez plutôt cette variante, si le serveur web est réellement souhaité sur la machine :
sudo pacman -Syu nginx
Ce sont des variantes selon votre objectif, pas deux étapes imposées. pacman résout les dépendances ; l’opération peut donc changer plusieurs paquets et exécuter des scripts ou des hooks. Après réussite, contrôlez le paquet enregistré :
pacman -Q nginx
pacman -Qi nginx
Vérifiez ensuite le fonctionnement du logiciel et les messages de fin. Un paquet présent ne prouve pas que le service est démarré ou que sa configuration répond à votre besoin. Une mise à niveau de fichiers ne remplace pas nécessairement les bibliothèques déjà utilisées par des processus en cours.
Sur un système déjà cohérent et à jour, -S permet aussi l’installation directe. --needed évite de réinstaller une cible déjà à jour ; cette option ne transforme pas une mise à niveau partielle en opération prise en charge.
Comprendre pourquoi -Sy seul pose problème
Arch est une distribution continue : lorsqu’une bibliothèque change, les paquets des dépôts qui en dépendent sont reconstruits ensemble. Si vous actualisez les bases puis n’installez qu’un logiciel, celui-ci peut tirer une bibliothèque nouvelle alors qu’une autre application locale dépend encore de l’ancienne interface. Le système devient un mélange qui n’est pas la combinaison publiée et testée.
Évitez donc pacman -Sy suivi de pacman -S paquet, ainsi que pacman -Sy paquet. Le fait de télécharger les mises à niveau sans les appliquer ne suffit pas non plus à remettre le système en cohérence si la base active a été synchronisée. Pour une mise à niveau ordinaire, conservez le couple actualisation et mise à niveau complète dans -Syu.
Si -Syu échoue après l’actualisation des bases, résolvez l’erreur et terminez la mise à niveau avant de reprendre d’autres installations isolées. Ne compensez pas une bibliothèque absente par un lien symbolique improvisé et ne sautez pas les contrôles de dépendances. Les règles de maintenance Arch sur les mises à niveau partielles expliquent ce risque et les vérifications à faire avant et après une mise à niveau.
Si vous voulez seulement connaître les mises à jour sans actualiser la base active, l’outil checkupdates de pacman-contrib est prévu pour ce besoin. Il doit être disponible sur la machine et possède ses propres codes de retour ; ne remplacez pas son fonctionnement par un -Sy isolé.
Retirer un paquet et traiter les fichiers de configuration
Pour un paquet dont vous avez vérifié le nom et dont vous n’avez plus besoin, -R est l’opération de retrait. Il faut lire les dépendances et la transaction avant confirmation ; ne copiez pas un nom de composant essentiel pour tester une suppression.
Les options combinées changent la portée. Avec -R, -s retire aussi les dépendances devenues inutiles qui répondent aux conditions de sélection ; -n demande de ne pas appliquer la conservation habituelle des fichiers désignés pour sauvegarde. -Rns n’est donc pas une simple variante d’affichage de -R et peut supprimer davantage de fichiers de configuration. Évaluez les données nécessaires avant de choisir ces options.
Lors des mises à niveau, une nouvelle configuration peut être déposée en .pacnew au lieu de remplacer une configuration modifiée. Un retrait peut conserver certaines configurations en .pacsave. Lisez les messages et comparez les contenus pour intégrer les changements utiles ; ces fichiers ne remplacent pas une sauvegarde de toutes vos données.
Le journal /var/log/pacman.log aide à retrouver les opérations effectuées. N’effacez pas un verrou sans vérifier qu’aucune opération n’est en cours, et n’utilisez pas --overwrite ou des options qui ignorent les dépendances pour masquer un conflit incompris. Le manuel officiel pacman précise les options, les hooks et le traitement des configurations.




