update-alternatives(8)

NAZWA
update-alternatives - zarządzanie dowiązaniami symbolicznymi określającymi domyślne polecenia

SKŁADNIA
update-alternatives [option...] command

OPIS
update-alternatives tworzy, usuwa, wyświetla informacje o dowiązaniach symbolicznych składających się na system alternatyw Debiana oraz nimi zarządza.

Kilka programów mających tę samą lub podobną funkcjonalność może zostać zainstalowanych w systemie w tym samym czasie. Na przykład w wielu systemach jest zainstalowanych jednocześnie kilka edytorów tekstu. Stanowi to ułatwienie dla użytkowników takiego systemu, z których każdy może uruchomić inny edytor, jeśli ma na to ochotę. Z drugiej strony jest to jednak utrudnienie dla programów chcących podjąć właściwą decyzję, który edytor uruchomić, jeżeli użytkownik nie określił swoich preferencji co do edytora.

Celem systemu alternatyw Debiana jest rozwiązanie tego problemu. Ogólna nazwa w systemie plików jest współdzielona przez wszystkie pliki dostarczające zmieniającą się funkcjonalność. System alternatyw oraz administrator systemu określają, do którego obecnego pliku prowadzi ta ogólna nazwa. Na przykład, jeżeli zainstalowano zarówno edytor ed(1) jak i nvi(1), to system alternatyw spowoduje, że nazwa ogólna /usr/bin/editor będzie się odnosić do /usr/bin/nvi. Administrator systemu może zmienić to ustawienie na /usr/bin/ed, a system alternatyw tego nie zmieni, chyba że administrator każe mu tak zrobić.

Nazwa ogólna nie jest bezpośrednim dowiązaniem symbolicznym do wybranej alternatywy, ale jest dowiązaniem do pliku w katalogu alternatyw, które z kolei jest dowiązaniem do właściwego pliku. Jest tak zrobione dlatego, żeby zmiany wprowadzane przez administratora systemu były ograniczone do katalogu /etc: standard FHS wymienia powody, aby tak zrobić.

Kiedy pakiet dostarczający pliku o określonej funkcjonalności jest instalowany, zmieniany lub usuwany, wywoływany jest program update-alternatives, aby zaktualizować informacje o tym pliku w systemie alternatyw. update-alternatives jest zazwyczaj wywoływany ze skryptów postinst (configure) lub prerm (install) w pakietach Debiana.

Często użyteczne jest, aby pewna liczba alternatyw była zsynchronizowana, tak żeby była zmieniana jako grupa. Na przykład jeżeli jest zainstalowane kilka wersji edytora vi(1), to strona podręcznika /usr/share/man/man1/vi.1 powinna odpowiadać wersji programu zainstalowanego jako /usr/bin/vi. update-alternatives obsługuje to przy pomocy dowiązań głównych i podrzędnych - zmiana dowiązania głównego powoduje zmianę skojarzonych dowiązań podrzędnych. Dowiązanie główne i skojarzone z nim dowiązania podrzędne tworzą grupę dowiązań.

Każda grupa dowiązań jest zawsze w jednym z dwóch trybów: automatycznym lub ręcznym. W trybie automatycznym podczas instalacji lub usuwania pakietu system alternatyw automatycznie zdecyduje, czy i jak aktualizować dowiązania. W trybie ręcznym system alternatyw nie będzie zmieniał dowiązań i zostawi wszystkie decyzje administratorowi systemu.

Grupa dowiązań jest trybie automatycznym, kiedy jest po raz pierwszy wprowadzana do systemu. Jeżeli administrator systemu wprowadzi zmiany do automatycznych ustawień, będą one wzięte pod uwagę podczas następnego uruchomienia update-alternatives na takiej zmienionej grupie dowiązań, a grupa ta automatycznie przejdzie w tryb ręczny.

Z każdą alternatywą skojarzony jest priorytet. Jeżeli grupa dowiązań jest w trybie automatycznym, to wybraną alternatywą będzie ta, która ma najwyższy priorytet.

When using the --config option, update-alternatives will list all of the choices for the link group of which given name is the master alternative name. The current choice is marked with a '*'. You will then be prompted for your choice regarding this link group. Depending on the choice made, the link group might no longer be in auto mode. You will need to use the --auto option in order to return to the automatic mode (or you can rerun --config and select the entry marked as automatic).

If you want to configure non-interactively you can use the --set option instead (see below).

