3 votes

Comment empêcher apt-get de mettre à jour les paquets construits à partir des sources avec apt pinning ?

J'ai installé un paquet (xcp-xapi) qui est sujet à un bogue. La correction est très simple (seulement quelques lignes dans le code) et je fais donc ce qui suit :

apt-get source xcp-xapi

Ensuite, je trouve le fichier source pour appliquer le correctif et je relance l'opération

apt-get -b source xcp-xapi

Cela produira quelques fichiers .deb que j'installerai en utilisant

dpkg -i *.deb

Le problème est qu'à chaque fois que j'essaie d'exécuter une mise à jour apt-get, apt essaie de récupérer les paquets dans les dépôts. Je suppose que cela peut être résolu en utilisant l'épinglage, mais je ne trouve pas la configuration appropriée pour mettre en haute priorité les paquets que j'ai compilés moi-même.

La question est donc la suivante : comment puis-je configurer l'épinglage pour que les paquets suivants, déjà installés, aient une priorité plus élevée que les paquets existants dans les dépôts ?

# apt-cache policy xcp-networkd xcp-v6d xcp-xapi xcp-xapi-debug
xcp-networkd:
  Installed: 1.3.2-5ubuntu0.1
  Candidate: 1.3.2-5ubuntu0.1
  Version table:
     1.3.2-5ubuntu0.1 0
        500 http://ftp.uninett.no/ubuntu/ precise-updates/universe amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ precise-security/universe amd64 Packages
 *** 1.3.2-5ubuntu0.1 0
        100 /var/lib/dpkg/status
     1.3.2-5 0
        500 http://ftp.uninett.no/ubuntu/ precise/universe amd64 Packages
xcp-v6d:
  Installed: 1.3.2-5ubuntu0.1
  Candidate: 1.3.2-5ubuntu0.1
  Version table:
     1.3.2-5ubuntu0.1 0
        500 http://ftp.uninett.no/ubuntu/ precise-updates/universe amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ precise-security/universe amd64 Packages
 *** 1.3.2-5ubuntu0.1 0
        100 /var/lib/dpkg/status
     1.3.2-5 0
        500 http://ftp.uninett.no/ubuntu/ precise/universe amd64 Packages
xcp-xapi:
  Installed: 1.3.2-5ubuntu0.1
  Candidate: 1.3.2-5ubuntu0.1
  Version table:
     1.3.2-5ubuntu0.1 0
        500 http://ftp.uninett.no/ubuntu/ precise-updates/universe amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ precise-security/universe amd64 Packages
 *** 1.3.2-5ubuntu0.1 0
        100 /var/lib/dpkg/status
     1.3.2-5 0
        500 http://ftp.uninett.no/ubuntu/ precise/universe amd64 Packages
xcp-xapi-debug:
  Installed: 1.3.2-5ubuntu0.1
  Candidate: 1.3.2-5ubuntu0.1
  Version table:
     1.3.2-5ubuntu0.1 0
        500 http://ftp.uninett.no/ubuntu/ precise-updates/universe amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ precise-security/universe amd64 Packages
 *** 1.3.2-5ubuntu0.1 0
        100 /var/lib/dpkg/status
     1.3.2-5 0
        500 http://ftp.uninett.no/ubuntu/ precise/universe amd64 Packages

2voto

trustin Points 5064

Je ne sais pas si c'est la bonne solution, mais en essayant différentes configurations d'épinglage, j'ai fini par obtenir le résultat suivant :

créez le fichier /etc/apt/preferences.d/xcp-xapi avec le contenu suivant :

Package: xcp-networkd
Pin: release n=precise
Pin-Priority: -1

Package: xcp-v6d
Pin: release n=precise
Pin-Priority: -1

Package: xcp-xapi
Pin: release n=precise
Pin-Priority: -1

Package: xcp-xapi-debug
Pin: release n=precise
Pin-Priority: -1

D'après ce que je comprends, donner une priorité négative au paquet spécifique du dépôt spécifique signifie ne pas se préoccuper de ce paquet, donc garder la version actuelle installée. Si quelqu'un peut expliquer davantage ou fournir une solution "plus correcte", je l'apprécierais. Merci !

0voto

hetepeperfan Points 132

Une autre possibilité serait d'envoyer un rapport de bogue et un correctif aux développeurs de xcp-xapi, et avec le temps, le bogue pourrait être corrigé dans les dépôts. Vous pourrez alors réinstaller la version du dépôt. Cela dit, il faudra peut-être un peu de patience avant que les dépôts ne soient mis à jour.

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