Home Files
Adminer
Execute Command
PHP Eval
Symlink
File Upload
Owner :
www-data
PHP Version
5.6.40-0+deb8u12
Disk Space
40.98 GB
Server Addr
19-www4
Your IP
10.10.10.40
Edit File
File:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html><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.78.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 bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><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 name="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 name="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 name="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">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>