web-dev-qa-db-fra.com

Comment mettre à jour uniquement les dépendances d'un paquet?

Disons que j'ai un paquetage A qui a Depends: B (>= 1.0.0) dans son fichier control.

La B a été installée sous la forme d'une dépendance A avec la version 1.0.0.

Maintenant, B a été mis à jour dans le référentiel vers la version 1.0.42 et j'aimerais _ upgrade le.

Ce que je n'aime pas faire: apt-get install B puisqu'il va marquer B comme "installé manuellement" (vous ne savez pas comment le nommer correctement) et qu'il ne sera pas supprimé avec autoremove si je décide de ne plus utiliser A.

Donc, y a-t-il un analogue de apt-get upgrade qui ne met à jour qu'un paquet donné et ses dépendances (probablement récursif, cela n'a pas d'importance dans mon cas puisque B ne dépend pas d'autre chose) seulement?

PS: Je parle des versions LTS actuellement disponibles. Donc 10.04 et 12.04

7
zerkms

Eh bien, s'il n'y aura pas d'autre réponse, voici une façon de le faire:

Installez-le simplement avec apt-get install B explicitement, puis marquez-le comme installé automatiquement à l'aide de apt-mark markauto B

5
zerkms

Étant spécifique à votre question, je ferais ceci:

  • apt-get update pour resynchroniser les fichiers d'index des packages à partir de leurs sources.
  • apt-get install B installera la dernière version.
  • apt-mark auto B pour le marquer installé automatiquement

Pour mettre à jour un paquet particulier:

  • apt-get update
  • apt-get install <package_name> ceci installe le paquet mis à jour ... là ... le paquet est mis à jour contrairement à apt-get upgrade qui mettrait à jour tous les paquets pouvant être mis à niveau.

Si vous voulez une version particulière d'un paquet, vous feriez:

  • apt-get <package_name>=<verson> ou apt-get -t <version> <package_name>

Avec apt-get -t <version> <package_name>, vous pouvez spécifier la libération de la cible sous la forme -t '2.1 *', -t unstable ou -t sid.

Si vous voulez une liste des versions disponibles:

  • apt-cache showpkg <package_name>
0
precise