update-alternatives - underhåller symboliska länkar
för att bestämma standardkommandon
update-alternatives [flagga...]
åtgärd
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.
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.
- --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.
- --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).
- 0
- Den önskade funktionen utfördes utan fel.
- 2
- Problem uppstod vid tolkning av kommandoraden eller när funktionen
skulle utföras.
- DPKG_ADMINDIR
- Om satt och flaggan --admindir inte har angivits används det
som bas-administrativ katalog.
- /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.
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.
$ 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
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.
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
ln(1), FHS, Filesystem Hierarchy Standard.
ÖVERSÄTTNING
Peter Krefting och Daniel Nylander.