1UPDATE-ALTERNATIVES(8)      System Manager's Manual     UPDATE-ALTERNATIVES(8)
2
3
4

NAME

6       alternatives - maintain symbolic links determining default commands
7

SYNOPSIS

9       alternatives  [options] --install link name path priority [--slave link
10       name path]...  [--initscript service]
11
12       alternatives [options] --remove name path
13
14       alternatives [options] --set name path
15
16       alternatives [options] --auto name
17
18       alternatives [options] --display name
19
20       alternatives [options] --config name
21

DESCRIPTION

23       alternatives creates, removes, maintains and displays information about
24       the symbolic links comprising the alternatives system. The alternatives
25       system is a reimplementation of the Debian alternatives system. It  was
26       rewritten primarily to remove the dependence on perl; it is intended to
27       be a drop in replacement for Debian's update-dependencies script.  This
28       man page is a slightly modified version of the man page from the Debian
29       project.
30
31       It is possible for several programs  fulfilling  the  same  or  similar
32       functions  to  be  installed  on a single system at the same time.  For
33       example, many systems have several  text  editors  installed  at  once.
34       This gives choice to the users of a system, allowing each to use a dif‐
35       ferent editor, if desired, but makes it difficult for a program to make
36       a  good choice of editor to invoke if the user has not specified a par‐
37       ticular preference.
38
39       The alternatives system aims to solve this problem.  A generic name  in
40       the  filesystem  is shared by all files providing interchangeable func‐
41       tionality.   The  alternatives  system  and  the  system  administrator
42       together  determine  which  actual  file  is referenced by this generic
43       name.  For example, if the text  editors  ed(1)  and  nvi(1)  are  both
44       installed on the system, the alternatives system will cause the generic
45       name /usr/bin/editor to refer to /usr/bin/nvi by default.   The  system
46       administrator  can  override  this and cause it to refer to /usr/bin/ed
47       instead, and the alternatives system will not alter this setting  until
48       explicitly requested to do so.
49
50       The generic name is not a direct symbolic link to the selected alterna‐
51       tive.  Instead, it is a symbolic link to a  name  in  the  alternatives
52       directory,  which  in turn is a symbolic link to the actual file refer‐
53       enced.  This is done so that the system administrator's changes can  be
54       confined  within  the  /etc directory: the FHS (q.v.) gives reasons why
55       this is a Good Thing.
56
57       When each package providing a file with a particular  functionality  is
58       installed,  changed or removed, alternatives is called to update infor‐
59       mation about that file in the  alternatives  system.   alternatives  is
60       usually called from the %post or %pre scripts in RPM packages.
61
62       It  is often useful for a number of alternatives to be synchronised, so
63       that they are changed as a group; for example, when several versions of
64       the   vi(1)   editor   are   installed,  the  man  page  referenced  by
65       /usr/share/man/man1/vi.1 should correspond to the executable referenced
66       by /usr/bin/vi.  alternatives handles this by means of master and slave
67       links; when the master is changed, any associated  slaves  are  changed
68       too.  A master link and its associated slaves make up a link group.
69
70       Each  link  group is, at any given time, in one of two modes: automatic
71       or manual.  When a group is in automatic mode, the alternatives  system
72       will  automatically  decide,  as  packages  are  installed and removed,
73       whether and how to update the links.  In manual mode, the  alternatives
74       system  will  not  change the links; it will leave all the decisions to
75       the system administrator.
76
77       Link groups are in automatic mode when they are first introduced to the
78       system.   If  the  system  administrator  makes changes to the system's
79       automatic settings, this will be noticed the next time alternatives  is
80       run  on  the  changed link's group, and the group will automatically be
81       switched to manual mode.
82
83       Each alternative has a priority associated with it.  When a link  group
84       is  in  automatic  mode,  the alternatives pointed to by members of the
85       group will be those which have the highest priority.
86
87       When using the --config option,  alternatives  will  list  all  of  the
88       choices for the link group of which given name is the master link.  You
89       will then be prompted for which of the choices  to  use  for  the  link
90       group. Once you make a change, the link group will no longer be in auto
91       mode. You will need to use the --auto option in order to return to  the
92       automatic state.
93

TERMINOLOGY

95       Since  the activities of alternatives are quite involved, some specific
96       terms will help to explain its operation.
97
98       generic name
99              A name, like /usr/bin/editor, which refers, via the alternatives
100              system, to one of a number of files of similar function.
101
102       symlink
103              Without any further qualification, this means a symbolic link in
104              the alternatives directory: one which the  system  administrator
105              is expected to adjust.
106
107       alternative
108              The name of a specific file in the filesystem, which may be made
109              accessible via a generic name using the alternatives system.
110
111       alternatives directory
112              A directory, by default /etc/alternatives, containing  the  sym‐
113              links.
114
115       administrative directory
116              A directory, by default /var/lib/alternatives, containing alter‐
117              natives' state information.
118
119       link group
120              A set of related symlinks, intended to be updated as a group.
121
122       master link
123              The link in a link group which determines how the other links in
124              the group are configured.
125
126       slave link
127              A link in a link group which is controlled by the setting of the
128              master link.
129
130       automatic mode
131              When a link group is in automatic mode, the alternatives  system
132              ensures  that the links in the group point to the highest prior‐
133              ity alternatives appropriate for the group.
134
135       manual mode
136              When a link group is in manual  mode,  the  alternatives  system
137              will  not  make  any  changes to the system administrator's set‐
138              tings.
139

OPTIONS

