Test/Sources instables
Les dépôts testing et unstable de Debian fournissent une version d'applications logicielles supérieure à ce qui est présent dans le dépôt stable. Notez que ces noms sont en fait des alias tels que le référentiel stable pointe vers la version stable actuelle de Debian et le référentiel Testing est ce qui fera partie de la prochaine version stable de Debian. Donc, au moment de cet article, Wheezy 7.x est la version stable et Jessie est la source de test qui sera la prochaine version stable.
Parfois, lorsque vous avez besoin d'obtenir une version plus récente d'une application particulière, le référentiel testing/unstable est une bonne option. J'avais la tâche d'installer Apache 2.4.x sur un système sifflant Debian. Mais le dépôt n'avait que 2.2.x et le dépôt de test avait la version 2.4.x requise. La solution consiste donc à le récupérer dans le dépôt de test.
La plupart du temps, lorsque nous recherchons des versions plus récentes d'applications logicielles, nous manipulons uniquement le référentiel "Tests".
Cet article va vous montrer comment configurer les sources Testing et Unstable sur un système Debian et comment installer des logiciels à partir de celles-ci, sans casser votre système existant.
Stable ... Testing ... Unstable Wheezy ... Jessie ... Sid
1. Configurez les sources apt pour les tests/dépôts instables
La première étape consiste à ajouter les sources testing/unstable à votre fichier sources.list. Le fichier /etc/apt/sources.list sur un système Debian Wheezy ressemble à ceci par défaut.
$ cat /etc/apt/sources.list
... deb http://security.debian.org/ wheezy/updates main deb http://http.us.debian.org/debian/ wheezy main deb-src http://security.debian.org/ wheezy/updates main ...
Notez l'URL du serveur de dépôt - http://http.us.debian.org/debian/
Ce serveur de dépôt est un miroir situé le plus près de chez vous. Ce sera différent dans votre fichier sources.list. La même chose doit être utilisée dans les étapes suivantes
Pour ajouter les sources de test et instables, vous devez ajouter quelque chose comme ceci à votre fichier sources.list
# Testing repository - main, contrib and non-free branches deb http://http.us.debian.org/debian testing main non-free contrib deb-src http://http.us.debian.org/debian testing main non-free contrib # Testing security updates repository deb http://security.debian.org/ testing/updates main contrib non-free deb-src http://security.debian.org/ testing/updates main contrib non-free # Unstable repo main, contrib and non-free branches, no security updates here deb http://http.us.debian.org/debian unstable main non-free contrib deb-src http://http.us.debian.org/debian unstable main non-free contrib
Le format est
deb <respository server/mirror> <repository name> <sub branches of the repo>
Au lieu de tester/unstable, les noms de code correspondants jessie et sid peuvent également être utilisés
deb http://http.us.debian.org/debian jessie main non-free contrib deb http://security.debian.org/ jessie/updates main contrib non-free deb http://http.us.debian.org/debian sid main non-free contrib
2. Épinglez apt – Important !
After adding the testing and unstable repos, if you update the system then all available updates for all installed applications would be installed right away, leading the system to an unpredictable state.
Par conséquent, certaines règles doivent être configurées afin de restreindre la sélection de packages lors des mises à jour/mises à niveau régulières.
Cela se fait par "apt pinning" où nous disons au système apt de n'utiliser que le système stable comme toujours, mais nous pouvons choisir d'installer un paquet particulier à partir du référentiel testing ou unstable si nous le souhaitons.
Les préférences d'épinglage apt peuvent être configurées dans l'un des 2 fichiers suivants.
/etc/apt/preferences OR /etc/apt/preferences.d/my_preferences
Ouvrez l'un des 2 emplacements (créez-en un s'il n'existe pas) et remplissez ce qui suit dans le fichier
Package: * Pin: release a=stable Pin-Priority: 700 Package: * Pin: release a=testing Pin-Priority: 650 Package: * Pin: release a=unstable Pin-Priority: 600
Mentionné précédemment, stable pointera vers votre version actuelle de Debian, testing vers la suivante, et unstable sera plus éloigné à l'avenir. La principale chose à noter est la priorité. La version stable/actuelle a reçu la priorité la plus élevée, ce qui signifie que pour les tâches régulières, apt-get n'installera les packages qu'à partir du référentiel stable actuel (wheezy dans ce cas).
Mettre à jour le cache du package
Après avoir ajouté le nouveau référentiel et spécifié les règles d'épinglage, mettez à jour le cache du package.
$ sudo apt-get update
Confirmer la politique apt
Nous devons nous assurer que la configuration d'épinglage est correcte et que les priorités sont respectées correctement. Vérifiez la politique apt effective avec la commande apt-cache
$ apt-cache policy apache2 apache2: Installed: (none) Candidate: 2.2.22-13 Version table: 2.4.7-1 0 600 http://http.us.debian.org/debian/ unstable/main amd64 Packages 2.4.6-3 0 650 http://http.us.debian.org/debian/ testing/main amd64 Packages 2.2.22-13 0 700 http://http.us.debian.org/debian/ wheezy/main amd64 Packages
La sortie ci-dessus confirme que la version 2.2.22 (le répertoire principal/stable de Wheezy) est sélectionnée, sa priorité la plus élevée.
3. Installer des applications à partir d'une source de test/instable
Il est maintenant temps de choisir un package particulier dans le dépôt de test ou instable et de l'installer. Disons donc que nous voulons installer apache2 à partir de la source de test.
Il y a 2 façons de le faire et chacune a un effet différent.
Méthode 1
# apt-get install apache2/testing
La commande ci-dessus installera le package apache2 à partir de la source de test et installera les dépendances à partir de la source stable (ou tout ce que la politique apt contient). Cette commande échoue dans les situations où les dépendances sont obsolètes par rapport à ce dont le package d'installation (apache2) a besoin.
Méthode 2
# apt-get -t testing install apache2
La commande ci-dessus installera apache2 à partir de la source de test et installera également toutes les dépendances à partir de la source de test. Cela devrait fonctionner mieux que la commande ci-dessus.
Donc, pour installer une version plus récente de n'importe quel paquet, dirigez-vous simplement vers les sources testing/unstable et profitez-en. Notez que les numéros de priorité ne sont pas simplement des nombres simples, mais ont des significations particulières. Consultez la page de manuel sur les préférences d'apt pour en savoir plus à leur sujet
$ man 5 apt_preferences
Résumé
L'utilisation du référentiel testing/unstable avec épinglage est un moyen simple d'obtenir de nouvelles versions de packages, mais ce n'est pas recommandé. S'il est mal fait, cela peut perturber le système en extrayant des packages de différentes branches qui peuvent ne pas être compatibles.
Une méthode plus recommandée pour installer les packages mis à jour consiste à utiliser le référentiel backports. Il fournit des versions plus récentes de packages sélectionnés à partir du dépôt testing/unstable, mais compilés pour la version stable actuelle. Ainsi, sur Debian Wheezy, vous pouvez utiliser le référentiel Wheezy-backports. Consultez http://backports.debian.org/ pour plus d'informations.
Ressources
https://wiki.debian.org/AptPreferences
https://wiki.debian.org/DebianTesting
https://www.debian.org/security/