neos - Pinning sous Debian. http://neos.tuxfamily.org/index.php
Transcription
neos - Pinning sous Debian. http://neos.tuxfamily.org/index.php
neos - Pinning sous Debian. Accueil http://neos.tuxfamily.org/index.php?option=com_c... Tutos Liens Contact News Rechercher Galerie Pinning sous Debian. Le fichier sources.list contient les adresses pointant vers les différents dépôts de Debian. Ce fichier se trouve dans /etc/apt/, vous en aurait la description complète dans le man en ligne de commandes --> man sources.list Un fichier sources.list complet pour etch (l'actuelle version stable) devrait contenir ceci : # Dépôts Etch (Stable) deb http://ftp.fr.debian.org/debian/ etch main contrib non-free deb-src http://ftp.fr.debian.org/debian/ etch main contrib non-free # Dépots sécurité deb http://security.debian.org/ etch/updates main contrib non-free deb-src http://security.debian.org/ etch/updates main contrib non-free # Dépôts Multimédia deb http://www.debian-multimedia.org/ etch main deb-src http://www.debian-multimedia.org/ etch main Il est clair qu'un fichier sources.list est à adapté selon ces besoins, pour serveur nulle besoin de dépôts multimédia. à ce sources.list on peut aussi rajouter les dépôts "volatiles" ou encore les dépôts "Backports". Qu'est-ce que les dépôts volatile ? Qu'est-ce que les dépôts backports ? Un fichier sources.list pour lenny (l'actuelle testing) # Dépôts lenny (testing) deb http://ftp.fr.debian.org/debian/ lenny main contrib non-free deb-src http://ftp.fr.debian.org/debian/ lenny main contrib non-free # Dépôts sécurité deb http://security.debian.org/ lenny/updates main contrib non-free deb-src http://security.debian.org/ lenny/updates main contrib non-free # Dépôts multimédia deb http://www.debian-multimedia.org/ lenny main deb-src http://www.debian-multimedia.org/ lenny main Un fichier sources.list pour Sid (Unstable). # Dépôts sid (unstable) deb http://ftp.fr.debian.org/debian/ sid main contrib non-free deb-src http://ftp.fr.debian.org/debian/ sid main contrib non-free # Dépôts multimédia deb http://www.debian-multimedia.org/ sid main deb-src http://www.debian-multimedia.org/ sid main Il y aussi les dépôts "expérimental" qui s'utilisent en complément aux autres dépôts : # Depot experimental 1 sur 6 Copyright 2008 neos. 28/11/2008 21:27 neos - Pinning sous Debian. http://neos.tuxfamily.org/index.php?option=com_c... deb http://ftp.fr.debian.org/debian/ experimental main contrib non-free deb-src http://ftp.fr.debian.org/debian/ experimental main contrib non-free # Dépôts Multimédia deb http://www.debian-multimedia.org/ experimental main deb-src http://www.debian-multimedia.org/ experimental main Pour les Dépôts Multimédia, vous aurez certainement un message concernant une clé gpg manquante, pour y remédier (en root) : # apt-get install debian-multimedia-keyring ou # gpg --keyserver pgpkeys.mit.edu --recv-key clé puis # gpg -a --export clé | apt-key add remplacer clé par les 8 derniers chiffres de la clé demandé Quelques précisions sur ces trois principales branches (Stable,Testing,Unstable) : La distribution Stable (etch) est la version officiel de Debian, elle contient des paquets stabilisés, c'est donc la version recommandée pour une utilisation en production, type serveur. La distribution Testing (Lenny) comprend des paquets plus récents mais qui ne sont pas encore stabilisés et qui sont encore en cours de tests on ne peut donc pas avoir confiance à 100 % pour une utilisation de type serveur, Testing est donc la distribution en cours de stabilisation. La distribution Unstable (Sid) est comme son nom l'indique instable et contient les paquets en cours de dévellopement , les paquets sont plus récents, mais certains bugs non résolus. plutot destinés aux utilisateurs plus avançés. Le fichier preferences ou comment gérer plusieurs dépôts dans un même sources.list. Un fichier preferences, qu'il faudra créer dans /etc/apt/ permet de donner des priorités aux dépôts, L'intéret est de garder la version des paquets que l'on souhaite, c'est à dire, faire des mise à jour pour une distribution donnée, puis, pouvoir piocher dans un autre dépôt si le paquet n'est pas disponible dans votre distribution par défaut, on va donc pouvoir gérer plusieurs versions de paquets dans les différentes branches disponible. Un exemple sera plus parlant. Pour cet exemple on va cumuler les dépôts cités plus haut . ##Dépôts Etch (Stable) deb http://ftp.fr.debian.org/debian/ etch main contrib non-free deb-src http://ftp.fr.debian.org/debian/ etch main contrib non-free deb http://security.debian.org/ etch/updates main contrib non-free deb-src http://security.debian.org/ etch/updates main contrib non-free deb http://www.debian-multimedia.org/ etch main deb-src http://www.debian-multimedia.org/ etch main ## Dépôts lenny (testing) deb http://ftp.fr.debian.org/debian/ lenny main contrib non-free deb-src http://ftp.fr.debian.org/debian/ lenny main contrib 2 sur 6 28/11/2008 21:27 neos - Pinning sous Debian. http://neos.tuxfamily.org/index.php?option=com_c... non-free deb http://security.debian.org/ lenny/updates main contrib non-free deb-src http://security.debian.org/ lenny/updates main contrib non-free deb http://www.debian-multimedia.org/ lenny main deb-src http://www.debian-multimedia.org/ lenny main ##Dépôts sid (unstable) deb http://ftp.fr.debian.org/debian/ sid main contrib non-free deb-src http://ftp.fr.debian.org/debian/ sid main contrib non-free deb http://www.debian-multimedia.org/ sid main deb-src http://www.debian-multimedia.org/ sid main #Depot experimental deb http://ftp.fr.debian.org/debian/ experimental main contrib non-free deb-src http://ftp.fr.debian.org/debian/ experimental main contrib non-free deb http://www.debian-multimedia.org/ experimental main deb-src http://www.debian-multimedia.org/ experimental main Un fichier preferences, pour par exemple utiliser en priorité les dépôts stable, ensuite testing, unstable et enfin experimental . Pour créer ce fichier, il suffit d'utiliser votre éditeur de textes favori, par exemple avec nano en ligne de commandes # nano /etc/apt/preferences et d'y mettre le contenu adéquate pour utiliser en priorité la version stable des paquets. Package: * Pin: release o=Debian,a=stable Pin-priority: 990 Package: * Pin: release o=Unofficial Multimedia Packages,a=stable Pin-priority: 980 Package: * Pin: release o=Debian,a=testing Pin-priority: 970 Package: * Pin: release o=Unofficial Multimedia Packages,a=testing Pin-priority: 960 Package: * Pin: release o=Debian,a=unstable Pin-priority: 90 Package: * Pin: release o=Unofficial Multimedia Packages,a=unstable Pin-priority: 80 Package: * Pin: release o=Debian,a=experimental Pin-priority: 70 Package: * Pin: release o=Unofficial Multimedia Packages,a=experimental Pin-priority: 60 Vous l'aurez compris, il suffit de donner la priorité la plus haute (Pin-priority: valeur) 3 sur 6 28/11/2008 21:27 neos - Pinning sous Debian. http://neos.tuxfamily.org/index.php?option=com_c... à la version de la distribution que l'on souhaite privilégié (Stable dans l'exemple) Les mise à jours se feront donc en version stable (etch actuellement) et lorsque vous installerez un paquet, il prendra la version existante dans stable, si inexistante il cherchera ensuite dans les dépôts testing et ainsi de suite. Les valeurs : P > 1000 Le paquet sera installé même si APT est forcé d'installer une version plus ancienne que la version actuelle 990 < P <=1000 Le paquet sera installé sauf si la version installée est plus récente. 500 < P <=990 le paquet ne sera installé qu'à défaut de version plus récente installée ou disponible dans la distribution cible 100 < P <=500 Le paquet ne sera installé que s'il en existe aucune version plus récente, installée ou disponible dans une autre distribution 0 < P <=100 Le paquet ne sera installé que si aucune autre version du paquet n'est installée P<0 le paquet ne sera jamais installé il y a bien sur plusieurs possibilitées à intégrer dans ce fichier, pour en savoir plus n'hésitait pas à consulter le man apt_preferences en ligne de commandes, très complet et instructif. !!!! Très important !!!! lorsque vous modifiez votre sources.list et après création du fichier preferences. faites un # apt-get update mais pas de # apt-get upgrade ou # apt-get dist-upgrade sans avoir saisis cette commande --> apt-cache policy pour controler si les priorités ont été prises en compte. Les "Pin-priority" s'afficheront à gauche (90,......) aucune ligne ne doit rester à la valeur 500, à part les lignes où il est indiqué "translation" comme par exemple : 500 http://www.debian-multimedia.org lenny/main Translation-fr Pour l'instant pas plus d'explication sur ces lignes, ça dérange pas de toute façon. Cette même commande est à utiliser souvent pour connaître les différentes versions disponible pour un paquet donné en argument et ainsi choisir la version que l'on souhaite installé, un exemple avec le jeu wesnoth. apt-cache policy wesnoth 4 sur 6 28/11/2008 21:27 neos - Pinning sous Debian. http://neos.tuxfamily.org/index.php?option=com_c... Pour installer la version de wesnoth du dépôt experimental : # apt-get install -t experimental wesnoth ou # apt-get install wesnoth/experimental Ces deux commandes donne temporairement la priorité 990 à la distribution indiquée (experimental dans l'exemple). il faut donc être prudent et simuler d'abord l'installation avec l'option -s pour voir ce qui se passe, vérifier que les dépendances soient toutes satisfaites, car comme vous pouvez vous en doutez tout à une limite. Si un paquet de part ses dépendances demande par exemple une version plus récente du paquet libc6 , sachez que libc6 fait partie du coeur du système, au temps passer à la distribution supérieur, mais ce n'est heureusement pas souvent le cas. Pour passer d'une distribution à une autre Par exemple pour passer de etch (stable) à lenny (testing). il faudra donc mettre une priorité plus haute pour testing. Un exemple avec un sources.list etch+lenny : ##Dépôts Etch (Stable) deb http://ftp.fr.debian.org/debian/ etch main contrib non-free deb-src http://ftp.fr.debian.org/debian/ etch main contrib non-free deb http://security.debian.org/ etch/updates main contrib non-free deb-src http://security.debian.org/ etch/updates main contrib non-free deb http://www.debian-multimedia.org/ etch main deb-src http://www.debian-multimedia.org/ etch main ## Dépôts lenny (testing) deb http://ftp.fr.debian.org/debian/ lenny main contrib non-free deb-src http://ftp.fr.debian.org/debian/ lenny main contrib non-free deb http://security.debian.org/ lenny/updates main contrib non-free deb-src http://security.debian.org/ lenny/updates main contrib non-free deb http://www.debian-multimedia.org/ lenny main deb-src http://www.debian-multimedia.org/ lenny main On va faire un fichier preferences avec une priorité plus haute pour lenny (testing) Package: * Pin: release o=Debian,a=testing Pin-priority: 990 Package: * Pin: release o=Unofficial Multimedia Packages,a=testing 5 sur 6 28/11/2008 21:27 neos - Pinning sous Debian. http://neos.tuxfamily.org/index.php?option=com_c... Pin-priority: 980 Free Joomla Template by Estime Package: * Pin: release o=Debian,a=stable Pin-priority: 970 Package: * Pin: release o=Unofficial Multimedia Packages,a=stable Pin-priority: 960 il suffira ensuite de faire un apt-get update puis apt-get dist-upgrade et les paquets seront tous mis à jour vers testing Pour bloquer la version d'un paquet Vous voudriez peut-être bloquer un paquet pour qu'il ne puisse pas se mettre à jour. Un exemple avec nano, pour connaîttre la version actuellement installée, on peut utiliser apt-cache show apt-cache show nano | grep Version l'entrée adéquate à mettre dans le fichier preferences sera : Package: nano Pin: version 2.0.7-4 Pin-priority: 1001 On vérifie avec apt-cache policy le paquet doit apparaîttre "étiquetés" < Précédent Suivant > [ Retour ] XHTML 1.0 | CSS 6 sur 6 28/11/2008 21:27