update\-alternatives
Section: Dpkg\-sviten (1)
Updated: 2019-04-02
Page Index
NAMN
update-alternatives - underhåller symboliska länkar för att bestämma
standardkommandon
SYNOPS
update-alternatives [
flagga...]
åtgärd
BESKRIVNING
update-alternatives skapar, tar bort, underhåller och visar information
om de symboliska länkar som ingår i Debians alternativsystem.
Det är möjligt för flera kommandon som tillhandahåller identisk eller
liknande funktionalitet att vara installerade på ett system samtidigt. Till
exempel har många system flera textredigeringsprogram installerade
samtidigt, vilket ger användarna på systemet valmöjligheter, var och en kan
använda olika textredigeringsprogram om de så önskar, men det gör det svårt
för ett program att göra ett bra val av textredigerare att anropa om en
användare inte har gjort ett specifikt val.
Debians alternativsystem försöker lösa detta problem. Ett generiskt namn i
filsystemet delas av alla filer som tillhandahåller utbytbar
funktionalitet. Alternativsystemet och systemadministratören anger
tillsammans vilken specifik fil som skall refereras av sitt generiska
namn. Till exempel kan alternativsystemet låta det generiska namnet
/usr/bin/editor att peka mot /usr/bin/nvi som standard om både
textredigeringsprogrammet ed(1) och nvi(1) båda är installerade på
systemet. Systemadministratören kan överstyra detta och låta det peka på
/usr/bin/ed istället, och alternativsystemet kommer inte ändra denna
inställning förrän det ombeds att göra det.
Det generiska namnet är inte en direkt symbolisk länk till det valda
alternativet. Istället är det en symbolisk länk till ett namn i katalogen
alternatives, vilket i sin tur är en symbolisk länk till den faktiska fil
det pekar mot. Detta görs så att systemadministratörens ändringar kan
begränsas till katalogen /etc: FHS (se detta) ger orsaker till
varför detta är Bra.
När ett paket som tillhandahåller en fil med en specifik funktionalitet
installeras, ändras eller tas bort, anropas update-alternatives för att
uppdatera information om filen i alternativsystemet. update-alternatives
anropas normalt från postinst- (configure) eller prerm-skripten
(remove och deconfigure) i Debianpaket.
Det är ofta lämpligt för ett antal alternativ att vara synkroniserade, så
att de ändras i grupp. Till exempel, om det är flera versioner av
textredigeraren vi(1) installerade bör manualsidan som refereras till av
/usr/share/man/man1/vi.1 motsvara den binär som refereras till av
/usr/bin/vi. update-alternatives hanterar detta genom huvud- och
slav-länkar. När huvudlänken uppdateras ändras även anslutna
slavlänkar. En huvudlänk och dess anslutna slavar utgör en länkgrupp.
En länkgrupp kan vid varje given tidpunkt vara i ett av två lägen:
automatisk eller manuell. När en grupp är i automatiskt läge kommer
alternativsystemet automatiskt att bestämma när och hur länkar skall
uppdateras då paket installeras eller tas bort. I manuellt läge kommer
alternativsystemet att behålla administratörens val och undvika att ändra
länkarna (förutom om något är trasigt).
Länkgrupper är i automatiskt läge när de först introduceras på systemet. Om
systemadministratören gör ändringar till systemets automatiska inställningar
kommer detta att noteras nästa gång update-alternatives körs på den
ändrade länkens grupp och gruppen kommer automatiskt att växlas till
manuellt läge.
Varje alternativ har en prioritet kopplad till sig. När en länkgrupp är i
automatiskt läge kommer det alternativ som medlemmar i gruppen pekar mot
vara den med den högsta prioriteten.
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).
Om du vill konfigurera icke-interaktivt kan du använda flaggan --set i
stället (se nedan).
Olika paket som tillhandahåller samma fil måste göra så i
samförstånd. Det betyder att det är ett krav att alla involverade
paket använder sig av update-alternatives. Det är inte möjligt att
överstyra en fil ett paket som inte använder
update-alternatives-mekanismen.
TERMINOLOGI
Efter
update-alternatives aktiviteter är ganska komplexa blir det enklare
att förstå hur det fungerar genom att vi förklarar några specifika termer.
- generiskt namn (eller alternativlänk).
-
Ett namn, till exempel /usr/bin/editor, som via alternativsystemet pekar
på en av flera filer med liknande funktionalitet.
- alternativnamn
-
Namnet på en symbolisk länk i alternativkatalogen.
- alternativ (eller alternativsökväg)
-
Namnet på en specifik fil i filsystemet, som kan vara tillgänglig via ett
generiskt namn med hjälp av alternativsystemet.
- alternativkatalog
-
En katalog, som standard /etc/alternatives, som innehåller de
symboliska länkarna.
- administrativ katalog
-
En katalog, som standard /var/lib/dpkg/alternatives, som innehåller
tillståndsinformation för update-alternatives.
- länkgrupp
-
En uppsättning relaterade symboliska länkar, avsedda att uppdateras som en
grupp.
- huvudlänk
-
Alternativlänken i en länkgrupp som bestämmer hur de andra länkarna i
gruppen ställs in.
- slavlänk
-
En alternativlänk i en länkgrupp som styrs av hur huvudlänken ställs in.
- automatiskt läge
-
När en länkgrupp är i automatiskt läge försäkrar alternativsystemet att
länkarna i gruppen pekar på det högstprioriterade alternativet som är
lämpligt för gruppen.
- manuellt läge
-
När en grupp är i manuellt läge kommer inte alternativsystemet att utföra
några ändringar till systemadministratörens inställningar.
KOMMANDON
- --install länk namn sökväg prioritet [--slave länk namn sökväg]...
-
Lägg till en grupp med alternativ till systemet. länk är det generiska
namnet för huvudlänken, namn är namnet på dess symboliska länk i
alternativkatalogen och sökväg är alternativet som introduceras för
huvudlänken. Argumenten efter --slave är det generiska namnet, namnet på
den symboliska länken i alternativkatalogen och alternativet för
slavlänken. Noll eller flera --slave-flaggor kan anges, där alla följs av
tre argument. Observera att om ett slavalternativ inte finns kommer
motsvarande slavlänk helt enkelt inte att installeras (en varning kommer
fortfarande att visas). Om en verklig fil är installerad där en
alternativlänk måste installeras behålls den såvida inte --force används.
-
Om det angivna alternativnamnet redan finns i alternativsystemets databas
kommer informationen som anges att läggas in som en ny uppsättning av
alternativ för gruppen. Om inte kommer en ny grupp, inställd på automatiskt
läge, att läggas till med given information. Om gruppen är i automatiskt
läge och det alternativ som läggs in har högre prioritet än alla andra
installerade alternativ för gruppen kommer de symboliska länkarna att
uppdateras så att de pekar på de nyligen tillagda alternativen.
- --set namn sökväg
-
Sätt programmet sökväg som ett alternativ till namn. Detta motsvarar
--config men är icke-interaktivt och kan därmed användas i ett skript.
- --remove namn sökväg
-
Ta bort ett alternativ och alla dess anknutna slavlänkar. namn är ett
namn i alternativkatalogen och sökväg är ett absolut filnamn till vilket
namn kunde länkas. Om namn faktiskt är länkat till sökväg kommer
namn att uppdateras till att peka på ett annat lämpligt alternativ (och
gruppen ställs tillbaka till automatiskt läge), eller att tas bort om det
inte finns något alternativ kvar. Anknutna slavlänkar kommer uppdateras
eller tas bort på motsvarande vis. Om länken inte för tillfället pekar på
sökväg kommer inga länkar att uppdateras, endast informationen om
alternativet tas bort.
- --remove-all namn
-
Tar bort alla alternativ och alla deras anslutna slavlänkar. namn är ett
namn i alternativkatalogen.
- --all
-
Anropar --config på alla alternativ. Kan med framgång kombineras med
--skip-auto för att gå igenom och konfigurera alla alternativ som inte är
ställda i automatiskt läge. Trasiga alternativ visas också. Ett enkelt sätt
att fixa alla trasiga alternativ är därmed att anropa yes '' |
update-alternatives --force --all.
- --auto namn
-
Ställ in länkgruppen bakom alternativet för namn till automatiskt
läge. Detta får till följd att den huvudsakliga symboliska länken och dess
slavar uppdateras till att peka på det högst prioriterade installerade
alternativet.
- --display namn
-
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 namn
-
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 namn
-
Visar alla mål för länkgruppen.
- --config namn
-
Visa tillgängliga alternativ för en länkgrupp och låt användaren att
interaktivt välja vilken som skall användas. Länkgruppen uppdateras.
- --help
-
Visar hjälpskärm och avslutar.
- --version
-
Visar version och avslutar.
FLAGGOR
- --altdir katalog
-
Anger alternativkatalogen om detta inte skall vara standardvärdet.
- --admindir katalog
-
Anger den administrativa katalogen om detta inte skall vara standardvärdet.
- --log fil
-
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
-
Hoppa över konfigureringsfrågor för alternativ som är korrekt konfigurerade
i automatiskt läge. Denna flagga är endast relevant för --config och
--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).
RETURVÄRDE
- 0
-
Den önskade funktionen utfördes utan fel.
- 2
-
Problem uppstod vid tolkning av kommandoraden eller när funktionen skulle
utföras.
MILJÖVARIABLER
- DPKG_ADMINDIR
-
Om satt och flaggan --admindir inte har angivits används det som
bas-administrativ katalog.
FILER
- /etc/alternatives/
-
Den förvalda alternativkatalogen. Kan överstyras med flaggan --altdir.
- /var/lib/dpkg/alternatives/
-
Den förvalda administrativa katalogen. Kan överstyras med flaggan
--admindir.
FRÅGEFORMAT
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:
- Namn: namn
-
Alternativets namn i den alternativa katalogen.
- Link: länk
-
Generiskt namn för alternativet.
- Slaves: lista-över-slavar
-
När detta fält är tillgängligt innehåller next-raderna alla slavlänkar
som kopplas till huvudlänken för alternativet. Varje rad beskriver en
slav. Varje rad innehåller ett blanksteg, det generiska namnet på
slavalternativet, ytterligare ett blanksteg, och sökvägen till
slavalternativet.
- Status: status
-
Status för alternativet (auto eller manual).
- Best: bästa-val
-
Sökvägen till det bästa alternativet i länkgruppen. Tas inte med om inget
alternativ är tillgängligt.
- Value: för-närvarande-valt-alternativ
-
Sökvägen till det för närvarande valda alternativet. Kan även ta det magiska
värdet none (inget). Det används om det inte finns någon länk.
Övriga block beskriver tillgängliga alternativ i den efterfrågade
länkgruppen:
- Alternative: sökväg-till-alternativet
-
Sökväg till alternativet som beskrivs i blocket.
- Priority: prioritetsvärde
-
Värdet för prioriteten på alternativet.
- Slaves: lista-över-slavar
-
När detta fält anges innehåller next-raderna alla slavalternativ som
kopplas till huvudlänken för alternativet. Varje rad beskriver en
slav. Varje rad innehåller ett blanksteg, det generiska namnet på
slavalternativet, ytterligare ett blanksteg, och sökvägen till
slavalternativet.
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
DIAGNOSTIK
Med
--verbose kommer
update-alternatives att beskriva i det oändliga
vad det gör på sin standard ut-kanal. Om ett fel uppstår skriver
update-alternatives ut felmeddelanden på sin standard fel-kanal och
avslutar med felkoden 2. Diagnostikinformationen bör vara självförklarande,
sänd in en felrapport om du inte tycker att den är det.
EXEMPEL
Det är flera paket som tillhandahåller en textredigerare kompatibel med
vi, till exempel
nvi och
vim. Vilken bestäms via länkgruppen
vi,
vilken innehåller länkar både för själva programmet och dessa anknutna
manualsida.
För att visa vilka tillgängliga paket som tillhandahåller vi, samt dess
aktuella inställning, använd kommandot --display:
-
update-alternatives --display vi
För att välja en specifik implementation av vi, utför detta kommando som
root och välj sedan ett tal från listan:
-
update-alternatives --config vi
För att återgå till att vi-implementationen väljs automatiskt, utför
detta som root:
-
update-alternatives --auto vi
SE ÄVEN
ln(1), FHS, Filesystem Hierarchy Standard.
ÖVERSÄTTNING
Peter Krefting och Daniel Nylander.