Resolving Dependencies Interactively

If a dependency problem arises that cannot be handled using the immediate dependency resolver, aptitude can assist you in resolving it. As soon as a problem occurs, a red bar will appear at the bottom of the screen with a summary of aptitude's suggestion about how to fix it. For instance, in the following screenshot, aptitude is indicating that it can resolve the situation by keeping two packages at their current versions.

Comme il est indiqué en bas de l'écran, vous pouvez voir d'autres solutions en appuyant sur . et ,, appliquer la solution courante en appuyant sur ! et examiner la solution plus en détail en appuyant sur e. Quand vous examinez la solution courante, un écran semblable au suivant apparaît.

Vous pouvez accéder aux informations sur le paquet affecté par une action en appuyant simplement sur entrée lorsque le paquet est sélectionné. Pour obtenir une explication détaillée sur les raisons d'un choix particulier, il suffit de sélectionner l'élément dans la liste. Dans la moitié basse de l'écran, s'afficheront la dépendance qui a été résolue par aptitude et tous les moyens par lesquels la dépendance aurait pu être résolue.

You can guide the dependency resolver to a solution of which you approve by approving or rejecting the individual actions of a solution. If you approve an action, the resolver will choose it whenever possible, ignoring alternatives (when there are several approved alternatives, any one of them could be chosen). On the other hand, if you reject an action, the resolver will never choose that action.

To reject an action, highlight it and press r; the rejection can be cancelled by pressing r again. Similarly, select an action and press a to approve it; press a again to restore its original state. You can undo either action by using AnnulerAnnuler (Contrôle+u) while the resolver screen is active. If you cancel a rejection or an approval, any solutions that were ignored will be available the next time that you generate a new solution.

[Note]Note

By default, the resolver rejects actions that change the state of held packages, or that install forbidden versions of packages. You can override these rejections, thus allowing the hold or forbidding to be automatically overridden, in the same way that you would override any other rejection. Setting the configuration option Aptitude::ProblemResolver::Allow-Break-Holds to true will disable this behavior, meaning that the resolver will always break holds (albeit at a penalty, see Aptitude::ProblemResolver::BreakHoldScore).

Les actions rejetées sont mises en rouge et marquées avec un « R », et celles approuvées sont mises en vert et marquées avec un « A ». Comme vous pouvez le voir dans la capture suivante où l'action de « conserver gstreamer0.8-cdparanoia dans sa version actuelle » a été rejetée et l'action de « conserver sound-juicer dans sa version actuelle » approuvée.

Rejections and approvals only affect newly generated solutions. You can tell when a new solution will be generated by examining the indicator in the lower left hand corner of the screen: if there is a number in parentheses, it is the number of solutions that have been generated. Thus, when the number outside the parentheses and the number inside are identical (as above), pressing . will generate a new solution. If there is no number in parentheses (for instance, the indicator reads [1/5]), then there are no more solutions to generate. At any time, you can select the last generated solution by pressing >, and the first generated solution by pressing <.

[Important]Important

L'état du système de résolution des problèmes est mis à zéro quand vous modifiez l'état d'un paquet. Si vous marquez un paquet pour installation, pour mise à jour, pour suppression, etc., aptitude oubliera tous vos rejets et approbations, ainsi que toutes les solutions générées jusque là.

En plus de la sélection des actions dans la liste en haut de l'écran, vous pouvez sélectionner ces actions dans la liste du bas. Pour avoir accès à cette seconde liste, vous pouvez soit cliquer dessus avec votre souris, soit appuyer sur Tab. Enfin, en appuyant sur o, vous afficherez les décisions triées. Cela consiste en une liste des dépendances qui ont été résolues et des actions qui ont amené ce résultat, comme le montre la capture suivante .

Appuyer à nouveau sur o quitte ce mode d'affichage.