Installation de packages à partir de référentiels externes dans Ubuntu [Explained]

  • FrançaisFrançais



  • Vous avez quelques idées sur l’installation de packages dans Ubuntu avec la commande apt. Ces packages proviennent des dépôts d’Ubuntu.

    Qu’en est-il du référentiel tiers ou externe ? Non, je ne parle pas de PPA ici.

    Tôt ou tard, vous rencontrerez des instructions d’installation d’au moins quatre lignes. Vous installez quelque chose appelé « apt-transport-https », puis faites quelque chose avec gpg et la liste des sources. Après cela, vous installez le package.

    Je ne me souviens pas complètement. Permettez-moi de partager un exemple d’installation de la dernière version de Yarn sur Ubuntu :

    sudo apt install apt-transport-https curl
    curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
    sudo sh -c 'echo "deb https://dl.yarnpkg.com/debian/ stable main" >> /etc/apt/sources.list.d/yarn.list'
    sudo apt update && sudo apt install yarn

    Vous rencontrerez souvent une telle méthode d’installation lors de l’installation d’outils de programmation directement auprès des développeurs.

    Beaucoup de gens se contentent de suivre les instructions sans réfléchir à deux fois à ce qui se passe ici. Rien de mal à cela, mais connaître le processus améliore réellement vos connaissances sur le sujet et pourrait également aider au dépannage.

    Permettez-moi d’expliquer la logique derrière ces lignes.

    Comprendre la procédure d’installation à partir de référentiels externes

    Avant de continuer, je vous recommande fortement de lire ces deux articles afin que les choses soient un peu plus claires pour vous :

    Pour rappel rapidement, voici une représentation visuelle des référentiels et du gestionnaire de packages sous Linux.

    Explication du gestionnaire de packages Linux
    Illustration du référentiel et du gestionnaire de packages

    L’idée ici est d’ajouter un nouveau référentiel externe à votre système. De cette façon, vous pourrez télécharger et installer les packages disponibles à partir de ce nouveau référentiel. Si le référentiel fournit une mise à jour sur la version du package, vous devez mettre à jour le package installé avec les mises à jour du système (apt update && apt upgrade).

    Alors, comment ça marche? Passons en revue les lignes une par une.

    Partie 1 : Obtenir le support HTTPS pour apt

    La première ligne est celle-ci :

    sudo apt install apt-transport-https curl

    Curl est un outil pour télécharger des fichiers dans un terminal Linux. La partie principale ici est l’installation de apt-transport-https et franchement, plus besoin de parler.

    Confus? Ce package apt-transport-https permet à votre système d’accéder aux référentiels via le protocole sécurisé HTTPS. De par leur conception, les référentiels Ubuntu utilisent http, pas https.

    Jetez un œil à la capture d’écran ci-dessous. Les https sont les référentiels externes que j’ai ajoutés à mon système. Les référentiels Ubuntu et PPA utilisent http.

    mise à jour apt http https

    Dans l’ancienne version du gestionnaire de packages apt, le support https n’était pas inclus. Le package apt-transport-https ajoute le support https à apt. Pour ajouter un référentiel qui utilise https, ce package est installé en premier.

    N’ai-je pas dit que ce n’était plus nécessaire ? Oui, car les nouvelles versions d’apt (supérieures à 1.5) prennent en charge https et vous n’avez donc plus besoin d’installer apt-transport-https.

    Et pourtant, vous voyez ce paquet mentionné dans les instructions. C’est plus pour des raisons héritées ou pour des versions de distribution vraiment anciennes qui pourraient utiliser une ancienne version d’apt.

    Maintenant, vous vous demandez peut-être pourquoi les référentiels Ubuntu utilisent http et non https alors que https est le protocole sécurisé. N’est-ce pas un risque pour la sécurité ? Le segment suivant répondra à cette question.

    Partie 2 : Ajout de la clé GPG du référentiel distant

    Les référentiels Linux ont ce mécanisme de sécurité intégré basé sur la clé GPG. Chaque référentiel a ajouté sa clé GPG publique aux clés de confiance de votre système. Les packages des référentiels sont « signés » par cette clé GPG et grâce à la clé publique stockée, votre système vérifie que le package provient du référentiel.

    S’il y a une incompatibilité entre les clés, votre système générera une erreur au lieu d’installer ou de mettre à jour les packages à partir dudit référentiel.

    Jusqu’ici tout va bien. L’étape suivante consiste à ajouter la clé GPG publique du référentiel externe à votre système Linux afin qu’il fasse confiance au package de ce référentiel.

    curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -

    Dans la commande ci-dessus, vous téléchargez la clé GPG à partir de l’URL donnée à l’aide de curl. L’option sS garantit que vous ne voyez pas la sortie inondée (mode silencieux) mais affiche l’erreur (le cas échéant). Le dernier - dit à apt-key de prendre stdin au lieu d’un fichier (qui est la sortie de la commande curl dans ce cas).

    La clé de téléchargement est ajoutée au système avec apt-key add commander.

    Vous pouvez voir les clés GPG ajoutées par divers référentiels de votre système en utilisant le apt-key list commander.

    liste apt clé gpg ubuntu
    Lister les clés GPG

    C’est une façon d’ajouter la clé GPG au système. Vous verrez d’autres commandes qui peuvent sembler légèrement différentes mais qui font le même travail d’ajout de la clé publique du référentiel à votre système.

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9

    Vous remarquerez un avertissement indiquant que apt-key est obsolète. Vous pouvez toujours utiliser la commande apt-key jusqu’à Ubuntu 22.04, mais elle sera finalement supprimée. Ne nous en inquiétons pas pour le moment.

    Partie 3 : Ajout du référentiel externe à votre liste de sources

    La commande suivante ajoute une nouvelle entrée dans la liste des sources de votre système. De cette façon, votre système saura qu’il doit vérifier ce référentiel pour les packages et les mises à jour.

    sudo sh -c 'echo "deb https://dl.yarnpkg.com/debian/ stable main" >> /etc/apt/sources.list.d/yarn.list'

    Il existe un fichier /etc/apt/sources.list qui contient les détails des référentiels Ubuntu. Ce fichier ne doit pas être touché. Tous les référentiels supplémentaires doivent être placés dans leur propre fichier respectif (se terminant par la convention .list) dans le répertoire /etc/apt/sources.list.d.

    liste des sources ubuntu
    Le référentiel externe doit avoir son propre fichier de liste de sources dans le répertoire /etc/apt/sources.list.d

    Cela facilite la gestion des paquets. Si vous supprimez un référentiel du système, il vous suffit de supprimer le fichier sources correspondant. Pas besoin de jouer avec le fichier principal sources.list.

    Regardons la commande un peu plus en détail.

    sudo sh -c 'echo "deb https://dl.yarnpkg.com/debian/ stable main" >> /etc/apt/sources.list.d/yarn.list'

    Avec sh, vous demandez d’exécuter la commande dans un nouveau shell, au lieu du sous-shell. -c L’option indique à la commande sh de lire les commandes de l’opérande au lieu de l’entrée standard. Ensuite, il exécute la commande echo qui ajoute essentiellement une ligne deb https://dl.yarnpkg.com/debian/ stable main dans le fichier /etc/apt/sources.list.d/yarn.list (le fichier sera créé)

    Maintenant, il peut y avoir de nombreuses façons de créer un fichier .list dans le répertoire spécifié et d’y ajouter la ligne avec les détails du référentiel. Vous pouvez également l’utiliser comme ceci :

    echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

    Vous comprenez l’essentiel, n’est-ce pas ?

    Partie 4 : Installation de l’application à partir du référentiel nouvellement ajouté

    Jusqu’à présent, vous avez ajouté la clé GPG du référentiel et l’URL du référentiel au système.

    Mais votre système ne connaît toujours pas le package disponible à partir de ce nouveau référentiel. C’est pourquoi vous devez d’abord mettre à jour le cache local des métadonnées du package avec cette commande :

    sudo apt update

    Votre système aura les informations sur les packages disponibles à partir du référentiel nouvellement ajouté et vous pouvez installer le package maintenant :

    sudo apt install yarn

    Pour gagner du temps, vous pouvez exécuter les deux commandes l’une après l’autre sur une seule ligne.

    sudo apt update && sudo apt install yarn

    Le && garantit que la deuxième commande ne s’exécute que lorsque la commande précédente s’est terminée sans aucune erreur.

    Et ainsi le processus se termine.

    Cela a-t-il clarifié les choses ou vous a-t-il encore plus confus ?

    J’ai expliqué la logique derrière les étapes d’utilisation des référentiels externes dans Ubuntu. J’espère que vous avez une meilleure compréhension du sujet maintenant, mais il est également possible que trop de détails soient déroutants.

    Si les choses ne sont toujours pas claires ou si vous avez des questions supplémentaires, n’hésitez pas à me le faire savoir. Si vous remarquez des inexactitudes techniques, veuillez me le faire savoir dans la section commentaire.

    Source

    N'oubliez pas de voter pour cet article !
    1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
    Loading...

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée.