Comment puis-je "conserver" un package de manière fiable dans Debian?

J'ai un package dans Debian qui a été manuellement patché (pas idéal, je sais) que je dois conserver à sa version actuelle afin que les mises à jour n'écrasent pas les modifications corrigées. D'après ce que je comprends, il y a plusieurs façons d'aborder ceci:

  • apt-pinning (voir apt_preferences(5) )
  • aptitude hold
  • dpkg --set-selections
  • le régler avec dselect ?

J'ai lu qu'une prise n'affecterait pas l'autre (ainsi, par exemple, l'utilisation d' aptitude hold n'empêchera pas apt-get ou dselect de mettre à jour le package). Qu'est-ce qui doit être fait à 100% pour s'assurer que les outils de Debian ne mettront jamais à jour le package à less que je supprime la mise en attente?

aptitude et dpkg ont des fonctions hold séparées qui ne se respectent pas, malheureusement. Vous devez donc définir les deux si vous utilisez les deux outils:

apt / dpkg: echo $PACKETNAME hold | dpkg --set-selections echo $PACKETNAME hold | dpkg --set-selections

aptitude: aptitude hold $PACKETNAME

Une meilleure approche dans ce cas particulier (package patché) pourrait être d'installer la version patché dans /usr/local . Debian ne touchera pas ça.

Pour autant que je sache, l' aptitude hold <package> sera honorée par les autres sauf si vous ordonnez explicitement la mise à jour (par exemple en frappant + alors que le slider se trouve dans le champ "upgradeable packages" dans aptitude).