[ anterior ] [ Conteúdo ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ próximo ]

Guia Prático para o Debian GNU/Linux
Capítulo 8 - Quando dois pacotes fazem a mesma coisa


8.1 O que são alternativas

Muitas vezes dois ou mais pacotes desempenham a mesma função ou fornecem o mesmo programa de um modo diferente mas podem ser instalados ao mesmo tempo, definindo assim alternativas.

Um bom exemplo são os famosos "emuladores de terminal", como o xterm ou o rxvt. Esses pacotes fornecem o programa x-terminal-emulator, assim você pode chamar x-terminal-emulator que o pacote que for o dono da alternativa será chamado.


8.2 Vendo alternativas

Para ver as alternativas entre as quais você pode escolher para um determinado comando basta rodar:

     $ update-alternatives --display nome

Onde nome é o nome da alternativa. Os nomes das alternativas são os links presentes no diretório /etc/alternatives


8.3 Configurando alternativas

Para escolher entre alternativas você pode usar o seguinte comando:

     # update-alternatives --config nome

Lembrando que o nome é o nome de um dos links em /etc/alternatives. Por exemplo:

     # update-alternatives --config x-terminal-emulator
     
     There are 3 programs which provide `x-terminal-emulator'.
     
       Selection    Command
     -----------------------------------------------
      +    1        /usr/X11R6/bin/xterm
           2        /usr/X11R6/bin/uxterm
     *     3        /usr/bin/gnome-terminal.wrapper
     
     Enter to keep the default[*], or type selection number: 1
     Using `/usr/X11R6/bin/xterm' to provide `x-terminal-emulator'.

Note que a entrada em que está um '*' (asterisco) é a padrão, a que está sendo usada. A que está marcada com um '+' é a "melhor" entrada, seria a usada no caso de a alternativa ser escolhida automaticamente (veremos adiante).

Então, depois de rodar o que rodei acima, o xterm será meu x-terminal-emulator.


8.4 Alternativas automáticas

Na verdade é assim que as alternativas se comportam caso você não interfira com elas. Mas caso você tenha mexido alguma coisa e queira voltar ao modo automático basta fazer:

     # update-alternatives --auto nome

Com isso a "melhor" entrada (aquela que tem um '+' na primeira coluna da --config ou que é mostrada como "`best' version" pelo --display) será selecionada automaticamente sempre.


8.5 Lidando com alternativas pelos links

Todo pacote que é parte de uma alternativa, quando se instala pela primeira vez cria um link em /etc/alternatives apontando para seu executável. O executável que será o principal das alternativas, por sua vez, é um link para o link que está no diretório citado. Complicado? Nem tanto, veja o exemplo:

     $ ls -l /usr/bin/x-terminal-emulator 
     lrwxrwxrwx    1 root     root           37 Jul 16  2000 /usr/bin/x-terminal-emulator -> /etc/alternatives/x-terminal-emulator*
     $ ls -l /etc/alternatives/x-terminal-emulator
     lrwxrwxrwx    1 root     root           31 Nov 24 18:00 /etc/alternatives/x-terminal-emulator -> /usr/bin/gnome-terminal.wrapper*

Dá pra perceber que eu uso o gnome-terminal como meu x-terminal-emulator, então toda vez que algum programa chama tal programa o que se abre é o gnome-terminal. Você pode mudar suas alternativas mudando esses links.


8.6 Como criar ou adicionar alternativas

O update-alternatives permite que você adicione facilmente uma alternativa ao sistema. Por exemplo, posso criar a alternativa web-browser, onde coloco meus navegadores web.

Para isso faço:

     # update-alternatives --install comando nome comando-real prioridade

O que isso faz? Instala uma nova alternativa na qual você pode chamar comando para rodar comando-real. Um exemplo prático:

     # update-alternatives --install /usr/bin/web-browser web-browser /usr/bin/mozilla 20
     # update-alternatives --install /usr/bin/web-browser web-browser /usr/bin/galeon 30

Isso cria /usr/bin/web-browser que aponta, primeiramente, para o galeon, já que esse tem prioridade maior e a alternativa está configurada para auto. O link criado em /etc/alternativos é o argumento nome (veja o primeiro exemplo), que serve para muitas outras funções do update-alternatives.

Note, porém, que web-browser não tem uma manpage. Seria lógico ligar a ele a manpage do browser que está sendo usado como web-browser em determinado momento, certo? Para isso que existe a opção --slave. Seria algo assim:

     # update-alternatives --install /usr/bin/web-browser web-browser /usr/bin/mozilla 20 --slave /usr/share/man/man1/web-browser.1.gz web-browser.1.gz /usr/share/man/man1/mozilla.1.gz

Não é necessário explicar os argumentos de --slave, são todos os do --install menos a prioridade.


8.7 Removendo alternativas

Remover alternativas é muito simples. Supondo que quero remover o galeon da alternativa web-browser que criei na seção anterior basta fazer:

     # update-alternatives --remove web-browser /usr/bin/galeon

Ou seja:

     # update-alternatives --remove nome comando-real

[ anterior ] [ Conteúdo ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ próximo ]

Guia Prático para o Debian GNU/Linux

1.2
Gustavo Noronha Silva kov@debian.org