Debian Squeeze vs. Backports : question sur la config

Bonjour,

Voici à quoi ressemble actuellement mon fichier /etc/apt/sources.list sur mon poste de travail :

[code]# /etc/apt/sources.list

Dépôts principaux

deb http://ftp.fr.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ squeeze main contrib non-free

Mises à jour (1)

deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free

Mises à jour (2)

deb http://ftp.fr.debian.org/debian/ squeeze-updates main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ squeeze-updates main contrib non-free

Paquets rétroportés

deb http://backports.debian.org/debian-backports squeeze-backports main
deb http://mozilla.debian.net/ squeeze-backports iceweasel-release

Multimédia

deb http://www.debian-multimedia.org squeeze main non-free

Virtualbox

deb http://download.virtualbox.org/virtualbox/debian squeeze contrib non-free[/code]

Avec cette config, je peux - par exemple - installer Iceweasel ou Icedove à partir des Backports, en faisant :

[code]

aptitude -t squeeze-backports install iceweasel[/code]

La question que je me pose : est-ce qu’il y a moyen d’indiquer à APT que pour certains paquets, il doit se servir dans les Backports, et sinon dans les dépôts “classiques” par défaut ?

Exemple : pour Iceweasel, Icedove, Amarok et les drivers propriétaires NVidia, je veux bien les backports. Tout le reste doit provenir des dépôts usuels (stable main contrib non-free).

Comment faire ?

Salut,

[quote=“kikinovak”]La question que je me pose : est-ce qu’il y a moyen d’indiquer à APT que pour certains paquets, il doit se servir dans les Backports, et sinon dans les dépôts “classiques” par défaut ?

Comment faire ?[/quote]
Sans souci pour l’installation d’iceweasel! :wink:

Suis tout simplement ce lien: logiciel:iceweasel

loreleil@machine1:~$ apt-cache policy iceweasel iceweasel: Installé : 11.0-3~bpo60+1 Candidat : 11.0-3~bpo60+1 Table de version : 11.0-3 0 10 http://ftp.fr.debian.org/debian/ experimental/main amd64 Packages *** 11.0-3~bpo60+1 0 500 http://mozilla.debian.net/ squeeze-backports/iceweasel-release amd64 Packages 100 /var/lib/dpkg/status 10.0.3esr-2 0 90 http://ftp.fr.debian.org/debian/ wheezy/main amd64 Packages 50 http://ftp.fr.debian.org/debian/ sid/main amd64 Packages 3.5.16-11 0 990 http://ftp.fr.debian.org/debian/ squeeze/main amd64 Packages 3.0.6-3 0 500 http://archive.debian.org/debian-archive/debian/ lenny/main amd64 Packages loreleil@machine1:~$

si tu ne spécifies pas explicitement que tu veux installer un paquet des backports(à condition que ton paquet existe dans les backports)apt installera par défaut le paquet de ta distribution.

Oui, je sais. Ma question allait plutôt dans le sens : est-ce qu’on peut le spécifier une bonne fois pour toutes, quelque part ?

Oui. Mots-clés :
/etc/apt/preferences
apt pinning

Si tu installes une fois un paquet depuis les dépôts backport, il suivra les mises-à-jour de ce dépôt sans action supplémentaire de ta part (priorité de 100 par défaut).
Pas besoin de fichier preferences !

A quoi devrait ressembler mon /etc/apt/preferences si je lui dis la chose suivante :

  • iceweasel, icedove, nvidia-kernel-dkms et amarok : toujours à partir du dépôt backports
  • tous les autres paquets : toujours à partir des dépôts “classiques”

???

Je ne suis pas sûr de piger la syntaxe du truc.

Oui, j’ai compris. Vous répondez tous à des questions que je ne pose pas, et personne ne répond à la question posée. Permettez donc que je donne un peu de contexte.

Voici un script que j’utilise pour installer un poste de travail standard à partir d’une install minimale :

[code]#!/bin/bash

configurer-bureau.sh

© Niki Kovacs, 2011

