update-alternatives(8)

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

SKŁADNIA
update-alternatives [opcje] --install nazwa-ogólna symlink altern priorytet [--slave nazwa-ogólna symlink altern]...

update-alternatives [opcje] --remove nazwa ścieżka

update-alternatives [opcje] --remove-all nazwa

update-alternatives [options] --all

update-alternatives [opcje] --auto nazwa

update-alternatives [opcje] --display nazwa

update-alternatives [opcje] --list nazwa

update-alternatives [opcje] --config nazwa

update-alternatives [opcje] --set nazwa ścieżka

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

It is possible for several programs fulfilling the same or similar functions to be installed on a single system at the same time. For example, many systems have several text editors installed at once. This gives choice to the users of a system, allowing each to use a different editor, if desired, but makes it difficult for a program to make a good choice for an editor to invoke if the user has not specified a particular preference.

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 wraz z administratorem 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 linkiem symbolicznym do wybranej alternatywy, ale jest linkiem do pliku w katalogu alternatyw, który to z kolei jest linkiem do właściwego pliku. Jest tak zrobione dlatego, żeby zmiany administratora systemu były połączone ze zmianami w 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 lub prerm 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.1powinna odpowiadać wersji programu zainstalowanego jako /usr/bin/vi. update-alternatives obsługuje to przy pomocy linków głównych i podrzędnych - zmiana linku głównego powoduje zmianę skojarzonych linków podrzędnych. Link główny i skojarzone z nim linki podrzędne tworzą grupę linków.

W dowolnym czasie każda grupa linków może być w jednym z dwu trybów: automatycznym lub ręcznym. W trybie automatycznym podczas instalacji lub usuwania pakietu system alternatyw automatycznie zdecyduje, czy i jak aktualizować linki. W trybie ręcznym system alternatyw nie będzie zmieniał linków i zostawi wszystkie decyzje administratorowi systemu.

Grupa linków 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 linków, a grupa ta automatycznie przejdzie w tryb ręczny.

Z każdą alternatywą skojarzony jest priorytet. Jeżeli grupa linków 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 link. The current choice is marked with a '*' and the choice with the highest priority with a '+'. You will then be prompted for your choice regarding this link group. Once you make a change, the link group will no longer be in auto mode. You will need to use the --auto option in order to return to the automatic mode.

Aby skonfigurować nieinteraktywnie, można użyć opcji --set (patrz niżej).

Different packages providing the same file need to do so cooperatively. That is - the usage of update-alternatives is mandatory for all involved packages in such case - it is not possible to override some file in a package that does not employ the update-alternatives mechanism.

TERMINOLOGIA
Ponieważ operacje programu update-alternatives są dość złożone, wprowadzimy parę terminów, które pomogą je zrozumieć.

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

link symboliczny
    Bez żadnego szczegółowego dookreślenia, oznacza to link symboliczny w katalogu alternatyw: ten, który administrator systemu powinien poprawiać.

alternatywa
    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 linki symboliczne, domyślnie /etc/alternatives.

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

grupa linków
    Zbiór powiązanych linków, zarządzany jako grupa.

link główny
    Link w grupie linków, który określa sposób konfigurowania innych linków z grupy.

link podrzędny
    Link w grupie linków, który jest kontrolowany przez ustawienie linku głównego.

tryb automatyczny
    When a link group is in automatic mode, the alternatives system ensures that the links in the group point to the highest priority alternative appropriate for the group.

tryb ręczny
    Kiedy grupa linków jest w trybie ręcznym, system alternatyw nic nie zmieni w ustawieniach administratora systemu.

PRZYKŁADY
Mamy 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ę linków vi, zawierającą linki do samego programu i jego stron podręcznika.

Aby wyświetlić listę dostępnych pakietów, które dostarczają vi oraz jego bieżące ustawienie, należy użyć akcji --display:

    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

OPCJE
Aby update-alternatives zrobił cokolwiek sensownego, należy podać dokładnie jedną akcję. Razem z tą akcją można podać dowolną liczbę wspólnych opcji.

  WSPÓLNE OPCJE

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

--quiet
    Nie wyświetl żadnych komentarzy, chyba że wystąpi błąd. Opcja jeszcze niezaimplementowana.

--test
    Nic nie robi, tylko wyświetla, co byłoby zrobione. Opcja jeszcze niezaimplementowana.

--help
    Give some usage information.

--version
    Tell which version of update-alternatives this is.

--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.

  AKCJE

--install nazwa-ogólna symlink altern priorytet [--slave nazwa-ogólna symlink altern] ...
    Add a group of alternatives to the system. genname is the generic name for the master link, symlink is the name of its symlink in the alternatives directory, and altern is the alternative being introduced for the master link. The arguments after --slave are the generic name, symlink name in the alternatives directory and the alternative for a slave link. Zero or more --slave options, each followed by three arguments, may be specified.

    Jeżeli główny link symboliczny 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 dodawanej alternatywy jest większy od priorytetu każdej z innych zainstalowanych alternatyw w tej grupie, to linki symboliczne będą zaktualizowane tak, żeby prowadziły do nowo dodanej alternatywy.

--set nazwa ścieżka
    Ustawia program ścieżka jako alternatywę dla nazwy. Jest to nieinteraktywny, a więc możliwy do użycia w skryptach, odpowiednik opcji --config.

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

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

--all
    Wywołuje --config dla wszystkich alternatyw.

--auto link
    Przełącza główny link link w tryb automatyczny. Podczas tego procesu, link ten wraz z jego linkami podrzędnymi będzie zaktualizowany tak, żeby wskazywał na alternatywę o najwyższym priorytecie.

--display link
    Wyświetla informacje o grupie linków, której link jest linkiem nadrzędnym. Informacje te zawierają tryb grupy (automatyczny lub ręczny), określają, na którą alternatywę obecnie link wskazuje, jakie są inne dostępne alternatywy (i odpowiadające im alternatywy podrzędne) oraz obecnie zainstalowaną alternatywę o najwyższym priorytecie.

--list link
    Wyświetla wszystkie cele w grupie linków.

--config link
    Wyświetla dostępne alternatywy w grupie linków i pozwala użytkownikowi interakcyjnie wybrać, której należy użyć. Grupa linków zostanie zaktualizowana, a tryb automatyczny zostanie wyłączony.

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.

DIAGNOSTYKA
update-alternatives wypisuje nieustannie informacje o podejmowanych działaniach do standardowego wyjścia. Jeżeli wystąpi błąd update-alternatives wyświetla komunikaty błędu do standardowego wyjścia błędów i kończy działanie z kodem wyjścia 2. Wypisywana diagnostyka powinna wszystko wyjaśniać, jeżeli nie jest taka, proszę zgłosić to jako błąd.

BŁĘDY
W razie znalezienia błędu, prosimy o jego zgłoszenie, używając systemu śledzenia błędów Debiana, a jeżeli nie jest to możliwe, to przez wysłanie bezpośredniego e-maila do autora.

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

AUTOR
Copyright 1995 Ian Jackson. 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.

Tę stronę podręcznika napisał w 1997/98 Charles Briscoe-Smith. Niniejsza dokumentacja jest oprogramowaniem wolnym, sprawdź Powszechną Licencję Publiczną GNU w wersji drugiej lub późniejszej, by dowiedzieć się o warunkach dystrybucji. Brak JAKIEJKOLWIEK gwarancji.

W każdym systemie Debiana GNU GPL można znaleźć w pliku /usr/share/common-licenses/GPL.

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