141       Exactly one action must be specified if alternatives is to perform  any
142       meaningful  task.   Any  number  of the common options may be specified
143       together with any action.
144
145   COMMON OPTIONS
146       --verbose
147              Generate more comments about what alternatives is doing.
148
149       --quiet
150              Don't generate any comments unless errors occur.  This option is
151              not yet implemented.
152
153       --test Don't  actually  do anything, just say what would be done.  This
154              option is not yet implemented.
155
156       --help Give some usage information (and say which version  of  alterna‐
157              tives this is).
158
159       --version
160              Tell  which version of alternatives this is (and give some usage
161              information).
162
163       --altdir directory
164              Specifies the alternatives directory, when this is to be differ‐
165              ent from the default.
166
167       --admindir directory
168              Specifies  the administrative directory, when this is to be dif‐
169              ferent from the default.
170
171   ACTIONS
172       --install  link  name  path  priority  [--slave  slink   sname   spath]
173       [--initscript service]...
174              Add  a group of alternatives to the system.  name is the generic
175              name for the master link, link is the name of its symlink,  path
176              is  the  alternative  being  introduced for the master link, and
177              priority is the priority of the alternatives group. Higher  pri‐
178              orities take precendence if no alternative is manually selected.
179              sname, slink and spath are the generic name,  symlink  name  and
180              alternative  for  a  slave  link, and service is the name of any
181              associated initscript for the alternative.   NOTE:  --initscript
182              is  a  Red  Hat  Linux  specific  option.   Zero or more --slave
183              options, each followed by three arguments, may be specified.
184
185              If the master symlink specified exists already in  the  alterna‐
186              tives  system's  records, the information supplied will be added
187              as a new set of alternatives for the group.   Otherwise,  a  new
188              group,  set  to automatic mode, will be added with this informa‐
189              tion.  If the group is in automatic mode, and  the  newly  added
190              alternatives' priority is higher than any other installed alter‐
191              natives for this group, the symlinks will be updated to point to
192              the newly added alternatives.
193
194              If --initscript is used, the alternatives system will manage the
195              initscript associated with the alternative via chkconfig, regis‐
196              tering  and  unregistering  the  init  script depending on which
197              alternative is active.
198
199              NOTE: --initscript is a Red Hat Linux specific option.
200
201       --remove name path
202              Remove an alternative and all of  its  associated  slave  links.
203              name  is  a  name  in the alternatives directory, and path is an
204              absolute filename to which name could be  linked.   If  name  is
205              indeed  linked to path, name will be updated to point to another
206              appropriate alternative, or removed if there is no such alterna‐
207              tive  left.   Associated slave links will be updated or removed,
208              correspondingly.  If the link is not currently pointing to path,
209              no links are changed; only the information about the alternative
210              is removed.
211
212       --set name path
213              The symbolic link and slaves for link group name  set  to  those
214              configured  for  path, and the link group is set to manual mode.
215              This option is not in the original Debian implementation.
216
217       --config name
218              Present the user with a configuration menu for choosing the mas‐
219              ter  link  and slaves for link group name. Once chosen, the link
220              group is set to manual mode.
221
222       --auto name
223              Switch the master  symlink  name  to  automatic  mode.   In  the
224              process, this symlink and its slaves are updated to point to the
225              highest priority installed alternatives.
226
227       --display name
228              Display information about the link group of which  name  is  the
229              master  link.   Information  displayed includes the group's mode
230              (auto or manual), which alternative the symlink currently points
231              to, what other alternatives are available (and their correspond‐
232              ing slave alternatives), and the  highest  priority  alternative
233              currently installed.
234

FILES

236       /etc/alternatives/
237              The  default  alternatives  directory.  Can be overridden by the
238              --altdir option.
239
240       /var/lib/alternatives/
241              The default administration directory.  Can be overridden by  the
242              --admindir option.
243

EXIT STATUS

245       0      The requested action was successfully performed.
246
247       2      Problems  were  encountered  whilst  parsing the command line or
248              performing the action.
249

DIAGNOSTICS

251       alternatives chatters incessantly about its activities on its  standard
252       output channel.  If problems occur, alternatives outputs error messages
253       on its standard error channel and returns an exit status of  2.   These
254       diagnostics  should  be  self-explanatory;  if you do not find them so,
255       please report this as a bug.
256

BUGS

258       If you find a bug, please report it using the Red Hat bug tracking sys‐
259       tem at http://bugzilla.redhat.com.
260
261       If  you  find any discrepancy between the operation of alternatives and
262       this manual page, it is a bug, either in the implementation or the doc‐
263       umentation; please report it.  Any significant differences between this
264       implementation and Debian's is also  a  bug  and  should  be  reported,
265       unless otherwise noted in this man page.
266

AUTHOR

268       alternatives is copyright 2002 Red Hat, Inc..  It is free software; see
269       the GNU General Public Licence version 2 or later  for  copying  condi‐
270       tions.  There is NO warranty.
271
272       This  manual  page  is copyright 1997/98 Charles Briscoe-Smith and 2002
273       Red Hat, Inc.  This is free documentation; see the GNU  General  Public
274       Licence  version  2  or later for copying conditions.  There is NO WAR‐
275       RANTY.
276

SEE ALSO

278       ln(1), FHS, the Filesystem Hierarchy Standard.  alternatives.c  chkcon‐
279       fig.c COPYING leveldb.c leveldb.h Makefile ntsysv.c ook
280
281
282
283                                27 January 2001         UPDATE-ALTERNATIVES(8)
Impressum