GNU/Linux >> Tutoriels Linux >  >> Linux

Premiers pas avec les commandes Pacman dans les distributions Linux basées sur Arch

Bref :Ce guide du débutant vous montre ce que vous pouvez faire avec les commandes pacman sous Linux, comment les utiliser pour trouver de nouveaux packages, installer et mettre à jour de nouveaux packages et nettoyer votre système.

Le gestionnaire de paquets pacman est l'une des principales différences entre Arch Linux et d'autres distributions majeures comme Red Hat et Ubuntu/Debian. Il combine un format de package binaire simple avec un système de construction facile à utiliser. L'objectif de pacman est de gérer facilement les packages, soit à partir des dépôts officiels, soit à partir des propres builds de l'utilisateur.

Si vous avez déjà utilisé des distributions basées sur Ubuntu ou Debian, vous avez peut-être utilisé les commandes apt-get ou apt. Pacman est l'équivalent dans Arch Linux. Si vous venez d'installer Arch Linux, l'une des premières choses à faire après l'installation d'Arch Linux est d'apprendre à utiliser les commandes pacman.

Dans ce guide du débutant, j'expliquerai certaines des utilisations essentielles de la commande pacmand que vous devez connaître pour gérer votre système basé sur Arch.

Commandes pacman essentielles que les utilisateurs d'Arch Linux doivent connaître

Comme les autres gestionnaires de packages, pacman peut synchroniser les listes de packages avec les référentiels de logiciels pour permettre à l'utilisateur de télécharger et d'installer des packages avec une simple commande en résolvant toutes les dépendances requises.

Installer des packages avec pacman

Vous pouvez installer un ou plusieurs packages à l'aide de la commande pacman de cette manière :

pacman -S _package_name1_ _package_name2_ ...

Le -S signifie synchronisation. Cela signifie que pacman se synchronise d'abord

La base de données pacman classe les packages installés en deux groupes selon la raison pour laquelle ils ont été installés :

  • installé explicitement :les packages qui ont été installés par une commande générique pacman -S ou -U
  • dépendances :les packages implicitement installés car requis par un autre package explicitement installé.

Supprimer un package installé

Pour supprimer un seul paquet, en laissant toutes ses dépendances installées :

pacman -R package_name_

Pour supprimer un package et ses dépendances qui ne sont requis par aucun autre package installé :

pacman -Rs _package_name_

Pour supprimer les dépendances qui ne sont plus nécessaires. Par exemple, le paquet qui avait besoin des dépendances a été supprimé.

pacman -Qdtq | pacman -Rs -

Mettre à jour les packages

Pacman fournit un moyen simple de mettre à jour Arch Linux. Vous pouvez mettre à jour tous les packages installés avec une seule commande. Cela peut prendre un certain temps en fonction de la mise à jour du système.

La commande suivante synchronise les bases de données du référentiel et met à jour les packages du système, à l'exclusion des packages "locaux" qui ne sont pas dans les référentiels configurés :

pacman -Syu
  • S signifie synchronisation
  • y est pour l'actualisation (cache local)
  • u est pour la mise à jour du système

Fondamentalement, il s'agit de synchroniser avec le référentiel central (base de données de packages maîtres), d'actualiser la copie locale de la base de données de packages maître, puis d'effectuer la mise à jour du système (en mettant à jour tous les packages dont une version plus récente est disponible).

Attention !

Si vous êtes un utilisateur d'Arch Linux avant la mise à niveau, il est conseillé de visiter la page d'accueil d'Arch Linux pour vérifier les dernières nouvelles pour les mises à jour inhabituelles. Si une intervention manuelle est nécessaire, un message d'information approprié sera créé. Vous pouvez également vous abonner au flux RSS ou à la liste de diffusion arch-announce.

N'oubliez pas non plus de consulter le forum approprié avant de mettre à niveau un logiciel fondamental (tel que le noyau, xorg, systemd ou glibc), pour tout problème signalé.

Les mises à niveau partielles ne sont pas prises en charge à une distribution à diffusion continue comme Arch et Manjaro. Cela signifie que lorsque de nouvelles versions de bibliothèque sont poussées vers les référentiels, tous les packages des référentiels doivent être reconstruits avec les bibliothèques. Par exemple, si deux packages dépendent de la même bibliothèque, la mise à niveau d'un seul package peut casser l'autre package qui dépend d'une ancienne version de la bibliothèque.

Utilisez pacman pour rechercher des packages

Pacman interroge la base de données locale des packages avec le drapeau -Q, la base de données de synchronisation avec le drapeau -S et la base de données des fichiers avec le drapeau -F.

Pacman peut rechercher des packages dans la base de données, à la fois dans les noms et les descriptions des packages :

pacman -Ss _string1_ _string2_ ...

Pour rechercher des packages déjà installés :

pacman -Qs _string1_ _string2_ ...

Pour rechercher des noms de fichiers de package dans des packages distants :

