Provided by: dpkg_1.17.5ubuntu5.8_amd64 

NAZWA
update-alternatives - zarządzanie dowiązaniami symbolicznymi określającymi domyślne polecenia
SKŁADNIA
update-alternatives [opcja...] polecenie
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.
update-alternatives użyte z opcją --config wyświetli listę wszystkich alternatyw dla grupy dowiązań, dla
której podana nazwa jest nazwą głównego dowiązania. Bieżąca alternatywa będzie oznaczona znakiem "*".
Użytkownik zostanie poproszony o wybór alternatywy, która będzie używana dla tej grupy dowiązań. Po
dokonaniu zmiany grupa dowiązań nie będzie już w trybie automatycznym. Aby przywrócić tryb automatyczny,
należy użyć opcji --auto (lub ponownie uruchomić --config i wybrać pozycję oznaczoną jako automatyczną).
Aby skonfigurować nieinteraktywnie, można użyć opcji --set (patrz niżej).
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
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 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 interaktywnie 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
Określa plik dziennika, jeżeli ma być inny niż domyślny (/var/log/alternatives.log).
--force
Zezwala update-alternatives na zastępowanie lub pomijanie istniejących rzeczywistych plików tam,
gdzie powinno być zainstalowane lub usuwane dowiązanie alternatywy.
--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.
KOD WYJŚCIA
0 Akcja zakończyła się powodzeniem.
2 Wystąpiły problemy podczas przetwarzania linii poleceń lub wykonywania akcji.
ŚRODOWISKO
DPKG_ADMINDIR
Jeśli ustawione oraz nie podano opcji --admindir, to będzie użyte jako bazowy katalog
administracyjny.
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.
FORMAT ZAPYTANIA
Wynik polecenia update-alternatives --query używa formatu podobnego do płaskiego formatu RFC822. Składa
się z n + 1 bloków, gdzie n jest liczbą alternatyw dostępnych w grupie dowiązań, do której odnosi się
zapytanie. Pierwszy blok zawiera następujące pola:
Name: nazwa
Nazwa alternatywy w katalogu alternatyw.
Link: dowiązanie
Nazwa ogólna alternatywy.
Slaves: lista-alternatyw-podrzędnych
Gdy to pole jest obecne, następne wiersze zawierają wszystkie podrzędne dowiązania związane z
głównym dowiązaniem alternatywy. W każdym wierszu podana jest jedna podrzędna alternatywa. Każdy
wiersz zawiera jedną spację, ogólną nazwę alternatywy podrzędnej, kolejną spację i w końcu ścieżkę
do dowiązania podrzędnego.
Status: status
Status alternatywy (auto lub manual).
Best: najlepszy wybór
Ścieżka najlepszej alternatywy dla tej grupy dowiązań. Nie jest wyświetlana, jeśli nie ma
dostępnych żadnych alternatyw.
Value: aktualnie wybrana alternatywa
Ś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: ścieżka-alternatywy
Ścieżka do alternatywy opisywanej w tym bloku.
Priority: wartość-priorytetu
Wartość priorytetu alternatywy.
Slaves: lista-alternatyw-podrzędnych
When this field is present, the next lines hold all slave alternatives associated to the master
link of the alternative. There is one slave per line. Each line contains one space, the generic
name of the slave alternative, another space, and the path to the slave alternative.
Przykład
$ 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
DIAGNOSTYKA
Po podaniu --verbose, update-alternatives wypisuje nieustannie informacje o podejmowanych działaniach na
swoim standardowym wyjściu. Jeżeli wystąpi błąd, update-alternatives wyświetla komunikaty błędów na
standardowym wyjściu 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
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.
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
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
Michał Kułach <michal.kulach@gmail.com>, 2012
Projekt Debian 2012-07-31 update-alternatives(8)