Ayons un métapaquet qui dépend des packages suivants
Depends: A (=2),
B (=2),
C (=2)
Notez le '=' - je veux installer ces versions particulières, pas les plus récentes.
Aditionellement:
B dépend de A (> = 1)
C dépend de B (> = 1) et A (> = 1)
Si les versions les plus récentes de A, B, C dans le référentiel sont 2, cela fonctionne.
Depuis que j'ai mis la version 3 de A et la version 3 de B dans le repo sudo apt-get install my-meta-package refuse de terminer avec les informations suivantes:
The following packages have unmet dependencies:
my-meta-package: Depends: B (= 2) but 3 is to be installed
Depends: A (= 2) but 3 is to be installed
Si j'installe manuellement les versions 2 de A et B, le métapaquet s'installe correctement, ce qui suggère fortement qu'il n'y a pas de dépendance cachée sur A3 ou B3. Ce n'est pas une solution au problème car le métapaquet est installé automatiquement sur de nombreuses machines.
QUESTION: Que faire pour que sudo apt-get installe my-meta-package install versions 2.2,2?
De plus, existe-t-il un moyen d'obtenir des informations détaillées qui crée réellement le besoin de la version 3 de A et de la version 3 de B?
la source
(a=2), (b=2)
?Réponses:
Vous devez sélectionner les versions particulières à installer et les installer toutes en même temps que vous installez le méta-package.
Comme le dit la réponse de int_ua , vous pouvez découvrir les dépendances inverses avec ceci:
Si vous souhaitez en savoir plus sur l'un de ces packages ( versions disponibles, dépendances, etc. ), utilisez ceci:
Une fois que vous avez terminé de les installer et que vous souhaitez les conserver dans ces versions lors des mises à niveau du système, vous devrez utiliser l' épinglage apt comme suggéré par belacqua .
Épinglage APT
la source
Vous pouvez d'abord essayer d'installer des dépendances avec
sudo apt-get install package=2
où 2 est la versionVous pouvez savoir quels packages dépendent du package avec
apt-cache rdepends package
la source