Różne pakiety dostarczające tych samych plików powinny współpracować ze sobą w tym zakresie. Oznacza to, że używanie programu update-alternatives jest obowiązkowe dla wszystkich takich pakietów - nie jest możliwe nadpisanie pewnych plików w pakiecie, który nie używa mechanizmu update-alternatives.

TERMINOLOGIA
Ponieważ operacje programu update-alternatives są dość złożone, poniżej podane są terminy, które pomogą je zrozumieć.

nazwa ogólna (lub dowiązanie alternatywy)
    Nazwa, taka jak /usr/bin/editor, która odnosi się przez system alternatyw do jednego z kilku plików o podobnej funkcjonalności.

nazwa alternatywy
    Nazwa dowiązania symbolicznego w katalogu alternatyw.

alternatywa (lub ścieżka alternatywy)
    Nazwa określonego pliku w systemie plików, który w systemie alternatyw może być dostępny przez nazwę ogólną.

katalog alternatyw
    Katalog zawierający dowiązania symboliczne, domyślnie /etc/alternatives.

katalog administracyjny
    Katalog zawierający informacje o stanie update-alternatives, domyślnie /var/lib/dpkg/alternatives.

grupa dowiązań
    Zbiór powiązanych dowiązań symbolicznych, zarządzany jako grupa.

dowiązanie główne
    Dowiązanie alternatywy w grupie dowiązań, które określa sposób konfigurowania innych dowiązań z tej grupy.

dowiązanie podrzędne
    Dowiązanie alternatywy w grupie dowiązań, które jest kontrolowane przez ustawienie głównego dowiązania.

tryb automatyczny
    Kiedy grupa dowiązań jest w trybie automatycznym, system alternatyw zapewni, że dowiązania z tej grupy wskazują na alternatywę o najwyższym priorytecie.

tryb ręczny
    Kiedy grupa dowiązań jest w trybie ręcznym, system alternatyw nic nie zmieni w ustawieniach wprowadzonych przez administratora systemu.

POLECENIA

--install dowiązanie nazwa ścieżka priorytet [--slave dowiązanie nazwa ścieżka]...
    Dodaje grupę alternatyw do systemu. dowiązanie jest ogólną nazwą głównego dowiązania, nazwa jest nazwą dowiązania symbolicznego w katalogu alternatyw, a ścieżka jest wprowadzaną alternatywą dla głównego dowiązania. Argumentami opcji --slave są nazwa ogólna, nazwa dowiązania symbolicznego w katalogu alternatyw i ścieżka alternatywy dla dowiązania podrzędnego. Można podać zero lub więcej opcji --slave, po każdej muszą następować jej trzy argumenty. Należy zauważyć, że główna alternatywa musi istnieć, inaczej wywołanie się nie powiedzie. Jednak jeśli nie będzie istnieć podrzędna alternatywa, odpowiednie dowiązanie podrzędne po prostu nie zostanie zainstalowane (ale nadal będzie wyświetlane ostrzeżenie). Jeśli w miejscu gdzie powinno być zainstalowane dowiązanie alternatywy istnieje rzeczywisty plik, jest on zachowywany, chyba że użyta jest opcja --force.

    Jeżeli określona nazwa alternatywy już istnieje w systemie alternatyw, to podana informacja będzie dodana jako nowy zbiór alternatyw dla tej grupy. W przeciwnym wypadku zostanie utworzona nowa grupa, ustawiona w tryb automatyczny. Jeżeli grupa jest w trybie automatycznym, a priorytet nowo dodawanych alternatyw jest większy od priorytetu każdej z innych zainstalowanych alternatyw w tej grupie, to dowiązania symboliczne będą zaktualizowane tak, żeby prowadziły do nowo dodanych alternatyw.

--set nazwa ścieżka
    Set the program path as alternative for name. This is equivalent to --config but is non-interactive and thus scriptable.

--remove nazwa ścieżka
    Usuwa alternatywę i wszystkie dowiązania podrzędne z nią skojarzone. nazwa jest nazwą w katalogu alternatyw, ścieżka jest absolutną nazwą pliku, do której nazwa mogłaby być dowiązaniem. Jeżeli nazwa rzeczywiście jest dowiązaniem do ścieżki, to nazwa zostanie zaktualizowana, tak żeby wskazywała na inną odpowiednią alternatywę (zaś grupa jest ustawiana ponownie w tryb automatyczny), albo zostanie usunięta jeżeli nie pozostanie ani jedna alternatywa. Skojarzone dowiązania podrzędne zostaną odpowiednio zaktualizowane lub usunięte. Jeżeli dowiązanie nie prowadzi obecnie do ścieżki, to żadne dowiązania nie będą aktualizowane; zostanie tylko usunięta informacja o alternatywie.

