This file is indexed.

/usr/share/doc/aptitude/html/en/ch01s01s04.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
<?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>Managing packages</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="ch01s01.html" title="Using aptitude" /><link rel="prev" href="ch01s01s03.html" title="Finding packages by name" /><link rel="next" href="ch01s01s05.html" title="Updating the package list and installing packages" /><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="ch01s01s04.html#tutorialBroken" title="Managing broken packages" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Managing packages</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01s01s03.html"><img src="images/prev.gif" alt="Prev" /></a> </td><th width="60%" align="center">Using <span class="command"><strong>aptitude</strong></span></th><td width="20%" align="right"> <a accesskey="n" href="ch01s01s05.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="secManagingPackages"></a>Managing packages</h3></div></div></div><div class="toc"><dl class="toc"><dt><span class="section"><a href="ch01s01s04.html#tutorialBroken">Managing broken packages</a></span></dt></dl></div><p>
	  Now that you can move about the list of packages, it's time
	  to start using <span class="command"><strong>aptitude</strong></span> to install and remove packages.
	  In this section you will learn how to flag packages for
	  installation, deletion, and upgrade.
	</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="images/tip.png" /></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
	    You can only change your system's setup as the <code class="systemitem">root</code>
	    user.  If you want to experiment with <span class="command"><strong>aptitude</strong></span>, you can
	    safely run it as any user other than <code class="systemitem">root</code> without
	    damaging your system in any way.  <span class="command"><strong>aptitude</strong></span> will tell you
	    when you try to do something that only <code class="systemitem">root</code> can do, and
	    if you want to continue, you must type <code class="systemitem">root</code>'s password.
	  </p></td></tr></table></div><p>
	  All changes to a package are performed by first highlighting
	  it in the package list, then pressing a key corresponding to
	  the action which should be performed.  The basic action keys
	  <a href="#ftn.idm431" class="footnote" id="idm431"><sup class="footnote">[2]</sup></a>
	  are <span class="keycap"><strong>+</strong></span> to install or upgrade a package,
	  <span class="keycap"><strong>-</strong></span> to remove a package, and
	  <span class="keycap"><strong>=</strong></span> to prevent a package from being
	  automatically upgraded (this is known as
	  <em class="firstterm">holding</em> the package).  These actions
	  are not performed immediately; <span class="command"><strong>aptitude</strong></span> will simply
	  update the package list to show the change that has been
	  requested.
	</p><p>
	  For instance, in the screen shot below, the
	  <code class="systemitem">kaffeine-mozilla</code> package was selected and
	  <span class="keycap"><strong>+</strong></span> was pushed.  The package is now
	  highlighted in green and the letter <span class="quote"><span class="quote">i</span></span> has
	  appeared to the left of its name, to indicate that it will
	  be installed; in addition, an estimate of the amount of
	  space that the package will use is displayed.
	</p><div class="screenshot"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/install-snapshot.png" width="100%" alt="[package view, kaffeine-mozilla package to be installed]" /></td></tr></table><div class="longdesc-link" align="right"><br clear="all" /><span class="longdesc-link">[<a href="ld-idm445.html" target="longdesc">D</a>]</span></div></div></div><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="images/tip.png" /></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>
	    At any time, you can use <span class="guimenu">Undo</span><span class="guimenuitem">Undo</span> (<span class="shortcut"><strong><span class="keycap"><strong>Control</strong></span>+<span class="keycap"><strong>u</strong></span></strong></span>) to
	    <span class="quote"><span class="quote">undo</span></span> any change to one or more packages.
	    This is very useful if an action has unforeseen
	    consequences and you want to <span class="quote"><span class="quote">take it back</span></span>.
	  </p></td></tr></table></div><p>
	  In addition to actions that affect individual packages,
	  another important action is available: typing
	  <span class="keycap"><strong>U</strong></span> will attempt to upgrade any packages that
	  can be upgraded.  You should use this command on a regular
	  basis to keep your system up-to-date.
	</p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="tutorialBroken"></a>Managing broken packages</h4></div></div></div><p>
	    Sometimes, changing a package's state will cause
	    dependency relationships to become unfulfilled; packages
	    with unfulfilled dependencies are said to be
	    <em class="firstterm">broken</em>.  <span class="command"><strong>aptitude</strong></span> will warn you
	    when this happens, and explain why it occured.  For
	    instance, here is what happens if I attempt to remove
	    <code class="systemitem">sound-juicer</code>:
	  </p><div class="screenshot"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/broken-snapshot.png" width="100%" alt="[package view, packages broken after attempting to remove sound-juicer]" /></td></tr></table><div class="longdesc-link" align="right"><br clear="all" /><span class="longdesc-link">[<a href="ld-idm472.html" target="longdesc">D</a>]</span></div></div></div><p>
	    As you can see, <span class="command"><strong>aptitude</strong></span> displays three indicators that
	    something has gone wrong: first, the number of broken
	    packages is displayed in the upper blue area; second, the
	    lower half of the display changes to describe broken
	    packages that are related to the currently highlighted
	    package; third, a bar appears at the bottom of the screen
	    with a suggestion on how to solve the problem.  To quickly
	    find broken packages in the package list, you can press
	    <span class="keycap"><strong>b</strong></span> or search for <code class="literal"><a class="link" href="ch02s04s05.html#searchBroken">?broken</a></code>.
	  </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 text <code class="literal">[1(1)/...]</code> indicates the
	      progress of <span class="command"><strong>aptitude</strong></span>'s dependency resolver.  The first
	      number is the solution that you have currently selected,
	      and the second one is the number of solutions that
	      <span class="command"><strong>aptitude</strong></span> has already generated.  The presence of the
	      text <span class="quote"><span class="quote"><code class="literal">...</code></span></span> indicates
	      that there may be additional solutions beyond the ones
	      generated; if <span class="command"><strong>aptitude</strong></span> knew for certain that it had
	      generated the only possible solution, this indicator
	      would read <code class="literal">[1/1]</code>.
	    </p></td></tr></table></div><p>
	    To see more information about how <span class="command"><strong>aptitude</strong></span> thinks you
	    can solve this problem, press <span class="keycap"><strong>e</strong></span>.  A
	    screen similar to the following will appear:
	  </p><div class="screenshot"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/solution-screen-snapshot.png" width="100%" alt="[dependency resolver #1]" /></td></tr></table><div class="longdesc-link" align="right"><br clear="all" /><span class="longdesc-link">[<a href="ld-idm497.html" target="longdesc">D</a>]</span></div></div></div><p>
	    From here, you can see more solutions by pressing
	    <span class="keycap"><strong>.</strong></span> or return to solutions that you
	    previously examined by pressing <span class="keycap"><strong>,</strong></span>.  To
	    apply the current solution and return to the package list,
	    press <span class="keycap"><strong>!</strong></span>.  For instance, pressing
	    <span class="keycap"><strong>.</strong></span> while the above screen is displayed
	    results in the following solution being presented:
	  </p><div class="informalfigure"><a id="solutionScreenSnapshot2"></a><div class="screenshot"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/solution-screen-snapshot2.png" width="100%" alt="[dependency resolver #2]" /></td></tr></table><div class="longdesc-link" align="right"><br clear="all" /><span class="longdesc-link">[<a href="ld-idm511.html" target="longdesc">D</a>]</span></div></div></div></div><p>
	    In addition to the basic solution navigation commands, you
	    can press <span class="keycap"><strong>r</strong></span> to <span class="quote"><span class="quote">reject</span></span>
	    actions of which you disapprove.  For instance, the first
	    solution will cancel the removal of
	    <code class="systemitem">sound-juicer</code> -- the very action
	    we were trying to perform!  By pressing <span class="keycap"><strong>r</strong></span>
	    on the item corresponding to this action, we can tell
	    <span class="command"><strong>aptitude</strong></span> that it should not cancel the removal of
	    <code class="systemitem">sound-juicer</code> in this way.
	  </p><div class="screenshot"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/solution-screen-snapshot3.png" width="100%" alt="[dependency resolver #3]" /></td></tr></table><div class="longdesc-link" align="right"><br clear="all" /><span class="longdesc-link">[<a href="ld-idm526.html" target="longdesc">D</a>]</span></div></div></div><p>
	    As you can see, the list item corresponding to keeping
	    <code class="systemitem">sound-juicer</code> at its current
	    version has turned red and been marked with an
	    <span class="quote"><span class="quote">R</span></span>, indicating that it has been rejected.
	    Solutions that you generate in the future (that is, any
	    solution that you have not yet viewed) will not include
	    this action, although solutions that were already
	    generated and contain this action will be available.
	  </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>
	      In the above screen image, a description of
	      <code class="systemitem">sound-juicer</code> is displayed in
	      the middle of the screen; below it, you can see the
	      dependency that caused <code class="systemitem">sound-juicer</code> to
	      be kept at its current version, along with all the ways to
	      resolve this dependency that <span class="command"><strong>aptitude</strong></span> knows about.
	    </p></td></tr></table></div><p>
	    For instance, if this rejection is imposed immediately
	    after attempting to remove <code class="systemitem">sound-juicer</code>,
	    pressing <span class="keycap"><strong>.</strong></span> retrieves the following
	    solution, skipping the <a class="link" href="ch01s01s04.html#solutionScreenSnapshot2">solution</a> that
	    cancels the installation of <code class="systemitem">sound-juicer</code>
	    and downgrades <code class="systemitem">gstreamer0.8-cdparanoia</code>.
	  </p><div class="screenshot"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/solution-screen-snapshot4.png" width="100%" alt="[dependency resolver #4]" /></td></tr></table><div class="longdesc-link" align="right"><br clear="all" /><span class="longdesc-link">[<a href="ld-idm548.html" target="longdesc">D</a>]</span></div></div></div><p>
	    Rejections are only applied to newly generated solutions:
	    that is, solutions that are generated when you press
	    <span class="keycap"><strong>.</strong></span> while viewing the last generated
	    solution.  Previously generated solutions can still
	    contain rejections.  You can cancel a rejection at any
	    time by once again selecting the rejected action and
	    pressing <span class="keycap"><strong>r</strong></span>; this will permit solutions
	    containing the action to be generated again, including any
	    solutions that were previously <span class="quote"><span class="quote">skipped</span></span>.
	  </p><p>
	    The opposite of rejecting an action is approving it.  To
	    approve an action, just select it and press
	    <span class="keycap"><strong>a</strong></span>; this forces the problem resolver to
	    choose the action whenever possible<a href="#ftn.idm561" class="footnote" id="idm561"><sup class="footnote">[3]</sup></a>.  Approved actions will turn green and will be
	    marked with <span class="quote"><span class="quote">A</span></span>, as in the following
	    screenshot:
	  </p><div class="screenshot"><div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" style="cellpadding: 0; cellspacing: 0;" width="100%"><tr><td><img src="images/solution-screen-snapshot5.png" width="100%" alt="[dependency resolver #5]" /></td></tr></table><div class="longdesc-link" align="right"><br clear="all" /><span class="longdesc-link">[<a href="ld-idm565.html" target="longdesc">D</a>]</span></div></div></div><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Important"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="images/important.png" /></td><th align="left">Important</th></tr><tr><td align="left" valign="top"><p>
	      If you do not resolve any broken dependencies,
	      <span class="command"><strong>aptitude</strong></span> will automatically implement its current
	      suggestion when you commit your selections by pressing
	      <span class="keycap"><strong>g</strong></span>.  However, it is hard to
	      automatically solve dependency problems, and you may not
	      be happy with the results, so it is generally better to
	      look at what <span class="command"><strong>aptitude</strong></span> plans to do
	      <span class="emphasis"><em>before</em></span> committing your selections.
	    </p></td></tr></table></div></div><div class="footnotes"><br /><hr style="width:100; text-align:left;margin-left: 0" /><div id="ftn.idm431" class="footnote"><p><a href="#idm431" class="para"><sup class="para">[2] </sup></a>
	      You can also change packages using the
	      <span class="guimenu">Package</span> menu; see <a class="xref" href="ch02s01s02.html#secPackageMenu" title="The Package menu">the section called “The Package menu”</a> for details.
	    </p></div><div id="ftn.idm561" class="footnote"><p><a href="#idm561" class="para"><sup class="para">[3] </sup></a>
	      Approving an action is slightly different from requiring
	      all solutions to contain the action; what it means is
	      that given a choice between an approved action and a
	      non-approved action, the resolver will always pick the
	      approved action.  If there are several possible approved
	      actions, all of them will be candidates to be placed
	      into the solution.
	    </p></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01s01s03.html"><img src="images/prev.gif" alt="Prev" /></a> </td><td width="20%" align="center"><a accesskey="u" href="ch01s01.html"><img src="images/up.gif" alt="Up" /></a></td><td width="40%" align="right"> <a accesskey="n" href="ch01s01s05.html"><img src="images/next.gif" alt="Next" /></a></td></tr><tr><td width="40%" align="left" valign="top">Finding packages by name </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"> Updating the package list and installing packages</td></tr></table></div></body></html>