Scroll to navigation

update-alternatives(1) dpkg suite update-alternatives(1)

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

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.

Alternativsystemet 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 ska 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 alla paket som tillahandahå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 vanligtvis från Debians paketutvecklarskript postinst (konfigurera) för att installera alternativet och från prerm och postrm (ta bort) för att ta bort alternativet. Observera: I de flesta (om inte alla) fall bör inga andra utvecklarskript anropa update-alternatives, specifikt varken upgrade eller disappear, eftersom alla sådana åtgärder kan gör att den manuella inställningen för ett alternativ går förlorat, eller att alternativet tillfälligt svänger eller permanent växlas när flera av dem har samma prioritet.

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

Ett namn, till exempel /usr/bin/editor, som via alternativsystemet pekar på en av flera filer med liknande funktionalitet.
Namnet på en symbolisk länk i alternativkatalogen.
Namnet på en specifik fil i filsystemet, som kan vara tillgänglig via ett generiskt namn med hjälp av alternativsystemet.
En katalog, som standard /etc/alternatives, som innehåller de symboliska länkarna.
En katalog, som standard /var/lib/dpkg/alternatives, som innehåller tillståndsinformation för update-alternatives.
En uppsättning relaterade symboliska länkar, avsedda att uppdateras som en grupp.
Alternativlänken i en länkgrupp som bestämmer hur de andra länkarna i gruppen ställs in.
En alternativlänk i en länkgrupp som styrs av hur huvudlänken ställs in.
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.
När en grupp är i manuellt läge kommer inte alternativsystemet att utföra några ändringar till systemadministratörens inställningar.

KOMMANDON

Add a group of alternatives to the system. link is the generic name for the master link, name is the name of its symlink in the alternatives directory, and path is the alternative being introduced for the master link. The arguments after --slave are the generic name, symlink name in the alternatives directory and the alternative path for a slave link. Zero or more --slave options, each followed by three arguments, may be specified. Note that the master alternative must exist or the call will fail. However if a slave alternative doesn't exist, the corresponding slave alternative link will not be installed (a warning will still be displayed). If some real file is installed where an alternative link has to be installed, it is kept unless --force is used.

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.

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.
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.
Tar bort alla alternativ och alla deras anslutna slavlänkar. namn är ett namn i alternativkatalogen.
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.
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.
Visa information om länkgruppen. Information som visas är gruppens läge (automatiskt eller manuellt), huvud- och slavlänk, vilket alternativ den huvudsakliga länken just nu pekar på, vilka andra alternativ som är tillgängliga (och deras motsvarande slavalternativ), samt det högst prioriterade alternativ som för närvarande är installerat.
List all master alternative names (those controlling a link group) and their status. 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).

Supported since version 1.15.0.

Read configuration of alternatives on standard input in the format generated by --get-selections and reconfigure them accordingly.

Supported since version 1.15.0.

Display information about the link group like --display does, but in a machine parseable way (see section "QUERY FORMAT" below).

Supported since version 1.15.0.

Visar alla mål för länkgruppen.
Visa tillgängliga alternativ för en länkgrupp och låt användaren att interaktivt välja vilken som ska användas. Länkgruppen uppdateras.
Visar hjälpskärm och avslutar.
Visar version och avslutar.

FLAGGOR

Anger alternativkatalogen om detta inte ska vara förvalet. Förval är ”/etc/alternatives”.
Anger den administrativa katalogen om detta inte ska vara förvalet. Förval är ”/var/lib/dpkg/alternatives” om DPKG_ADMINDIR inte har satts.
Specifies the installation directory where alternatives links will be created. Defaults to «/» if DPKG_ROOT has not been set.

Supported since version 1.20.1.

Specifies the root directory. This also sets the alternatives, installation and administrative directories to match. Defaults to «/» if DPKG_ROOT has not been set.

Supported since version 1.20.1.

Specifies the log file, when this is to be different from the default (/var/log/alternatives.log).

Supported since version 1.15.0.

Låt att ersätta eller ta bort en verklig fil som installerats där en alternativlänk måste installeras eller tas bort.
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.
Skriv inte några kommentarer såvida det inte uppstår ett fel.
Visa fler kommentarer om vad update-alternatives gör.
Generate even more comments, helpful for debugging, about what is being done.

Supported 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

Om satt och flaggan --instdir eller -root inte har angivits kommer det användas som filsystemets rotkatalog.
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

Formatet för --query använder ett RFC822-liknande platt format. Det består av n + 1 stycken där n är antalet tillgängliga alternativ i den efterfrågade länkgruppen. Det första stycket innehåller följande fält:

Alternativets namn i den alternativa katalogen.
Generiskt namn för alternativet.
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 för alternativet (auto eller manual).
Sökvägen till det bästa alternativet i länkgruppen. Tas inte med om inget alternativ är tillgängligt.
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 stycken beskriver tillgängliga alternativ i den efterfrågade länkgruppen:

Sökväg till alternativet som beskrivs i stycket.
Värdet för prioriteten på alternativet.
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.

Exempel

 $ 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 (the Filesystem Hierarchy Standard).

ÖVERSÄTTNING

Peter Krefting och Daniel Nylander.

2026-09-09 1.23.11