--remove-all nazwa
    Usuwa wszystkie dowiązania alternatyw i wszystkie skojarzone z nimi dowiązania podrzędne. nazwa jest nazwą w katalogu alternatyw.

--all
    Wywołuje --config dla wszystkich alternatyw. Można to użytecznie połączyć z --skip-auto aby przejrzeć i skonfigurować wszystkie alternatywy, które nie są skonfigurowane w tryb automatyczny. Wyświetlane są również nieaktualne alternatywy. Dlatego prostym sposobem naprawienia uszkodzonych alternatyw jest wywołanie yes '' | update-alternatives --force --all.

--auto nazwa
    Przełącza grupę dowiązań dla alternatywy w tryb automatyczny. Podczas tego procesu, główne dowiązanie wraz z jego dowiązaniami podrzędnymi będą zaktualizowane tak, aby wskazywać na alternatywę o najwyższym priorytecie.

--display nazwa
    Wyświetla informacje o grupie dowiązań. Informacje te zawierają tryb grupy (automatyczny lub ręczny), określają na którą alternatywę obecnie wskazuje dowiązanie główne, jakie są inne dostępne alternatywy (i odpowiadające im alternatywy podrzędne) oraz obecnie zainstalowaną alternatywę o najwyższym priorytecie.

--get-selections
    Wyświetla wszystkie nazwy głównych alternatyw (kontrolujących grupę dowiązań) oraz ich status. Każda linia zawiera do 3 pól (rozdzielonych co najmniej jedną spacją). Pierwsze pole określa nazwą alternatywy, drugie pole to status ("auto" lub "manual"), zaś ostatnie pole zawiera bieżący wybór dla alternatywy (uwaga: jest to nazwa pliku i może zawierać znaki spacji).

--set-selections
    Wczytuje konfigurację alternatyw ze standardowego wejścia w formacie wygenerowanym przez update-alternatives --get-selections i odpowiednio je rekonfiguruje.

--query nazwa
    Wyświetla informację o grupie dowiązań tak jak --display, ale w sposób odpowiedni dla maszynowego parsowania (dokładniejszy opis poniżej, w sekcji FORMAT ZAPYTANIA).

--list nazwa
    Wyświetla wszystkie cele w grupie dowiązań.

--config nazwa
    Wyświetla dostępne alternatywy w grupie dowiązań i pozwala użytkownikowi interakcyjnie wybrać, której należy użyć. Grupa dowiązań zostanie odpowiednio zaktualizowana.

--help
    Wyświetla informację o użytkowaniu i kończy działanie.

--version
    Wyświetla informację o wersji i pomyślnie kończy działanie.

OPCJE

--altdir katalog
    Określa katalog alternatyw, jeżeli ma być inny niż domyślny.

--admindir katalog
    Określa katalog administracyjny, jeżeli ma być inny niż domyślny.

--log plik
    Specifies the log file, when this is to be different from the default (/var/log/alternatives.log).

--force
    Let update-alternatives replace or drop any real file that is installed where an alternative link has to be installed or removed.

--skip-auto
    Pomija pytania o konfigurację alternatyw, które są właściwie skonfigurowane w trybie automatycznym. Ta opcja ma znaczenie tylko przy --config lub --all.

--verbose
    Podaje więcej informacji o przebiegu wykonywania update-alternatives.

--quiet
    Nie wyświetla żadnych komentarzy, chyba że wystąpi błąd.

ŚRODOWISKO

DPKG_ADMINDIR
    If set and the --admindir option has not been specified, it will be used as the base administrative directory.

PLIKI

/etc/alternatives/
    Domyślny katalog alternatyw. Można go zmienić opcją -altdir.

/var/lib/dpkg/alternatives/
    Domyślny katalog administracyjny. Można go zmienić opcją -admindir.

KOD WYJŚCIA

0   Akcja zakończyła się powodzeniem.

2   Wystąpiły problemy podczas przetwarzania linii poleceń lub wykonywania akcji.

FORMAT ZAPYTANIA
The update-alternatives --query format is using an RFC822-like flat format. It's made of n + 1 blocks where n is the number of alternatives available in the queried link group. The first block contains the following fields:

Link: link
    Nazwa ogólna alternatywy.

Status: status
    Status alternatywy (auto lub manual).

Best: best-choice
    Ścieżka najlepszej alternatywy dla tej grupy dowiązań. Nie jest wyświetlana, jeśli nie ma dostępnych żadnych alternatyw.