pacman -F _string1_ _string2_ ...

Pour afficher l'arborescence des dépendances d'un package :

pactree _package_naenter code hereme_

Nettoyage du cache des packages

Pacman stocke ses packages téléchargés dans /var/cache/pacman/pkg/ et ne supprime pas automatiquement les versions anciennes ou désinstallées. Cela présente certains avantages :

  1. Il permet de rétrograder un package sans avoir besoin de récupérer la version précédente via d'autres sources.
  2. Un package qui a été désinstallé peut facilement être réinstallé directement à partir du dossier de cache.

Cependant, il est nécessaire de nettoyer le cache périodiquement pour éviter que le dossier ne grossisse.

Le script paccache(8), fourni dans le paquet pacman-contrib, supprime toutes les versions en cache des paquets installés et désinstallés, à l'exception des 3 plus récents, par défaut :

paccache -r

Pour supprimer tous les packages en cache qui ne sont pas actuellement installés et la base de données de synchronisation inutilisée, exécutez :

pacman -Sc

Pour supprimer tous les fichiers du cache, utilisez deux fois le commutateur propre, c'est l'approche la plus agressive et ne laissera rien dans le dossier cache :

pacman -Scc

Installation de packages locaux ou tiers

Installez un package "local" qui ne provient pas d'un dépôt distant :

pacman -U _/path/to/package/package_name-version.pkg.tar.xz_

Installez un package "distant", non contenu dans un dépôt officiel :

pacman -U http://www.example.com/repo/example.pkg.tar.xz

Bonus :Dépannage des erreurs courantes avec pacman

Voici quelques erreurs courantes que vous pouvez rencontrer lors de la gestion des packages avec pacman.

Échec de validation de la transaction (fichiers en conflit)

Si vous voyez l'erreur suivante :

error: could not prepare transaction
error: failed to commit transaction (conflicting files)
package: /path/to/file exists in filesystem
Errors occurred, no packages were upgraded.

Cela se produit parce que pacman a détecté un conflit de fichiers et n'écrasera pas les fichiers pour vous.

Un moyen sûr de résoudre ce problème consiste à vérifier d'abord si un autre paquet possède le fichier (pacman -Qo /path/to/file ). Si le fichier appartient à un autre paquet, remplissez un rapport de bogue. Si le fichier n'appartient pas à un autre package, renommez le fichier qui "existe dans le système de fichiers" et relancez la commande de mise à jour. Si tout se passe bien, le fichier peut alors être supprimé.

Au lieu de renommer manuellement et de supprimer ultérieurement tous les fichiers appartenant au package en question, vous pouvez exécuter explicitement pacman -S –overwrite glob package pour forcer pacman à écraser les fichiers qui correspondent à glob .

Échec de validation de la transaction (paquet invalide ou corrompu)

Recherchez les fichiers .part (packages partiellement téléchargés) dans /var/cache/pacman/pkg/ et supprimez-les. Cela est souvent causé par l'utilisation d'un XferCommand personnalisé dans pacman.conf.

Échec de l'initialisation de la transaction (impossible de verrouiller la base de données)

Lorsque pacman est sur le point de modifier la base de données des packages, par exemple en installant un package, il crée un fichier de verrouillage dans /var/lib/pacman/db.lck. Cela empêche une autre instance de pacman d'essayer de modifier la base de données de packages en même temps.

Si pacman est interrompu lors de la modification de la base de données, ce fichier de verrouillage obsolète peut rester. Si vous êtes certain qu'aucune instance de pacman n'est en cours d'exécution, supprimez le fichier de verrouillage.

Vérifiez si un processus contient le fichier de verrouillage :

lsof /var/lib/pacman/db.lck

Si la commande ci-dessus ne renvoie rien, vous pouvez supprimer le fichier de verrouillage :

rm /var/lib/pacman/db.lck

Si vous trouvez le PID du processus contenant le fichier de verrouillage avec la sortie de la commande lsof, tuez-le d'abord, puis supprimez le fichier de verrouillage.

J'espère que vous aimez mon humble effort pour expliquer les commandes de base de pacman. Veuillez laisser vos commentaires ci-dessous et n'oubliez pas de vous abonner sur nos réseaux sociaux. Restez en sécurité !



Linux
  1. Premiers pas avec les pare-feux Linux

  2. Premiers pas avec la commande Linux tac

  3. Premiers pas avec PiFlash :démarrer votre Raspberry Pi sous Linux

  4. Premiers pas avec la commande Linux cat

  5. Premiers pas avec PostgreSQL sous Linux

Premiers pas avec les commandes ansibles ad hoc

Tutoriel Vagrant - Premiers pas avec Vagrant sous Linux

Premiers pas avec Docker Compose sous Linux

Premiers pas avec VirtualBox sous Linux - Partie 1

Premiers pas avec Flutter sur Linux Desktop

Premiers pas avec les exemples de commandes Alpine Linux Apk