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
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
|
*****************************************************
* GENERATED FILE, DO NOT EDIT *
* THIS IS NO SOURCE FILE, BUT RESULT OF COMPILATION *
*****************************************************
This file was generated by po4a(7). Do not store it (in VCS, for example),
but store the PO file used as source file by po4a-translate.
In fact, consider this as a binary, and the PO file as a regular .c file:
If the PO get lost, keeping this translation up-to-date will be harder.
=encoding UTF-8
=head1 BEZEICHNUNG
update-alternatives - Verwaltung symbolischer Links zur Bestimmung von Standardwerten für Befehle
=head1 ÜBERSICHT
B<update-alternatives> [I<Option> …] I<Befehl>
=head1 BESCHREIBUNG
B<update-alternatives> erzeugt, entfernt, verwaltet und zeigt die Informationen über die symbolischen Links, die das „Alternativ-System“ bilden, an.
Es ist möglich, mehrere Programme, die die gleiche oder ähnliche Funktionalität bereitstellen, gleichzeitig auf einem System zu installieren. Beispielsweise sind auf vielen Systemen mehrere Texteditoren gleichzeitig installiert. Dies gibt den Benutzern eines Systems die Möglichkeit, falls gewünscht, jeweils einen anderen Editor zu verwenden, allerdings wird es damit für ein Programm schwierig, eine gute Wahl für einen Editor zum Starten zu treffen, falls der Benutzer keine spezielle Wahl getroffen hat.
Das Alternativ-System hat das Ziel, dieses Problem zu lösen. Ein generischer Name im Dateisystem wird von allen Dateien, die austauschbare Funktionalität bereitstellen, verwendet. Das Alternativ-System bestimmt zusammen mit dem Systemadministrator, welche Datei tatsächlich durch diesen generischen Namen referenziert wird. Falls beispielsweise sowohl der Texteditor L<ed(1)> als auch L<nvi(1)> im System installiert sind, wird das Alternativ-System dafür sorgen, dass der generische Name I</usr/bin/editor> standardmäßig auf I</usr/bin/nvi> zeigt. Der Systemadministrator kann dies ändern und dafür sorgen, dass er stattdessen auf I</usr/bin/ed> zeigt, und das Alternativ-System wird diese Einstellung nicht verändern, bis es explizit dazu aufgefordert wird.
Der generische Name ist kein direkter symbolischer Link auf die ausgewählte Alternative. Stattdessen ist es ein symbolischer Link auf einen Namen im I<Alternativ-Verzeichnis>, welches wiederum ein symbolischer Link auf die tatsächlich referenzierte Datei ist. Dies ist so realisiert, damit die Änderungen des Systemadministrators auf das I<%CONFDIR%>-Verzeichnis beschränkt bleiben: der FHS (siehe dort) erklärt, warum dies eine gute Idee ist.
Wenn ein Paket, das eine Datei mit einer bestimmten Funktionalität bereitstellt, installiert, geändert oder entfernt wird, wird B<update-alternatives> aufgerufen, um die Informationen über diese Datei im Alternatives-System zu aktualisieren. B<update-alternatives> wird normalerweise in den folgenden Debian-Paketbetreuerskripten aufgerufen: B<postinst> (configure), um die Alternative zu installieren und von B<prerm> und B<postrm> (remove), um die Alternative zu entfernen. B<Hinweis>: In den meisten (wenn nicht allen) Fällen sollte keine weitere Betreuerskriptaktion B<update-alternatives> aufrufen, insbesondere weder B<upgrade> noch B<disappear>, da jede dieser anderen Aktionen zum Verlust des manuellen Zustands einer Alternative, oder zum Hin-und Herspringen oder zum kompletten Umspringen, wenn mehrere von ihnen die gleiche Priorität haben, führen kann.
Es ist oft sinnvoll, dass eine Reihe von Alternativen synchronisiert werden, so dass sie als Gruppe geändert werden; wenn beispielsweise mehrere Versionen des L<vi(1)>-Editors installiert sind, sollte die Handbuchseite, die durch I</usr/share/man/man1/vi.1> referenziert wird, zu dem ausführbaren Programm, dass durch I</usr/bin/vi> referenziert wird, gehören. B<update-alternatives> erledigt dies mit Hilfe von I<Master-> und I<Slave-Links>; wird der Master-Link geändert, wird auch jeder zugehörige Slave-Link geändert. Ein Master-Link und seine zugehörigen Slave-Links bilden zusammen eine I<Link-Gruppe>.
Eine Linkgruppe ist zu jeder Zeit in einem der beiden Modi: automatisch oder manuell. Ist eine Gruppe im automatischen Modus, dann wird das Alternativ-System bei der Paketinstallation und -entfernung automatisch entscheiden, ob und wie die Links aktualisiert werden. Im manuellen Modus wird das Alternativ-System die Wahl des Administrators beibehalten und Änderungen der Links vermeiden (außer irgendetwas ist defekt).
Beim erstmaligen Einführen in das System befindet sich eine Linkgruppe im automatischen Modus. Führt der Systemadministrator Änderungen an den automatischen Einstellungen des Systems durch, wird dies beim nächsten Aufruf von B<update-alternatives> auf die Linkgruppe bemerkt und die Gruppe wird automatisch in den manuellen Modus umgeschaltet.
Jede Alternative hat eine ihr zugeordnete I<Priorität>. Befindet sich eine Linkgruppe im automatischen Modus, zeigen die Mitglieder einer Gruppe auf die Alternative mit der höchsten Priorität.
Wird die Option B<--config> verwendet, dann zeigt B<update-alternatives> alle Auswahlmöglichkeiten für die Link-Gruppe an, für die der gegebene I<Name> der Master-Alternative-Name ist. Die aktuelle Auswahl ist mit ‚*’ markiert. Sie werden dann aufgefordert, Ihre Auswahl bezüglich der Linkgruppe anzugeben. Abhängig von der getroffenen Auswahl könnte sich die Link-Gruppe nicht mehr im I<automatischen> Modus befinden. Sie müssen dann die Option B<--auto> verwenden, um wieder in den automatischen Zustand zurückzukehren (oder Sie können B<--config> erneut ausführen und den als automatisch markierten Eintrag auswählen).
Falls Sie nicht-interaktiv konfigurieren möchten, können Sie stattdessen die Option B<--set> verwenden (siehe unten).
Verschiedene Pakete, die die gleiche Datei bereitstellen, müssen dies B<kooperativ> durchführen. Anders gesagt ist in diesem Fall die Verwendung von B<update-alternatives> für alle beteiligten Pakete B<zwingend>. Es ist nicht möglich, sich über eine Datei in einem Paket hinwegzusetzen, welches den B<update-alternatives>-Mechanismus nicht verwendet.
=head1 BEGRIFFE
Da die Tätigkeiten von B<update-alternatives> recht komplex sind, sollen einige spezielle Begriffe helfen, seine Vorgehensweise zu erläutern.
=over
=item generischer Name (oder Alternativ-Link)
Ein Name wie I</usr/bin/editor>, der sich über das Alternativ-System auf eine Reihe von Dateien mit ähnlicher Funktionalität bezieht.
=item Alternativ-Name
Der Name eines symbolischen Links im Alternativ-Verzeichnis.
=item Alternative (oder Alternativ-Pfad)
Der Name einer speziellen Datei im Dateisystem, die mittels eines generischen Namens über das Alternativ-System zugreifbar gemacht werden kann.
=item Alternativ-Verzeichnis
Ein Verzeichnis, standardmäßig I<%CONFDIR%/alternatives>, das die Symlinks enthält.
=item administratives Verzeichnis
Ein Verzeichnis, standardmäßig I<%ADMINDIR%/alternatives>, das die B<update-alternatives> Zustandsinformationen enthält.
=item Linkgruppe
Ein Satz zusammengehörender Symlinks, die als Gruppe aktualisiert werden sollen.
=item Master-Link
Der Alternativ-Link in einer Linkgruppe, der bestimmt, wie die anderen Links in der Gruppe konfiguriert werden.
=item Slave-Link
Ein Alternativ-Link in einer Linkgruppe, der durch die Einstellung des Master-Links gesteuert wird.
=item automatischer Modus
Ist eine Linkgruppe im automatischen Modus, dann sorgt das Alternativ-System dafür, dass die Links in der Gruppe auf die für die Gruppe passende Alternative mit der höchsten Priorität zeigen.
=item manueller Modus
Ist eine Linkgruppe im manuellen Modus, dann führt das Alternativ-System keine Änderungen an den Einstellungen des Systemadministrators durch.
=back
=head1 BEFEHLE
=over
=item B<--install> I<Link Name Pfad Priorität> [B<--slave> I<Link Name Pfad>] …
Fügt eine Gruppe von Alternativen zum System hinzu. I<Link> ist der generische Name des Master-Links, I<Name> ist der Name seines Symlinks im Alternativ-Verzeichnis und I<Pfad> ist die Alternative, die für den Master-Link eingeführt wird. Die Argumente nach B<--slave> sind der generische Name, Symlink-Name in dem Alternativ-Verzeichnis und der Alternativ-Pfad für den Slave-Link. Null oder mehrere B<--slave>-Optionen, jede von drei Argumenten gefolgt, können spezifiziert werden. Beachten Sie, dass die Master-Alternative existieren muss, ansonsten schlägt der Aufruf fehl. Falls allerdings eine Slave-Alternative nicht existiert, wird der zugehörige Slave-Alternative-Link einfach nicht installiert (es wird noch eine Warnung ausgegeben). Falls eine echte Datei an einer Stelle installiert wird, an der ein Alternativ-Link installiert werden muss, wird diese beibehalten, solange B<--force> nicht verwandt wird.
Falls der angegebene Alternativ-Name bereits in den Aufzeichnungen des Alternativ-Systems existiert, werden die angegebenen Informationen als neuer Satz von Alternativen für die Gruppe hinzugefügt. Andernfalls wird eine neue Gruppe, eingestellt im automatischen Modus, mit dieser Information hinzugefügt. Falls die Gruppe sich im automatischen Modus befindet und die Priorität der neu hinzugefügten Alternative höher ist als die jeder anderen installierten Alternative für diese Gruppe, werden die Symlinks aktualisiert, so dass sie auf die neu hinzugefügte Alternative zeigen.
=item B<--set> I<Name> I<Pfad>
Setzt das Programm I<Pfad> als Alternative für I<Name>. Dies ist äquivalent zu B<--config>, ist aber nicht interaktiv und kann somit geskriptet werden.
=item B<--remove> I<Name> I<Pfad>
Entfernt eine Alternative und alle zugehörigen Slave-Links. I<Name> ist ein Name im Alternativ-Verzeichnis, und I<Pfad> ist ein absoluter Dateiname, zu dem I<Name> gelinkt werden könnte. Falls I<Name> tatsächlich nach I<Pfad> gelinkt ist, dann wird I<Name> aktualisiert, um auf eine andere geeignete Alternative zu zeigen (und die Gruppe wird wieder in den automatischen Modus versetzt) oder entfernt, falls keine solche Alternative übrig bleibt. Zugehörige Slave-Links werden entsprechend aktualisiert oder entfernt. Falls der Link derzeit nicht auf I<Pfad> zeigt, werden keine Links geändert; nur die Information über die Alternative wird entfernt.
=item B<--remove-all> I<Name>
Entfernt alle Alternativen und deren zugehörige Slave-Links. I<Name> ist ein Name im Alternativ-Verzeichnis.
=item B<--all>
Ruft B<--config> für alle Alternativen auf. In der Kombination mit B<--skip-auto> kann dies nützlich sein, um alle Alternativen zu prüfen und zu konfigurieren, die sich nicht im automatischen Modus befinden. Defekte Alternativen werden auch angezeigt. Ein Aufruf von B<yes '' | update-alternatives --force --all> ist daher eine einfache Art, um alle defekten Alternativen zu reparieren.
=item B<--auto> I<Name>
Überführt die Linkgruppe hinter der Alternative mit Name I<Name> in den automatischen Modus. Bei diesem Prozess werden der Master-Symlink und seine Slave-Links aktualisiert, um auf die installierte Alternative mit höchster Priorität zu zeigen.
=item B<--display> I<Name>
Zeigt Informationen über die Linkgruppe an. Die angezeigten Informationen enthalten den Modus der Gruppe (automatisch oder manuell), die Master- und Slave-Links, auf welche Alternative der Master-Link derzeit zeigt, welche weiteren Alternativen zur Verfügung stehen (und ihre zugehörigen Slave-Alternativen), und die installierte Alternative mit der höchsten Priorität.
=item B<--get-selections>
Führt alle Master-Alternativ-Namen (die eine Linkgruppe steuern) mit ihrem Status auf (seit Version 1.15.0). Jede Zeile enthält bis zu 3 Felder (getrennt durch mindestens ein Leerzeichen). Im ersten Feld steht der Alternativ-Name, im zweiten der Status (entweder B<auto> oder B<manual>) und im letzten die derzeitige Wahl der Alternative (Achtung: Dies ist ein Dateiname, der Leerzeichen enthalten kann).
=item B<--set-selections>
Liest eine Konfiguration von Alternativen über die Standardeingabe im von „B<--get-selections>“ generierten Format und konfiguriert die Alternativen entsprechend neu (seit Version 1.15.0).
=item B<--query> I<Name>
Zeigt alle Informationen über die Linkgruppe an, wie dies auch von B<--display> erfolgt, allerdings in einem maschinenlesbaren Format (seit Version 1.15.0, siehe nachfolgenden Abschnitt L</ABFRAGE-FORMAT>).
=item B<--list> I<Name>
Zeigt alle Ziele der Linkgruppe an.
=item B<--config> I<Name>
Zeigt die verfügbaren Alternativen für eine Linkgruppe an und erlaubt es dem Benutzer, interaktiv auszuwählen, welche zu benutzen ist. Die Linkgruppe wird aktualisiert.
=item B<--help>
Zeigt einen Hinweis zum Aufruf und beendet das Programm.
=item B<--version>
Gibt die Version aus und beendet das Programm.
=back
=head1 OPTIONEN
=over
=item B<--altdir> I<Verzeichnis>
Spezifiziert das Alternativ-Verzeichnis, wenn sich dieses von der Standardeinstellung unterscheiden soll. Vorgabe ist „I<%CONFDIR%/alternatives>“.
=item B<--admindir> I<Verzeichnis>
Spezifiziert das administrative Verzeichnis, wenn sich dieses von der Standardeinstellung unterscheiden soll. Vorgabe ist „I<%ADMINDIR%/alternatives>“, falls B<%ADMINDIR_ENVVAR%> nicht gesetzt wurde.
=item B<--instdir> I<Verzeichnis>
Spezifiziert das Installationsverzeichnis, in dem Alternatives-Links erstellt werden (seit Dpkg 1.20.1). Standardmäßig „I</>“, falls B<%INSTDIR_ENVVAR%> nicht gesetzt wurde.
=item B<--root> I<Verzeichnis>
Spezifiziert das Wurzelverzeichnis (seit Version 1.201.). Dies setzt auch passend die Alternatives-, Installations- und administrativen Verzeichnisse. Standardmäßig „I</>“, falls B<%INSTDIR_ENVVAR%> nicht gesetzt wurde.
=item B<--log> I<Datei>
Gibt die Protokolldatei an (seit Version 1.15.0), wenn diese sich von der Vorgabe (%LOGDIR%/alternatives.log) unterscheiden soll.
=item B<--force>
Erlaubt die Ersetzung oder Entfernung von echten Dateien, die sich an Stellen befinden, an denen ein Alternativ-Link installiert werden muss.
=item B<--skip-auto>
Überspringt die Konfigurationsabfrage für Alternativen, die korrekt im automatischen Modus konfiguriert sind. Diese Option ist nur mit B<--config> oder B<--all> relevant.
=item B<--quiet>
Erzeugt keine Kommentare, es sei denn, ein Fehler tritt auf.
=item B<--verbose>
Erzeugt mehr Kommentare darüber, was getan wird.
=item B<--debug>
Erzeugt mehr Kommentare darüber, hilfreich für die Fehlersuche, was getan wird (seit Version 1.19.3).
=back
=head1 RÜCKGABEWERT
=over
=item B<0>
Die angeforderte Aktion wurde erfolgreich ausgeführt.
=item B<2>
Beim Lesen der Befehlszeile oder beim Ausführen der Aktion traten Probleme auf.
=back
=head1 UMGEBUNG
=over
=item B<%INSTDIR_ENVVAR%>
Falls gesetzt und die Option B<--instdir> oder B<--root> nicht angegeben wurde, wird dies als Dateisystemwurzelverzeichnis verwandt.
=item B<%ADMINDIR_ENVVAR%>
Falls gesetzt und die Option B<--admindir> nicht angegeben wurde, wird dies als Basis-Administrationsverzeichnis verwandt.
=back
=head1 DATEIEN
=over
=item I<%CONFDIR%/alternatives/>
Das standardmäßige Alternativ-Verzeichnis. Kann mittels der Option B<--altdir> geändert werden.
=item I<%ADMINDIR%/alternatives/>
Das standardmäßige administrative Verzeichnis. Kann mittels der B<--admindir> Option geändert werden.
=back
=head1 ABFRAGE-FORMAT
Das Format von B<--query> ist ein RFC822-artiges, flaches Format. Es besteht aus I<n>+1 Absätzen, wobei I<n> die Anzahl der in einer abgefragten Linkgruppe verfügbaren Alternativen ist. Der erste Absatz enthält die folgenden Felder:
=over
=item B<Name:> I<Name>
Der alternative Name im Alternativ-Verzeichnis.
=item B<Link:> I<Link>
Der generische Name der Alternative.
=item B<Slaves:> I<Liste-von-Slaves>
Wenn diese Feld vorhanden ist, enthält die B<nächste> Zeile alle Slave-Links, die dem Master-Link dieser Alternativen zugeordnet sind. Pro Zeile wird ein Slave aufgeführt. Jede Zeile enthält ein Leerzeichen, den generischen Namen des Slaves, ein weiteres Leerzeichen und den Pfad zu dem Slave-Link.
=item B<Status:> I<Status>
Der Status der Alternative (B<auto> oder B<manual>).
=item B<Best:> I<beste-Wahl>
Der Pfad der besten Alternative für diese Linkgruppe. Nicht vorhanden, falls keine Alternative verfügbar ist.
=item B<Value:> I<derzeit-ausgewählte-Alternative>
Der Pfad der derzeit ausgewählten Alternative. Es akzeptiert auch den magischen Wert B<none>, der verwandt wird, falls der Link nicht existiert.
=back
Die anderen Absätze beschreiben die verfügbaren Alternativen in der abgefragten Linkgruppe:
=over
=item B<Alternative:> I<Pfad-dieser-Alternativen>
Pfad zu der Alternative dieses Absatzes.
=item B<Priority:> I<Prioritätswert>
Wert der Priorität dieser Alternativen.
=item B<Slaves:> I<Liste-von-Slaves>
Wenn dieses Feld vorhanden ist, enthält die B<nächste> Zeile alle Slave-Alternativen, die dem Master-Link dieser Alternativen zugeordnet sind. Pro Zeile wird ein Slave aufgeführt. Jede Zeile enthält ein Leerzeichen, den generischen Namen des Slaves, ein weiteres Leerzeichen und den Pfad zu der Slave-Alternative.
=back
=head2 Beispiel
$ update-alternatives --query editor
Name: editor
Link: /usr/bin/editor
Slaves:
editor.1.gz /usr/share/man/man1/editor.1.gz
editor.fr.1.gz /usr/share/man/fr/man1/editor.1.gz
editor.it.1.gz /usr/share/man/it/man1/editor.1.gz
editor.pl.1.gz /usr/share/man/pl/man1/editor.1.gz
editor.ru.1.gz /usr/share/man/ru/man1/editor.1.gz
Status: auto
Best: /usr/bin/vim.basic
Value: /usr/bin/vim.basic
Alternative: /bin/ed
Priority: -100
Slaves:
editor.1.gz /usr/share/man/man1/ed.1.gz
Alternative: /usr/bin/vim.basic
Priority: 50
Slaves:
editor.1.gz /usr/share/man/man1/vim.1.gz
editor.fr.1.gz /usr/share/man/fr/man1/vim.1.gz
editor.it.1.gz /usr/share/man/it/man1/vim.1.gz
editor.pl.1.gz /usr/share/man/pl/man1/vim.1.gz
editor.ru.1.gz /usr/share/man/ru/man1/vim.1.gz
=head1 DIAGNOSE
Mit B<--verbose> berichtet B<update-alternatives> fortwährend über seine Aktivitäten auf seinem Standardausgabekanal. Falls Probleme auftreten, gibt B<update-alternatives> eine Fehlermeldung auf seinem Standardfehlerkanal aus und beendet sich mit dem Exit-Status 2. Die Diagnostiken sollten selbsterklärend sein; falls Sie dies nicht so empfinden, melden Sie dies bitte als Fehler.
=head1 BEISPIELE
Es gibt mehrere Pakete, die einen B<vi>-kompatiblen Texteditor bereitstellen, beispielsweise B<nvi> und B<vim>. Welcher benutzt wird, wird durch die Linkgruppe B<vi> eingestellt, welche Links für das Programm selber und die zugehörige Handbuchseite beinhaltet.
Um alle verfügbaren Programme anzuzeigen, die B<vi> bereitstellen, und die dazu gehörigen Einstellungen, benutzen Sie die Aktion B<--display>:
=over
update-alternatives --display vi
=back
Um eine bestimmte B<vi>-Implementation auszuwählen, benutzen Sie als Root den folgenden Befehl und wählen dann eine Zahl aus der Liste aus:
=over
update-alternatives --config vi
=back
Um zur automatischen Auswahl der B<vi>-Implementation zurückzukehren, führen Sie Folgendes als Root aus:
=over
update-alternatives --auto vi
=back
=head1 SIEHE AUCH
L<ln(1)>, FHS (der Dateisystem-Hierarchie-Standard, Filesystem Hierarchy Standard).
=head1 ÜBERSETZUNG
Die deutsche Übersetzung wurde 2004, 2006-2024 von Helge Kreutzmann
<debian@helgefjell.de>, 2007 von Florian Rehnisch <eixman@gmx.de> und
2008 von Sven Joachim <svenjoac@gmx.de>
angefertigt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die
GNU General Public License Version 2 oder neuer für die Kopierbedingungen.
Es gibt KEINE HAFTUNG.
|