update\-alternatives
Section: użytki dpkg (1)
Updated: 2019-04-02
Page Index
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ś'c może zosta'c
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'c
inny edytor, jeśli ma na to ochotę. Z drugiej strony jest to jednak
utrudnienie dla programów chcących podją'c właściwą decyzję, który edytor
uruchomi'c, 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ś'c. 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'c do /usr/bin/nvi. Administrator
systemu może zmieni'c to ustawienie na /usr/bin/ed, a system alternatyw
tego nie zmieni, chyba że administrator każe mu tak zrobi'c.
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'c.
When each package providing a file with a particular functionality is
installed, changed or removed, update-alternatives is called to update
information about that file in the alternatives system.
update-alternatives is usually called from the postinst (configure) or
prerm (remove and deconfigure) scripts in Debian packages.
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'c 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'c
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).
Aby skonfigurowa'c nieinteraktywnie, można uży'c opcji --set (patrz niżej).
Różne pakiety dostarczające tych samych plików powinny współpracowa'c 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ś'c złożone, poniżej
podane są terminy, które pomogą je zrozumie'c.
- 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'c 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'c zero lub więcej opcji --slave, po każdej muszą
następowa'c jej trzy argumenty. Należy zauważy'c, że główna alternatywa musi
istnie'c, inaczej wywołanie się nie powiedzie. Jednak jeśli nie będzie
istnie'c 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'c 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'c 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'c
z --skip-auto aby przejrze'c i skonfigurowa'c 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'c na alternatywę o najwyższym priorytecie.
- --display nazwa
-
Display information about the link group. Information displayed includes
the group's mode (auto or manual), the master and slave links, which
alternative the master link currently points to, what other alternatives are
available (and their corresponding slave alternatives), and the highest
priority alternative currently installed.
- --get-selections
-
List all master alternative names (those controlling a link group) and
their status (since version 1.15.0). Each line contains up to 3 fields
(separated by one or more spaces). The first field is the alternative name,
the second one is the status (either auto or manual), and the last one
contains the current choice in the alternative (beware: it's a filename and
thus might contain spaces).
- --set-selections
-
Read configuration of alternatives on standard input in the format generated
by --get-selections and reconfigure them accordingly (since version
1.15.0).
- --query nazwa
-
Display information about the link group like --display does, but in a
machine parseable way (since version 1.15.0, see section QUERY FORMAT
below).
- --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'c, której należy uży'c. 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'c inny niż domyślny.
- --admindir katalog
-
Określa katalog administracyjny, jeżeli ma by'c inny niż domyślny.
- --log plik
-
Specifies the log file (since version 1.15.0), when this is to be different
from the default (/var/log/alternatives.log).
- --force
-
Allow replacing or dropping 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.
- --quiet
-
Do not generate any comments unless errors occur.
- --verbose
-
Generate more comments about what is being done.
- --debug
-
Generate even more comments, helpful for debugging, about what is being done
(since version 1.19.3).
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'c opcją -altdir.
- /var/lib/dpkg/alternatives/
-
Domyślny katalog administracyjny. Można go zmieni'c opcją -admindir.
FORMAT ZAPYTANIA
The
--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:
- 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'c specjalną
wartoś'c 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ś'c-priorytetu
-
Wartoś'c 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.
Example
$ 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'c, jeżeli tak nie jest, proszę zgłosi'c
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'c listę dostępnych pakietów, które dostarczają vi oraz jego
bieżące ustawienie, należy uży'c akcji --display:
-
update-alternatives --display vi
Aby wybra'c określoną implementację edytora vi, należy uży'c tego polecenia
jako użytkownik root i wybra'c liczbę z listy:
-
update-alternatives --config vi
Aby przywróci'c automatyczne wybieranie implementacji programu vi, należy
jako użytkownik root wykona'c:
-
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