update-alternatives(8)

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

SKŁADNIA
update-alternatives [opcje] polecenie

OPIS
update-alternatives tworzy, usuwa, wyświetla informacje o linkach 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 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.1 powinna 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.

update-alternatives użyte z opcją --config wyświetli listę wszystkich alternatyw dla grupy linków, dla której podana nazwa jest nazwą linku głównego. Bieżąca alternatywa zostanie oznaczona znakiem "*", a alternatywa o najwyższym priorytecie będzie oznaczona przez "+". Użytkownik zostanie poproszony o wybór alternatywy, która będzie używana dla tej grupy linków. Po dokonaniu zmiany grupa linków nie będzie już w trybie automatycznym. Aby przywrócić tryb automatyczny, należy użyć opcji --auto.

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

Opiekunowie różnych pakietów dostarczających tych samych plików powinni współpracować ze sobą. 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, 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
    Kiedy grupa linków jest w trybie automatycznym, system alternatyw zapewni, że linki tej grupy wskazują na alternatywę o najwyższym priorytecie.

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

POLECENIA

--install nazwa-ogólna symlink altern priorytet [--slave nazwa-ogólna symlink altern]...
    Dodaje grupę alternatyw do systemu. nazwa-ogólna jest ogólną nazwą głównego linku, link-symboliczny jest nazwą linku symbolicznego w katalogu alternatyw, a alternatywa jest wprowadzaną alternatywą dla głównego linku. Argumentami opcji --slave są nazwa ogólna, nazwa linku symbolicznego w katalogu alternatyw i alternatywa dla linku symbolicznego. Można podać zero lub więcej opcji --slave, po każdej muszą następować jej trzy argumenty.

    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.

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

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

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

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 tak nie jest, proszę zgłosić to jako błąd.

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

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 (C) 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.

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

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.

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