Configurar el solucionador interactivo de dependencias.

Configurar indicaciones del solucionador

Configurar indicaciones del solucionador

Puede proporcionar indicaciones al solucionador interactivo de dependencias para mejorar la calidad de las soluciones de dependencias que recibe. Estas indicaciones pueden alterar las prioridades del solucionador, inclinándolo más fuertemente hacia otra versión o paquete, o se pueden usar para pre-cargar el solucionador con rechazos y aprobaciones, al igual que si hubiese entrado en el solucionador y rechazado o aprobado varias versiones manualmente.

Las indicaciones se guardan en el fichero de configuración de apt, /etc/apt/apt.conf, dentro del grupo de configuración.Aptitude::ProblemResolver::Hints (consulte “Referencia del fichero de configuración.” para más detalles acerca del fichero de configuración).

Cada indicación del solucionador consiste de una acción, un objetivo, y una versión, opcional. Una indicación se escribe de la siguiente manera:"acción objetivo [versión]". Para aplicar una indicación del solucionador, aptitude ubica uno o más paquetes usando el valor del objetivo, elije una o más versiones de esos paquetes usando el valor de la versión y, por último, ejecuta la acción.

El campo correspondiente a la acción de una indicación del solucionador puede ser uno de los siguientes:

  1. approve: Aprueba la versión, al igual que si ejecuta la orden SolucionadorConmutar Aceptada (a).

  2. reject: Rechaza la versión, al igual que si ejecuta la orden SolucionadorConmutar Rechazados (r).

  3. discard: Descarta cada solución que contenga la versión. Se diferencia con reject en que no es visible, de forma que el usuario no lo puede modificar interactivamente.

  4. increase-safety-cost-to número: Aumenta el coste de seguridad de cualquier solución que contenga la versión a número; si el nivel de seguridad ya es superior al número, esta indicación no tendrá efecto. El coste de seguridad se puede usar (se utiliza de forma predeter) para controlar el orden de aparición de las soluciones; para más detalles consulte “Costes y componentes del coste” y “Costes de seguridad”.

    Se pueden escoger algunos niveles de coste especiales por nombre:

    1. conflict, discard: En lugar de cambiar el coste de seguridad, descarta soluciones que contienen la versión como si se hubiese aplicado la indicación discard.

    2. maximum: El coste máximo de seguridad.

    3. minimum: El coste de seguridad más bajo. Todas las búsquedas comienzan con este coste, así que aumentar una versión a este coste no tiene ningún efecto. Por otro lado, también puede emplear este valor para ajustar los niveles de coste predeterminados: por ejemplo, definir Aptitude::ProblemResolver::Remove-Level como minimum hace que los paquetes desinstalados no tengan ningún efecto en el coste de seguridad de una solución.

    [Nota]Nota

    La indicación increase-safety-cost-to se aplica en adición a cualquier coste de seguridad predeterminado que se corresponda con la acción seleccionada. Por ejemplo, una indicación que aumenta el coste de seguridad de instalar hal desde experimental a 15.000 no tiene efecto alguno, porque la acción ya tiene un coste de seguridad de 15.000 (suponiendo que esta versión de hal no es la versión candidata predeterminada).

  5. número: añadir el número a la puntuación de la versión, inclinando al solucionador a favor del mismo o (con un número negativo) en contra. Por ejemplo, la indicación 200 emacs añade 200 a la puntuación de emacs, mientras que la indicación -10 emacs sustrae 10 a su puntuación.

Si el campo de objetivo de una indicación del solucionador contiene un signo de interrogación (?) o tilde (~), se toma como un patrón de búsqueda y se consideran todas las versiones de paquetes que encajen . De otra manera, se toma como el nombre de un paquete a seleccionar. Así que el objetivo g++ sólo seleccionaría el paquete g++, pero el objetivo ?section(non-free) seleccionaría cualquier paquete dentro de la sección non-free. Para más información acerca de patrones de búsqueda, consulte “Patrones de búsqueda”.

Si el campo de versión no está presente, todas las versiones del paquete se verán afectadas por la indicación. De no ser así, puede tener cualquiera de las siguientes formas:

  1. /archivo: la indicación afecta sólo a las versiones disponibles del archivo dado.

  2. <versión: la indicación afecta sólo a las versiones cuyo número de versión es menor que versión.

  3. <=versión: la indicación solo afecta a las versiones cuyo número de versión es menor o igual a versión.

  4. =versión: la indicación afecta solo a las versiones cuyo número de versión es versión.

  5. <>versión: la indicación afecta sólo a las versiones cuyo número de versión no es versión.

  6. >=versión: la indicación afecta sólo a las versiones cuyo número de versión es mayor o igual a versión.

  7. >versión: la indicación afecta sólo a las versiones cuyo número de versión es mayor que versión.

  8. :UNINST: instead of affecting any of the versions of target, the hint affects the decision to remove target. For instance, Aptitude::ProblemResolver::Hints { "reject aptitude :UNINST"; }; will prevent the resolver from attempting to remove aptitude.

  9. versión: la indicación afecta solo a las versiones cuyo número de versión es versión.