7 votes

Comment puis-je apt-pin stable ?

J'ai changé d'avis quelque temps après l'installation, et je préfère stable à testing pour ce système particulier. Malheureusement, j'ai actuellement des paquets dans d'anciennes versions de testing. J'ai besoin de forcer une mise à niveau pour les remettre sur la voie de Squeeze tout en gardant un ou deux (plus les dépendances) dans les versions testing. Malheureusement, mon fichier de préférences ne joue pas bien avec les autres. J'ai essayé de nombreuses variations sur version n= , version a= etc.

bash# cat /etc/apt/preferences.d/pinstable
Package: *
Pin: release a=testing
Pin-Priority: -10

Package: *
Pin: release a=stable
Pin-Priority: 1010

J'ai mis la version par défaut sur stable :

bash# cat /etc/apt/preferences.d/apt.conf.d/99release
APT::Default-Release "stable";

Voici un exemple utilisant un paquet aléatoire qui a quelques versions possibles :

bash# apt-cache policy libapache2-mod-php5
libapache2-mod-php5:
  Installed: 5.3.6-13
  Candidate: 5.3.6-13
  Version table:
     5.3.9-1 0
        -10 http://mirror.rit.edu/debian/ testing/main i386 Packages
 *** 5.3.6-13 0
        100 /var/lib/dpkg/status
     5.3.3-7+squeeze7 0
        990 http://security.debian.org/ squeeze/updates/main i386 Packages
     5.3.3-7+squeeze3 0
        990 http://mirror.rit.edu/debian/ squeeze/main i386 Packages

Pourquoi les versions Squeeze n'ont-elles pas la priorité 1010 ?

0 votes

Qu'est-ce qui les pousse à 990, je me le demande ? Y a-t-il quelque chose dans le fichier de préférences principal à /etc/apt/preferences ?

0 votes

@ShaneMadden non, toujours inexistant :(

0 votes

@ShaneMadden Au fait, j'ai réalisé que j'avais peut-être mal interprété votre commentaire : la valeur par défaut est 990 puisqu'elle est dans la version cible. Il n'est simplement pas remplacé par le fichier de préférences. Mais le fichier de préférences est en écrasant la priorité pour les tests (500 -> -10).

4voto

jammus Points 1796

Le problème ici est que votre /etc/apt/apt.conf.d/99release fichier.

から man 5 apt_preferences

   If the target release has been specified then APT uses the following
   algorithm to set the priorities of the versions of a package. Assign:

   priority 990
       to the versions that are not installed and belong to the target
       release.

Il semble que le fait d'avoir une libération explicite mentionnée dans l'APT annule tous les paramètres de l'épingle. J'ai installé un système de test et avec un 99release et pinstable Je vois exactement les mêmes valeurs que vous dans le fichier apt-cache. Mais si je remeve le fichier 99release Je reçois ce fichier.

# apt-cache policy libapache2-mod-php5
libapache2-mod-php5:
  Installed: (none)
  Candidate: 5.3.3-7+squeeze8
  Version table:
     5.3.3-7+squeeze8 0
       1010 http://security.debian.org/ squeeze/updates/main amd64 Packages
     5.3.3-7+squeeze3 0
       1010 http://ftp.us.debian.org/debian/ squeeze/main amd64 Packages

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X