Alternative versions of an interface - ``update-alternatives`` (from old Packaging Manual) ========================================================================================== 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. For example, there are several versions of the ``vi`` editor, and there is no reason to prevent all of them from being installed at once, each under their own name (``nvi``, ``vim`` or whatever). Nevertheless it is desirable to have the name ``vi`` refer to something, at least by default. If all the packages involved cooperate, this can be done with ``update-alternatives``. Each package provides its own version under its own name, and calls ``update-alternatives`` in its postinst to register its version (and again in its prerm to deregister it). See the :manpage:`update-alternatives(8)` man page for details. If ``update-alternatives`` does not seem appropriate you may wish to consider using diversions instead. Do not use alternatives for ``systemd`` configuration files. See :doc:`ch-binary` for more information.