CWD=$(pwd)

Configurer APT

echo ":: Configuration de APT."
cat $CWD/…/apt/sources.list > /etc/apt/sources.list
chmod 0644 /etc/apt/sources.list

Télécharger la clé publique d’Oracle :

wget -c http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc
apt-key add $CWD/oracle_vbox.asc
rm -f $CWD/oracle_vbox.asc

Recharger les informations et mettre à jour

aptitude update
aptitude -y install debian-multimedia-keyring
aptitude -y install pkg-mozilla-archive-keyring
aptitude -y full-upgrade

Installer les paquets supplémentaires

PAQUETS=$(egrep -v ‘(^#)|(^\s+$)’ $CWD/paquets)
BACKPORTS=$(egrep -v ‘(^#)|(^\s+$)’ $CWD/paquets-recents)
aptitude -y install $PAQUETS
aptitude -t squeeze-backports -y install $BACKPORTS

Ranger les fonds d’écran à leur place

echo ":: Installation des fonds d’écran supplémentaires."
if [ -d /usr/share/wallpapers ]; then
cp -f $CWD/…/wallpapers/* /usr/share/wallpapers/
fi

Ranger les icônes à leur place

echo ":: Installation des icônes supplémentaires."
if [ -d /usr/share/pixmaps ]; then
cp -f $CWD/…/pixmaps/* /usr/share/pixmaps/
fi

Installer le profil par défaut des utilisateurs

echo ":: Installation du profil par défaut des utilisateurs."
if [ ! -d /etc/skel/Desktop ]; then
mkdir /etc/skel/Desktop
fi
cp -f $CWD/…/gtk/.gtkrc-2.0-kde /etc/skel/
rm -rf /etc/skel/.kde
mkdir -p /etc/skel/.kde/share/config
cp -f $CWD/…/kde/* /etc/skel/.kde/share/config/

Installer le script ‘cleanmenu’ et les fichiers *.desktop, avec des

permissions saines.

echo ":: Installation des entrées de menu personnalisées."
rm -rf /usr/local/sbin/{cleanmenu,desktop}
if [ -d /usr/share/applications ]; then
cp -Rf $CWD/…/cleanmenu/* /usr/local/sbin/
chmod 0700 /usr/local/sbin/cleanmenu
chmod 0700 /usr/local/sbin/desktop
chmod 0644 /usr/local/sbin/desktop/*.desktop
fi

Activer les polices Bitmap

if [ -h /etc/fonts/conf.d/70-no-bitmaps.conf ]; then
rm -f /etc/fonts/conf.d/70-no-bitmaps.conf
ln -s /etc/fonts/conf.avail/70-yes-bitmaps.conf /etc/fonts/conf.d/
dpkg-reconfigure fontconfig
fi

Faire le ménage dans les entrées de menu

/usr/local/sbin/cleanmenu

exit[/code]

Le script “lit” actuellement ses infos dans deux fichiers texte ‘paquets’ et ‘paquets-recents’.

J’aimerais bien lui indiquer tous les paquets à installer dans un seul fichier ‘paquets’, et ensuite lui indiquer ailleurs (par le biais de ce que je veux faire plus haut) d’installer certains paquets à partir des Backports. Or, je ne pige pas la syntaxe du truc.

[quote]La question que je me pose : est-ce qu’il y a moyen d’indiquer à APT que pour certains paquets, il doit se servir dans les Backports, et sinon dans les dépôts “classiques” par défaut ? [/quote]Absolument, c’est ce qu’on appelle le pinning.

Je te laisse le soin de chercher les informations qui vont bien sur le web, ce n’est pas ce qu’il manque. Tu peux également regarder dans le manuel avec :

Je te conseille même de le faire avant de te rendre sur le web. Le manuel est toujours un très bon début, voire parfois la meilleure référence pour configurer une distribution.

Expliquer comment ça fonctionne n’a pas vraiment sa place ici, ça nécessite un tuto complet.

En gros, je vous demande une poignée d’ingrédients pour une sauce au curry, et j’ai droit à un traité de biochimie alimentaire.

Bonjour,

Avec apt-get, j’ai installé des paquets en plaçant le dépôt en fin de ligne :

apt-get install outil -t squeeze-backports

Donc, dans ton fichier listant tes outils, tu peux les nommer outil ou outil -t squeeze-backports et adapter tes commandes grep en conséquence.

Fenouil, cumin, curcuma, moutarde, girofle, piment, coriandre, fenugrec, poivre noir. A partir de là tu as une bonne base pour commencer à préparer ton propre mélange. Pilon mortier ou un suribachi.

Je suis sûre de ne pas la piger mais je peux au moins dire à quelle page trouver une recette :
http://www.isalo.org/wiki.debian-fr/index.php?title=L%27etiquetage_de_paquets_via_le_fichier_/etc/apt/preferences

Je vais reformuler ma question de façon très pratique. Merci de répondre à la question posée, et de ne pas répondre à des questions que je ne pose pas.

  1. J’utilise Debian Squeeze stable, et dans mon sources.list, les Backports apparaissent.

  2. Les paquets paquet1, paquet2 et paquet3 doivent provenir des Backports.

  3. Tous les autres paquets doivent provenir des dépôts stables.

  4. Il doit en résulter le comportement suivant. Lorsque je fais :

J’obtiens le résultat suivant :

a) Les paquets paquet0, paquet4, paquet5 et paquet6 sont installés à partir des dépôts stables.
b) Les paquets paquet1, paquet2 et paquet3 sont installés à partir des Backports.

Question simple :

À quoi doit ressembler mon /etc/apt/preferences pour que j’obtienne le comportement décrit plus haut ?

Remarque : Oui, je viens de me frapper une floppée de tutos sur ça, j’ai lu les chapitres correspondants dans les bouquins de Raphael Hertzog, Heike Jurzik et Arnold Willemer que j’ai dans ma bibliothèque, mais je n’arrive pas à obtenir le comportement voulu.

Bonjour,

Afin de faire ce que tu demandes, il faut créer un fichier de préférences pour les paquets que tu souhaites :

su - nano /etc/apt/preferences.d/backports

Et placer dedans quelque chose du genre :

Package: iceweasel Pin: release a=squeeze-backports Pin-priority: 991

Le problème, c’est qu’apparemment, Iceweasel ne fait plus partie des backports pour Squeeze, d’où peut être les soucis pour obtenir le comportement que tu souhaites.

Ouups, peut être que ceci peut marcher :

Package: iceweasel Pin: release c=iceweasel-release Pin-priority: 991

Merci, NoOp ! C’est exactement ce que je cherchais.

Une priorité de 500 pour les paquets étiquetés depuis les dépôts backports est suffisante.
Ça leur permettra d’avoir une priorité égale avec les paquets originaires des dépôts non-étiquetés, et laissera la version la plus récente s’installer.

OK, j’ai expérimenté un peu dans tous les sens, et voilà ce que je dois avoir dans mon fichier preferences pour que ça colle :

Package: iceweasel* icedove* libcairo2 libnss3-1d libpixman-1-0 Pin: release a=squeeze-backports Pin-Priority: 500

[quote]1) J’utilise Debian Squeeze stable, et dans mon sources.list, les Backports apparaissent.

  1. Les paquets paquet1, paquet2 et paquet3 doivent provenir des Backports.

  2. Tous les autres paquets doivent provenir des dépôts stables.
    [/quote]

chez moi je fais ça très simplement:

pour les autres paquets la commande apt-get habituelle.Pas besoin de préférences.

C’est gentil, mais encore une fois, lis ma question en entier avant de te lancer dans une réponse. Je sais très bien comment fonctionne aptitude -t squeeze-backports install truc bidule machin. C’est pour une install scriptée, qui lit les paquets dans un fichier qui contient une suite d’applis.

Purée les gars, prenez au moins le temps de lire la question en entier avant de répondre.