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:"
. Para
aplicar una indicación del solucionador, aptitude ubica uno o más paquetes
usando el valor del acción
objetivo
[versión
]"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:
“approve
”: Aprueba la versión, al igual que
si ejecuta la orden a).
→ (
“reject
”: Rechaza la versión, al igual que
si ejecuta la orden r).
→ (
“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.
“increase-safety-cost-to
”: Aumenta el coste de
seguridad de cualquier solución que contenga la versión a
número
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:
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
”.
maximum
: El coste máximo de seguridad.
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 | |
---|---|
La indicación |
“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:
“/
”: la
indicación afecta sólo a las versiones disponibles del
archivo
archivo
dado.
“<
”: la
indicación afecta sólo a las versiones cuyo número de versión es menor que
versión
versión
.
“<=
”:
la indicación solo afecta a las versiones cuyo número de versión es menor o
igual a versión
versión
.
“=
”: la
indicación afecta solo a las versiones cuyo número de versión es
versión
versión
.
“<>
”:
la indicación afecta sólo a las versiones cuyo número de versión no es
versión
versión
.
“>=
”:
la indicación afecta sólo a las versiones cuyo número de versión es mayor o
igual a versión
versión
.
“>
”: la
indicación afecta sólo a las versiones cuyo número de versión es mayor que
versión
versión
.
“: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.
“versión
”: la indicación afecta solo
a las versiones cuyo número de versión es
versión
.