HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //usr/share/doc/debian-policy/policy.html/ap-pkg-alternatives.html
<!DOCTYPE html>

<html>
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />

    <title>6. Alternative versions of an interface - update-alternatives (from old Packaging Manual) &#8212; Debian Policy Manual v4.6.0.1</title>
    <link rel="stylesheet" type="text/css" href="_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="_static/nature.css" />
    <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js"></script>
    <script src="_static/jquery.js"></script>
    <script src="_static/underscore.js"></script>
    <script src="_static/doctools.js"></script>
    <link rel="index" title="Index" href="genindex.html" />
    <link rel="search" title="Search" href="search.html" />
    <link rel="next" title="7. Diversions - overriding a package’s version of a file (from old Packaging Manual)" href="ap-pkg-diversions.html" />
    <link rel="prev" title="5. Configuration file handling (from old Packaging Manual)" href="ap-pkg-conffiles.html" /> 
  </head><body>
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="ap-pkg-diversions.html" title="7. Diversions - overriding a package’s version of a file (from old Packaging Manual)"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="ap-pkg-conffiles.html" title="5. Configuration file handling (from old Packaging Manual)"
             accesskey="P">previous</a> |</li>
        <li class="nav-item nav-item-0"><a href="index.html">Debian Policy Manual v4.6.0.1</a> &#187;</li>
        <li class="nav-item nav-item-this"><a href=""><span class="section-number">6. </span>Alternative versions of an interface - <code class="docutils literal notranslate"><span class="pre">update-alternatives</span></code> (from old Packaging Manual)</a></li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body" role="main">
            
  <section id="alternative-versions-of-an-interface-update-alternatives-from-old-packaging-manual">
<h1><span class="section-number">6. </span>Alternative versions of an interface - <code class="docutils literal notranslate"><span class="pre">update-alternatives</span></code> (from old Packaging Manual)<a class="headerlink" href="#alternative-versions-of-an-interface-update-alternatives-from-old-packaging-manual" title="Permalink to this headline">¶</a></h1>
<p>When several packages all provide different versions of the same program
or file it is useful to have the system select a default, but to allow
the system administrator to change it and have their decisions
respected.</p>
<p>For example, there are several versions of the <code class="docutils literal notranslate"><span class="pre">vi</span></code> editor, and there
is no reason to prevent all of them from being installed at once, each
under their own name (<code class="docutils literal notranslate"><span class="pre">nvi</span></code>, <code class="docutils literal notranslate"><span class="pre">vim</span></code> or whatever). Nevertheless it is
desirable to have the name <code class="docutils literal notranslate"><span class="pre">vi</span></code> refer to something, at least by
default.</p>
<p>If all the packages involved cooperate, this can be done with
<code class="docutils literal notranslate"><span class="pre">update-alternatives</span></code>.</p>
<p>Each package provides its own version under its own name, and calls
<code class="docutils literal notranslate"><span class="pre">update-alternatives</span></code> in its postinst to register its version (and
again in its prerm to deregister it).</p>
<p>See the <em class="manpage">update-alternatives(8)</em> man page for details.</p>
<p>If <code class="docutils literal notranslate"><span class="pre">update-alternatives</span></code> does not seem appropriate you may wish to
consider using diversions instead.</p>
</section>


            <div class="clearer"></div>
          </div>
        </div>
      </div>
      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
        <div class="sphinxsidebarwrapper">
  <h4>Previous topic</h4>
  <p class="topless"><a href="ap-pkg-conffiles.html"
                        title="previous chapter"><span class="section-number">5. </span>Configuration file handling (from old Packaging Manual)</a></p>
  <h4>Next topic</h4>
  <p class="topless"><a href="ap-pkg-diversions.html"
                        title="next chapter"><span class="section-number">7. </span>Diversions - overriding a package’s version of a file (from old Packaging Manual)</a></p>
  <div role="note" aria-label="source link">
    <h3>This Page</h3>
    <ul class="this-page-menu">
      <li><a href="_sources/ap-pkg-alternatives.rst.txt"
            rel="nofollow">Show Source</a></li>
    </ul>
   </div>
<div id="searchbox" style="display: none" role="search">
  <h3 id="searchlabel">Quick search</h3>
    <div class="searchformwrapper">
    <form class="search" action="search.html" method="get">
      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
      <input type="submit" value="Go" />
    </form>
    </div>
</div>
<script>$('#searchbox').show(0);</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="ap-pkg-diversions.html" title="7. Diversions - overriding a package’s version of a file (from old Packaging Manual)"
             >next</a> |</li>
        <li class="right" >
          <a href="ap-pkg-conffiles.html" title="5. Configuration file handling (from old Packaging Manual)"
             >previous</a> |</li>
        <li class="nav-item nav-item-0"><a href="index.html">Debian Policy Manual v4.6.0.1</a> &#187;</li>
        <li class="nav-item nav-item-this"><a href=""><span class="section-number">6. </span>Alternative versions of an interface - <code class="docutils literal notranslate"><span class="pre">update-alternatives</span></code> (from old Packaging Manual)</a></li> 
      </ul>
    </div>
    <div class="footer" role="contentinfo">
      Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 4.2.0.
    </div>
  </body>
</html>