web-dev-qa-db-fra.com

Comment remplacer un package spécifique à installer avec apt

J'essaie de remplacer le client SSH standard par celui-ci:

https://launchpad.net/~yoda-jazz-kc/+archive/ubuntu/hpn-ssh

Comment puis-je obtenir Ubuntu 16.04 pour remplacer le client openssh standard par celui-ci et TOUJOURS mettre à jour à partir de ce référentiel?

J'ai ajouté le PPA et j'ai pu l'installer en spécifiant la version exacte avec apt-get install openssh-client=vvvvvv. Cependant, il est remplacé par la version standard lors de la mise à jour du système.

J'ai essayé de configurer /etc/apt/preferences et aussi mettre le PPA en tête de liste dans sources.list, mais cela ne fait aucune différence.

J'ai lu des dizaines d'articles sur la façon de configurer aptes à le faire, mais ils sont généralement déroutants ou carrément faux.

J'ai besoin de conseils spécifiques sur la façon de procéder, pas d'instructions génériques qui supposent une compréhension détaillée des caprices de l'apt.

1
lfjeff
  1. Créez d'abord un fichier PIN dans /etc/apt/preferences.d le nommer pin-openssh-client ou ce que vous voulez.

  2. Mettez ces lignes dans le fichier

    Package: openssh-client
    Pin: Origin ppa.launchpad.net
    Pin-Priority: 1001
    
  3. Enregistrez le fichier et vérifiez la priorité du package par apt-cache policy openssh-client.

J'ai ajouté le PPA. La sortie de la commande après l'ajout de la broche est

openssh-client:
  Installed: 1:7.2p2-4ubuntu1
  Candidate: 1:7.1p2-hpn14v9-2~ubuntu16.04.1
  Version table:
     1:7.2p2-4ubuntu2.1 500
        500 http://us.archive.ubuntu.com/ubuntu xenial-updates/main AMD64 Packages
        500 http://security.ubuntu.com/ubuntu xenial-security/main AMD64 Packages
 *** 1:7.2p2-4ubuntu1 500
        100 /var/lib/dpkg/status
     1:7.2p2-4 500
        500 http://us.archive.ubuntu.com/ubuntu xenial/main AMD64 Packages
     1:7.1p2-hpn14v9-2~ubuntu16.04.1 1001
        500 http://ppa.launchpad.net/yoda-jazz-kc/hpn-ssh/ubuntu xenial/main AMD64 Packages

De la sortie, on voit que le package du PPA prend la préférence sur le package fourni par le référentiel (vérifiez la ligne Candidate).

Si vous avez déjà installé le package, supprimez-le. Réinstallez ensuite pour obtenir celui de PPA.

J'espère que ça marche!

2
Anwar