/usr/share/doc/aptitude/html/en/ch02s03s05.html is in aptitude-doc-en 0.8.10-6ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | <?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Configuring the interactive dependency resolver</title><link rel="stylesheet" type="text/css" href="aptitude.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="home" href="index.html" title="aptitude user's manual" /><link rel="up" href="ch02s03.html" title="Resolving package dependencies" /><link rel="prev" href="ch02s03s04.html" title="Costs in the interactive dependency resolver" /><link rel="next" href="ch02s04.html" title="Search patterns" /><link rel="preface" href="pr01.html" title="Introduction" /><link rel="chapter" href="ch01.html" title="Chapter 1. Getting started" /><link rel="chapter" href="ch02.html" title="Chapter 2. aptitude reference guide" /><link rel="chapter" href="ch03.html" title="Chapter 3. aptitude frequently asked questions" /><link rel="chapter" href="ch04.html" title="Chapter 4. Credits" /><link rel="reference" href="rn01.html" title="Command-line reference" /><link rel="refentry" href="rn01re01.html" title="aptitude" /><link rel="refentry" href="rn01re02.html" title="aptitude-create-state-bundle" /><link rel="refentry" href="rn01re03.html" title="aptitude-run-state-bundle" /><link rel="subsection" href="ch02s03s05.html#secDependencyResolutionHints" title="Configuring resolver hints" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Configuring the interactive dependency resolver</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s03s04.html"><img src="images/prev.gif" alt="Prev" /></a> </td><th width="60%" align="center">Resolving package dependencies</th><td width="20%" align="right"> <a accesskey="n" href="ch02s04.html"><img src="images/next.gif" alt="Next" /></a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="secDependencyResolutionConfiguration"></a>Configuring the interactive dependency resolver</h3></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="ch02s03s05.html#secDependencyResolutionHints">Configuring resolver hints</a></span></dt></dl></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="secDependencyResolutionHints"></a>Configuring resolver hints</h4></div></div></div><p>
To improve the quality of the dependency solutions that
you receive, you can provide hints to the interactive
dependency resolver. These hints can alter the priorities
of the resolver, biasing it more strongly in favor of one
version or package, or they can be used to
<span class="quote">“<span class="quote">pre-load</span>”</span> the resolver with rejections and
approvals, as if you had entered the resolver and manually
rejected or approved various versions.
</p><p>
Hints are stored in the <code class="systemitem">apt</code> configuration file,
<code class="filename">/etc/apt/apt.conf</code>, in the
configuration group <span class="quote">“<span class="quote"><code class="literal"><a class="link" href="ch02s05s05.html#configProblemResolver-Hints">Aptitude::ProblemResolver::Hints</a></code></span>”</span>
(see <a class="xref" href="ch02s05s05.html" title="Configuration file reference">the section called “Configuration file reference”</a> for details on the
configuration file).
</p><p>
Each resolver hint consists of an
<em class="replaceable"><code>action</code></em>, a
<em class="replaceable"><code>target</code></em>, and an optional
<em class="replaceable"><code>version</code></em>. A hint is written
like this: <code class="literal">"<em class="replaceable"><code>action</code></em>
<em class="replaceable"><code>target</code></em>
[<span class="optional"><em class="replaceable"><code>version</code></em></span>]"</code>.
To apply a resolver hint, <span class="command"><strong>aptitude</strong></span> locates one or more
packages using the value of
<em class="replaceable"><code>target</code></em>, chooses one or more
versions of those packages using the value of
<em class="replaceable"><code>version</code></em>, and finally performs
the given <em class="replaceable"><code>action</code></em>.
</p><p>
The <em class="replaceable"><code>action</code></em> field of a resolver
hint may be one of the following:
</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
<span class="quote">“<span class="quote"><code class="literal">approve</code></span>”</span>: Approve the
version, as if the command <a class="link" href="ch02s01s02.html#menuResolverApprove"><span class="guimenu">Resolver</span> → <span class="guimenuitem">Toggle Approved</span> (<span class="shortcut"><strong><span class="keycap"><strong>a</strong></span></strong></span>)</a>
had been invoked on it.
</p></li><li class="listitem"><p>
<span class="quote">“<span class="quote"><code class="literal">reject</code></span>”</span>: Reject the
version, as if the command <a class="link" href="ch02s01s02.html#menuResolverReject"><span class="guimenu">Resolver</span> → <span class="guimenuitem">Toggle Rejected</span> (<span class="shortcut"><strong><span class="keycap"><strong>r</strong></span></strong></span>)</a>
had been invoked on it.
</p></li><li class="listitem"><p><a id="hintDiscard"></a>
<span class="quote">“<span class="quote"><code class="literal">discard</code></span>”</span>: Discard
every solution containing the version. Differs from
<span class="quote">“<span class="quote"><code class="literal">reject</code></span>”</span> in that it is
not visible to the user and cannot be modified
interactively.
</p></li><li class="listitem"><p>
<span class="quote">“<span class="quote"><code class="literal">increase-safety-cost-to
<em class="replaceable"><code>number</code></em></code></span>”</span>:
increase the safety cost of any solution that contains
the version to <em class="replaceable"><code>number</code></em>; if
its safety cost is already higher than
<em class="replaceable"><code>number</code></em>, this hint has no
effect. The safety cost can be used (and is used by
default) to control the order in which solutions
appear; see <a class="xref" href="ch02s03s04.html#secDependencyResolutionCostsAndCostComponents" title="Costs and cost components">the section called “Costs and cost components”</a>
and <a class="xref" href="ch02s03s04.html#secDependencyResolutionCostsSafetyCosts" title="Safety costs">the section called “Safety costs”</a>
for details.
</p><p>
Several special cost levels can be chosen by name:
</p><div class="orderedlist"><ol class="orderedlist" type="a"><li class="listitem"><p>
<code class="literal">conflict</code>,
<code class="literal">discard</code>: instead of changing
the safety cost, discard solutions containing
the version as if the <span class="quote">“<span class="quote"><a class="link" href="ch02s03s05.html#hintDiscard"><code class="literal">discard</code></a></span>”</span>
hint had been applied.
</p></li><li class="listitem"><p>
<code class="literal">maximum</code>: the highest safety
cost.
</p></li><li class="listitem"><p>
<code class="literal">minimum</code>: the lowest safety
cost. All searches start at this cost, so
<span class="quote">“<span class="quote">increasing</span>”</span> a version to this cost
has no effect. However, this value can also be
used when adjusting the predefined cost levels:
for instance, setting <a class="link" href="ch02s05s05.html#configProblemResolver-Remove-Level"><code class="literal">Aptitude::ProblemResolver::Remove-Level</code></a>
to <span class="quote">“<span class="quote"><code class="literal">minimum</code></span>”</span>
will cause removed packages to have no effect on
the safety cost of a solution.
</p></li></ol></div><p>
</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Note"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="images/note.png" /></td><th align="left">Note</th></tr><tr><td align="left" valign="top"><p>
The <code class="literal">increase-safety-cost-to</code> hint
is applied <span class="emphasis"><em>in addition</em></span> to any
default safety cost that is due to the selected
action. For instance, a hint that increases the
safety cost of <span class="quote">“<span class="quote">install
<code class="systemitem">hal</code> from
<code class="systemitem">experimental</code></span>”</span> to
15,000 will have no effect, because that action
already has a safety cost of 50,000 (assuming that
this version of <code class="systemitem">hal</code> is not
the default candidate version).
</p></td></tr></table></div></li><li class="listitem"><p>
<span class="quote">“<span class="quote"><em class="replaceable"><code>number</code></em></span>”</span>: add
the given <em class="replaceable"><code>number</code></em> to the
version's <em class="replaceable"><code>score</code></em>, biasing
the resolver in favor of it or (with a negative
number) away from it. For instance, the hint
<code class="literal">200 emacs</code> adds 200 to the score of
<code class="literal">emacs</code>, whereas the hint
<code class="literal">-10 emacs</code> subtracts 10 from its
score.
</p></li></ol></div><p>
If <em class="replaceable"><code>target</code></em> field of a resolver
hint contains a question mark
(<span class="quote">“<span class="quote"><code class="literal">?</code></span>”</span>) or tilde
(<span class="quote">“<span class="quote"><code class="literal">~</code></span>”</span>), it is considered to
be a search pattern and all matching package versions are
considered. Otherwise, it is considered to be the name of
a package to select. So the target
<span class="quote">“<span class="quote"><code class="literal">g++</code></span>”</span> will select only the
<code class="literal">g++</code> package, but the target
<span class="quote">“<span class="quote"><code class="literal">?section(non-free)</code></span>”</span> will
select any package in the <code class="literal">non-free</code>
section. See <a class="xref" href="ch02s04.html" title="Search patterns">the section called “Search patterns”</a> for more
information on search patterns.
</p><p>
If the <em class="replaceable"><code>version</code></em> field is not
present, then all versions of the package are affected by
the hint. Otherwise, it may have any of the following
forms:
</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><p>
<span class="quote">“<span class="quote"><code class="literal">/<em class="replaceable"><code>archive</code></em></code></span>”</span>:
the hint only affects versions that are available in
the given <em class="replaceable"><code>archive</code></em>.
</p></li><li class="listitem"><p>
<span class="quote">“<span class="quote"><code class="literal"><<em class="replaceable"><code>version</code></em></code></span>”</span>:
the hint only affects versions whose version number is
less than <em class="replaceable"><code>version</code></em>.
</p></li><li class="listitem"><p>
<span class="quote">“<span class="quote"><code class="literal"><=<em class="replaceable"><code>version</code></em></code></span>”</span>:
the hint only affects versions whose version number is
less than or equal to
<em class="replaceable"><code>version</code></em>.
</p></li><li class="listitem"><p>
<span class="quote">“<span class="quote"><code class="literal">=<em class="replaceable"><code>version</code></em></code></span>”</span>:
the hint only affects versions whose version number is
<em class="replaceable"><code>version</code></em>.
</p></li><li class="listitem"><p>
<span class="quote">“<span class="quote"><code class="literal"><><em class="replaceable"><code>version</code></em></code></span>”</span>:
the hint only affects versions whose version number is
not <em class="replaceable"><code>version</code></em>.
</p></li><li class="listitem"><p>
<span class="quote">“<span class="quote"><code class="literal">>=<em class="replaceable"><code>version</code></em></code></span>”</span>:
the hint only affects versions whose version number is
greater than or equal to
<em class="replaceable"><code>version</code></em>.
</p></li><li class="listitem"><p>
<span class="quote">“<span class="quote"><code class="literal">><em class="replaceable"><code>version</code></em></code></span>”</span>:
the hint only affects versions whose version number is
greater than <em class="replaceable"><code>version</code></em>.
</p></li><li class="listitem"><p>
<span class="quote">“<span class="quote"><code class="literal">:UNINST</code></span>”</span>: instead of
affecting any of the versions of
<em class="replaceable"><code>target</code></em>, the hint affects
the decision to remove
<em class="replaceable"><code>target</code></em>. For instance,
<span class="quote">“<span class="quote"><code class="literal">Aptitude::ProblemResolver::Hints {
"reject aptitude :UNINST"; };</code></span>”</span> will
prevent the resolver from attempting to remove
<span class="command"><strong>aptitude</strong></span>.
</p></li><li class="listitem"><p>
<span class="quote">“<span class="quote"><em class="replaceable"><code>version</code></em></span>”</span>: the
hint only affects versions whose version number is
<em class="replaceable"><code>version</code></em>.
</p></li></ol></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s03s04.html"><img src="images/prev.gif" alt="Prev" /></a> </td><td width="20%" align="center"><a accesskey="u" href="ch02s03.html"><img src="images/up.gif" alt="Up" /></a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s04.html"><img src="images/next.gif" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top">Costs in the interactive dependency resolver </td><td width="20%" align="center"><a accesskey="h" href="index.html"><img src="images/home.gif" alt="Home" /></a></td><td width="40%" align="right" valign="top"> Search patterns</td></tr></table></div></body></html>
|