{{tag>Bionic Jammy tutoriel administration apt dépôts paquet gestionnaire_de_paquets}}
----
====== Comment modifier les sources de logiciels ? ======
Ce mini-tutoriel résume les différentes manières de modifier les **sources de logiciels**.
===== Présentation =====
==== Pourquoi ajouter un dépôt ? ====
Ajouter un dépôt, c'est augmenter le nombre de programmes potentiels disponible pour votre système. Ainsi l'ajout d'un dépôt permet d'avoir accès à un nombre plus large de logiciels.
==== Pourquoi ne pas directement utiliser un paquet indépendant ? ====
Ajouter un dépôt permet aussi de maintenir une arborescence cohérente de logiciels/applications/programmes, ils seront ainsi disponibles pour une installation éventuelle grâce à certaines commandes ([[:apt-get]], [[:Aptitude]]) ou applications ([[:gnome-software|GNOME Logiciels]], [[:Synaptic]]). Certains de ces dépôts permettent de maintenir à jour le système (en corrigeant des bugs, ou des failles de sécurité) et les autres maintiennent à jour les logiciels/programmes installés. Ce qui permet d'éviter de rechercher un peu partout de nouvelles mises à jour pour les logiciels, celles-ci sont disponibles //via// les [[:gestionnaire_de_mises_a_jour|gestionnaires de mises à jour]] ou de [[:gestionnaire_de_paquets|paquets]].
==== À quoi reconnaît-on une ligne de dépôt ? ====
Un dépôt de logiciels se présente sous la forme d'une ligne commençant par « deb », par exemple :
deb http://exemple.com/ubuntu/ exemple-version main restricted
Un dépôt de code source (de logiciels) se présente sous la forme d'une ligne commençant par « deb-src », par exemple :
deb-src http://exemple.com/ubuntu/ exemple-version main restricted
La plupart des utilisateurs n'utilisent pas les dépôts de code source et peuvent donc les désactiver.
//→ Pour plus d'informations, consulter la page « **[[:depots|Les dépôts APT]]** ».//
===== Modifier les sources de logiciels =====
Il existe plusieurs façons de modifier les sources de mise à jour :
* [[#Avec une interface graphique | Avec une interface graphique]]
* [[#Modifier le fichier des sources | Par l'édition du fichier des sources]]
* [[#Ajout d'un PPA| Ajout d'un PPA]]
* [[#ajout_du_depot_partenaire_canonical_depuis_ubuntu_910_uniquement|Ajout du dépôt partenaire Canonical]]
Pour les méthodes qui suivent n'utilisant pas un [[:gestionnaire_de_paquets|gestionnaires de paquets]], veillez à ce que ceux-ci ainsi que le [[:gestionnaire_de_mises_a_jour|gestionnaire de mises à jour]] soient fermés avant de modifier les sources de mises à jour
==== Avec une interface graphique ====
Commencer par ouvrir l'interface [[:software-properties|Logiciels & mises à jour]] :
^ [[:Ubuntu]] | Diverses possibilités : - Rechercher // "Logiciels & mises à jour"//; - Depuis les [[:gnome-control-center|paramètres système]] -> //rubrique "système" -> "Logiciels & Mises à jour"//; - Depuis le menu de l'application -> //"Sources de logiciels"// de la [[:gnome-software|GNOME Logiciels]];- Depuis le menu //"Configuration" → "dépôts"// du gestionnaire de paquet [[:Synaptic]]. - Avec la commande : software-properties-gtk
|
^ [[:Mate]] | menu //Administration → Logiciels et mises à jour → Onglet «Autres logiciels»// |
^ [[:Kubuntu]] | menu //K → Système → Gestionnaire Muon → Configuration → Sources de logiciels// |
^ [[:Lubuntu]] | menu principal //→ Outils système → Gestionnaire de paquets Synaptic → Configuration → Dépôts// |
^ [[:Xubuntu]] | menu //Applications → Paramètres → Gestionnaire de mises à jour → Configuration → Autres logiciels// |
FIXME Ci-dessus, prendre en compte toutes les variantes et mettre à jour les info pour Kubuntu
Puis voici par exemple comment ajouter un dépôt via l'interface [[:software-properties|Logiciels & mises à jour]]:
^ Image ^ Action ^
| {{:tutoriel:autres_logiciels.png?nolink|Onglet « Autres logiciels »}} | Cliquez sur l'onglet « Autres logiciels » |
| {{:tutoriel:sources_de_logiciels_ajouter.png?nolink|Bouton « Ajouter »}} | Cliquez sur « Ajouter » en bas à gauche |
| {{:tutoriel:ajouter_deb.png?350|Ajout de la ligne APT d'un dépôt}} |1 Entrez le nom du dépôt (commençant par //**deb http:**// ou //**ppa:**//) puis 2 Cliquez sur « Ajouter une source de mises à jour », ensuite; 3 Cliquez sur «Fermer» et pour terminer; 4 Saisir votre mot de passe d'[[:sudo|administrateur]].|
| {{:tutoriel:actualiser.png?350|Bouton « Actualiser »}} | Rechargez la liste des paquets |
Si l'erreur suivante survient :
> Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible : NO_PUBKEY 0123456789ABC
ce n'est pas grave, le problème est juste que vous n'avez pas encore ajouté la clé d'authentification du dépôt (non obligatoire); pour savoir comment l'ajouter, [[#gerer_les_cles_d_authentification|voir la rubrique ci-dessous]].
==== Modifier le fichier des sources ====
[[tutoriel:comment_modifier_un_fichier|Ouvrez le fichier]] **/etc/apt/sources.list** avec les [[:sudo|droits d'administration]]\\
Un certain nombre de lignes sont déjà présentes, elles correspondent aux dépôts principaux d'Ubuntu.\\
Un exemple : pour ajouter le dépôt [[:depots|dépôt Restricted]], vous rajouterez à la fin de votre fichier « sources.list » les lignes :
deb http://fr.archive.ubuntu.com/ubuntu/ xenial main restricted
#deb-src http://fr.archive.ubuntu.com/ubuntu/ xenial main restricted
Ici, vous remarquez que les « # » placés devant les lignes des dépôts-sources commentent la ligne et donc désactivent ces dépôts..
==== Ajout d'un PPA ====
Voir [[:ppa#ajout_d_un_ppa_a_vos_sources_logicielles|cette section]] de la page concernant les PPA.
==== Ajout du dépôt partenaire Canonical ====
[[:depots#depot_partenaire_ou_depot_commercial|À propos du dépôt commercial]]
Ce dépôt peut être ajouté:
* Depuis [[:gnome-software|GNOME Logiciels]] en déroulant le menu //Obtenir des logiciels → **Partenaires de Canonical**//. Consulter alors les informations d'un des paquets fournis et choisissez "utilisez cette source"; Ou:
* Depuis l'application [[:software-properties|Logiciels & mises à jour]] -> onglet:// "Autres logiciels"//-> et cocher la case //**Partenaires de Canonical**//.
===== Recharger la liste des paquets =====
Une liste des paquets disponibles dans les dépôts est présente sur votre ordinateur. Après avoir modifié vos dépôts, il faut donc mettre à jour cette liste pour qu'elle prenne en compte les paquets supplémentaires qu'apportent ces nouveaux dépôts.
Depuis la dernière mise à jour de la liste des paquets, il se peut que des paquets aient été mis à jour. Il est donc conseillé de recharger la liste des paquets avant l'installation d'un logiciel.
Ce rechargement est nécessaire pour éviter des erreurs.
==== Avec une interface graphique ====
^ Ubuntu | Avec [[:gnome-software|Logiciel]] le rechargement de la liste des paquets se fait automatiquement au lancement du logiciel. |
^ Kubuntu | Menu //K → Applications → Système → Gestion des logiciels → Mise à jour logicielle → Rafraîchir// |
^ Lubuntu | menu principal //→ Outils système → Gestionnaire de paquets Synaptic → Recharger// |
^ Xubuntu | //Applications → Système → Gestionnaire de paquets Synaptic → Recharger// |
^ [[:mate|Ubuntu Mate]] | menu //Système → Administration → Gestionnaire de paquets Synaptic → Recharger// |
==== En ligne de commande ====
Exécutez la commande suivante dans un [[:terminal]] avec les [[:sudo|droits d'administration]] :
apt update
===== Gérer les clés d'authentification =====
Certaines sources de mise à jour utilisent un système de clés qui permet de vérifier l'authenticité et l'intégrité des paquets proposés.
Si lors d'un rechargement de la liste des paquets, vous obtenez un message du type :
> Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible : NO_PUBKEY 0123456789ABC
c'est qu'il vous manque une clé d'authentification.
Il est possible d'utiliser les dépôts sans cette clé((ne pas la mettre ne vous empêchera donc en aucun cas d'utiliser les programmes contenus)) mais c'est déconseillé car ceci vous priverait de la garantie d'authenticité des paquets.
==== Méthode automatisée (recommandé) ====
La plupart du temps, le site internet du dépôt que vous souhaitez ajouter vous donne une ligne de commande à copier-coller dans un [[:terminal]] pour ajouter la clé d'authentification. Ce qui donne quelque chose qui ressemble à ça :
wget -q http://fr.packages.exemple.org/exemple-key.gpg -O- | sudo apt-key add -
Cette commande téléchargera la clé et l'ajoutera dans votre « trousseau de clés d'authentification ».
Si ce n'est pas le cas, il faut l'ajouter [[#methode_manuelle|manuellement]] (cf. infra).
==== Méthode manuelle ====
Pour ajouter une clé d'authentification manuellement, il vous faut tout d'abord télécharger la clé d'identification puis l'importer.
=== Télécharger la clé d'identification ===
La clé d'identification est un petit fichier se terminant souvent par « .asc » ou « .gpg ».
Pour l'enregistrer via votre navigateur web, il suffit de faire //clic droit -> Enregistrer sous// sur le lien menant à la clé. (Attention, il s'agit d'un fichier texte contenant une suite de caractère, donc si vous cliquez simplement dessus via Firefox, vous ouvrirez juste le fichier texte dans Firefox sans l'enregistrer).
Si la clé n'est pas disponible au téléchargement, récupérez-la par cette méthode :
* télécharger la clé publique en utilisant la commande « [[:gnupg|gpg]] » sur les 8 derniers caractères du code **0123456789ABC** fourni par [[#Gérer les clés d'authentification|le message d'erreur vu précédemment lors de l'ajout du dépôt]], soit ici : **56789ABC**.
* Ce qui nous donne la commande : gpg --recv-key 56789ABC
ou avec le serveur : gpg --keyserver wwwkeys.eu.pgp.net --recv-key 56789ABC
Vous avez également la possibilité d'exporter en un seul fichier asc ou gpg toute vos clés graphiquement par le trousseau de clé ou avec la commande ci-dessous vous évitant ainsi des commandes répétitives.
sudo apt-key exportall > nom_fichier.asc
=== Importer la clé d'identification ===
Une fois que vous avez enregistré la clé (fichier « .asc » ou « .gpg ») sur votre ordinateur, il vous suffit d'**importer cette clé**:
* soit via le [[:terminal]]((remplacez 56789ABC par les 8 derniers caractères de votre code d'erreur)) : gpg --export --armor 56789ABC | sudo apt-key add -
* soit avec une interface graphique : allez dans le menu ci-dessous puis cliquez sur « Importer la clé » pour choisir la clé précédemment téléchargée (.asc ou .gpg).
^ Ubuntu, Edubuntu | - Rechercher // "Logiciels & mises à jour" une fois dans Sources de logiciels → Authentification// |
^ Kubuntu | Menu //K → Système → Gestionnaire Adept → Adept → Gérer les dépôts → Authentification// |
^ Lubuntu | menu principal //→ Outils système → Gestionnaire de paquets Synaptic → Configuration → Dépôts → Authentification// |
^ Xubuntu | //Applications → Système → Sources de mises à jour → Authentification// |
^ [[:mate|Ubuntu Mate]] | menu //Système → Administration → Sources de logiciels → Authentification// |
{{ tutoriel:sources_maj_cle_auth.png }}
==== Méthode d'authentification apt-key abandonnée « deprecated » ====
Notamment à partir d'Ubuntu 22.04 (Jammy), l'authentification par apt-key est abandonnée pour manque de sécurité (l'utilisation d'une de ces clés pouvait permettre la modification de n'importe quel paquet, même s'il n'était pas lié à cette clé).
Ainsi, lors d'une mise à jour ou de l'ajout d'une de ces sources, pouvez obtenir un message du type : Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details
Il va falloir extraire et exporter cette clé vers un nouveau répertoire.
1 - Pour faire la liste des clés apt-key enregistrées :
sudo apt-key list
qui donne un résultat du type :
pub rsa1024 2010-03-14 [SC]
1779 61E7 89BE 960F E5E5 9170 B78C 97EF 9B22 35DD
uid identification de l'application
2 - On va exporter cette clé dans le répertoire usr/share/keyrings/ :
sudo apt-key export 9B2235DD | sudo gpg --dearmour -o /usr/share/keyrings/monappli.gpg
où **9B2235DD** sont les 8 derniers caractères de la clé pub. Vous remplacez monappli par le nom de votre application.
3 - Ouvrir le répertoire etc/apt/sources.list.d/ qui doit contenir un fichier de dépôt correspondant au nom de votre application. Ouvrir le dit fichier avec les [[:sudo|Droits de super utilisateur]] et ajouter la fonction signed-by avec le chemin de la clé. La description de la source devrait corresponde à la ligne exemple suivante (ici pour GoogleEarth avec un fichier clé nommé gearth.gpg). C'est la partie entre [ ] qui est ajoutée ou complétée ; le reste de la ligne n'est pas modifié.
deb [arch=amd64 signed-by=/usr/share/keyrings/gearth.gpg] http://dl.google.com/linux/earth/deb/ stable main Enregistrer.
4 - Actualiser la liste des sources par sudo apt update
Si tout va bien, il n'y a plus de message d'alarme.
5 - Penser à enlever la clé de l'ancienne liste apt-key par sudo apt-key del 9B2235DD
A noter que pour certaines applications, ceci ne semble pas marcher (Teamviewer par exemple). Aller alors sur le site du distributeur et chercher la clé d'authentification publique ; pour Teamviewer, c'est une clé texte avec un fichier au format .asc (bien faire un clic-droit sur le lien pour le télécharger plutôt que l'afficher dans Firefox). Voir aussi § 4.2.1
Vous devrez ensuite déplacer ce fichier dans le répertoire /usr/share/keyrings/ (comme lors de l'extraction au point 2) et modifier le fichier source.list correspondant en mettant bien .asc en suffixe du nom du fichier de clé (similaire au point 3).
A noter aussi que le fichier d'information man de apt-key indique plutôt le répertoire /etc/apt/keyrings/ pour enregistrer ces clés… En tout cas, il faut que le chemin soit indiqué dans la ligne donnant la description du dépôt.
[[https://askubuntu.com/questions/1398344/apt-key-deprecation-warning-when-updating-system|Source]]
===== Voir aussi =====
* Pour en savoir plus, consultez la page sur les [[:dépôts]].
* Pour créer votre propre fichier **[[:sources.list]]** rapidement et efficacement.
* **(en)** [[https://help.ubuntu.com/community/Repositories/Ubuntu|Page "Repositories" du wiki anglophone]]
----
//Contributeurs principaux : [[:utilisateurs:Ner0lph]], [[:utilisateurs:Loack]], [[utilisateurs:Fabien26]], [[:utilisateurs:_Enchained]], [[:utilisateurs:bioman]], [[:utilisateurs:YannUbuntu]].//