Value: currently-selected-alternative
    Ścieżka aktualnie wybranej alternatywy. Może również przyjmować specjalną wartość none - jest ona używana jeśli dowiązanie nie istnieje.

Inne bloki opisują dostępne alternatywy w grupie dowiązań, do której odnosi się zapytanie:

Alternative: path-of-this-alternative
    Ścieżka do alternatywy opisywanej w tym bloku.

Priority: priority-value
    Wartość priorytetu alternatywy.

Slaves: list-of-slaves
    Gdy obecny jest ten nagłówek, następne linie zawierają wszystkie podrzędne alternatywy związane z głównym dowiązaniem alternatywy. W każdej linii podana jest jedna podrzędna alternatywa. Każda linia zawiera jedną spację, ogólną nazwę alternatywy podrzędnej, kolejną spację i w końcu ścieżkę do alternatywy podrzędnej.

Przykład
    $ update-alternatives --query editor
    Link: editor
    Status: auto
    Best: /usr/bin/vim.gtk
    Value: /usr/bin/vim.gtk
    Alternative: /bin/ed
    Priority: -100
    Slaves:
     editor.1.gz /usr/share/man/man1/ed.1.gz
    Alternative: /usr/bin/vim.gtk
    Priority: 50
    Slaves:
     editor.1.gz /usr/share/man/man1/vim.1.gz
     editor.ru.1.gz /usr/share/man/ru/man1/vim.1.gz
     editor.pl.ISO8859-2.1.gz /usr/share/man/pl.ISO8859-2/man1/vim.1.gz
     editor.it.ISO8859-1.1.gz /usr/share/man/it.ISO8859-1/man1/vim.1.gz
     editor.pl.UTF-8.1.gz /usr/share/man/pl.UTF-8/man1/vim.1.gz
     editor.it.1.gz /usr/share/man/it/man1/vim.1.gz
     editor.fr.UTF-8.1.gz /usr/share/man/fr.UTF-8/man1/vim.1.gz
     editor.fr.1.gz /usr/share/man/fr/man1/vim.1.gz
     editor.it.UTF-8.1.gz /usr/share/man/it.UTF-8/man1/vim.1.gz
     editor.pl.1.gz /usr/share/man/pl/man1/vim.1.gz
     editor.fr.ISO8859-1.1.gz /usr/share/man/fr.ISO8859-1/man1/vim.1.gz

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

PRZYKŁADY
Istnieje klika pakietów, które dostarczają edytora tekstu kompatybilnego z edytorem vi, na przykład nvi i vim. To, który pakiet będzie używany, kontrolowane jest przez grupę dowiązań vi, zawierającą dowiązania do samego programu i odpowiadających mu stron podręcznika.

To display the available packages which provide vi and the current setting for it, use the --display action:

    update-alternatives --display vi

Aby wybrać określoną implementację edytora vi, należy użyć tego polecenia jako użytkownik root i wybrać liczbę z listy:

    update-alternatives --config vi

Aby przywrócić automatyczne wybieranie implementacji programu vi, należy jako użytkownik root wykonać:

    update-alternatives --auto vi

BŁĘDY
W razie znalezienia błędu, prosimy o jego zgłoszenie, używając systemu śledzenia błędów Debiana.

Rozbieżności pomiędzy działaniem update-alternatives a tą stroną podręcznika stanowią albo błąd w implementacji, albo w dokumentacji. W razie znalezienia jakichkolwiek rozbieżności, prosimy o ich zgłoszenie.

AUTORZY
Copyright © 1995 Ian Jackson
Copyright © 2009 Raphaël Hertzog

Niniejszy program jest oprogramowaniem wolnym, sprawdź Powszechną Licencję Publiczną GNU w wersji drugiej lub późniejszej, by dowiedzieć się o warunkach dystrybucji. Brak JAKIEJKOLWIEK gwarancji.

Copyright tej strony podręcznika: 1997,1998 Charles Briscoe-Smith i inni.

To jest wolna dokumentacja, sprawdź Powszechną Licencję Publiczną GNU w wersji drugiej lub późniejszej, by dowiedzieć się o warunkach dystrybucji. Brak JAKIEJKOLWIEK gwarancji.

ZOBACZ TAKŻE
ln(1), FHS - standard hierarchii systemu plików.

TŁUMACZE
Piotr Roszatycki <dexter@debian.org>, 1999
Bartosz Feński <fenio@debian.org>, 2004-2005
Robert Luberda <robert@debian.org>, 2006-2008
Wiktor Wandachowicz <siryes@gmail.com>, 2008