Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Aprenda inglês de uma vez por todas

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Organizando o diretório local com o GNU stow

Colaboração: Alexei Znamensky

Data de Publicação: 16 de Janeiro de 2003

Uma coisa que acontece no Linux (ou Unix) é, após compilarmos e instalarmos vários softwares no /usr/local, não sabemos mais qual arquivo pertence a qual software, o que pode ser uma chateação na hora de atualizar a versão do software, ou mesmo removê-lo simplesmente.

Para isso uma ferramenta simples e muito poderosa é o GNU stow:

http://www.gnu.ai.mit.edu/software/stow/stow.html

Com o stow, que é simplesmente um script perl, único e sem módulos externos, compilamos e instalamos(*) os softwares em algo parecido com:

     /usr/local/stow/emacs-21.2
     /usr/local/stow/libpng-1.2.4
     /usr/local/stow/mrtg-2.9.25
     /usr/local/stow/<nome do pacote, recomendamos que use a versão>

Dentro desses diretórios, teremos subdiretórios, por exemplo:

     /usr/local/stow/mrtg-2.9.25/bin
     /usr/local/stow/mrtg-2.9.25/doc
     /usr/local/stow/mrtg-2.9.25/etc
     /usr/local/stow/mrtg-2.9.25/lib
     /usr/local/stow/mrtg-2.9.25/man
     ...

Então executamos os seguintes comandos, como "root":

     # cd /usr/local/stow
     # stow -vv mrtg-2.9.25
     (o parâmetro -vv serve apenas para fazer o stow mais "verbose", o que
      irá fazer com que ele mostre uma mensagem para cada operação que ele
      for executar realmente)

ou "stow -v *", ou apenas os diretórios que você desejar. O stow irá então criar links simbólicos em /usr/local/ apontando para os equivalentes em /usr/local/stow/mrtg-2.9.25. No nosso exemplo, ele irá criar os links:

     /usr/local/bin/cfgmaker -> ../stow/mrtg-2.9.25/bin/cfgmaker
     /usr/local/bin/indexmaker -> ../stow/mrtg-2.9.25/bin/indexmaker
     /usr/local/bin/mrtg -> ../stow/mrtg-2.9.25/bin/mrtg
     /usr/local/bin/rateup -> ../stow/mrtg-2.9.25/bin/rateup
     /usr/local/doc/mrtg2 -> ../stow/mrtg-2.9.25/doc/mrtg2/
     /usr/local/lib/mrtg2 -> ../stow/mrtg-2.9.25/lib/mrtg2/
     /usr/local/share/mrtg2 -> ../stow/mrtg-2.9.25/share/mrtg2/
     ...

e assim por diante.

A grande vantagem é que todos os arquivos ficam disponíveis, através dos links, nos caminhos padronizados: /usr/local/bin, /usr/local/sbin, /usr/local/lib, /usr/local/man, o que em muitos casos elimina a necessidade de configuração de variáveis (ex: PATH, LD_LIBRARY_PATH, MANPATH, ...) de ambiente para os usuários.

O stow é espertinho, e detecta conflitos (dois ou mais arquivos que iriam gerar o mesmo link), também cria e remove diretórios para árvores compartilhadas, por exemplo, para os arquivos:

     /usr/local/stow/ezmlm-0.53/man/man1/ezmlm-list.1
     /usr/local/stow/mrtg-2.9.25/man/man1/mrtg.1

o stow cria o diretório

  /usr/local/man/man1

e dentro dele cria os links apontando, cada um para o diretório do software correspondente. Automagicamente.

Para remover um programa instalado sob o stow, basta:

     # cd /usr/local/stow
     # stow -D mrtg-2.9.25 (por exemplo)
     # rm -rf ./mrtg-2.9.25

Há muitas outra brincadeiras que podem ser feitas usando o stow, como por exemplo manter várias versões do mesmo software, ou criar um mini-árvore com os seus scripts para levar de um lado para outro, mas esta dica já está comprida o bastante. Divirtam-se!!!

(*) Na maioria dos casos, quando você quiser compilar e instalar um software sob a árvore do stow, você deverá executar os comandos:

       # ./configure --prefix=/usr/local/stow/mrtg-2.9.25
       ...(passa um monte de coisas pela tela...)
       # make
       ...(idem)
       # make install
       ...(idem)

Veja a relação completa dos artigos de Alexei Znamensky

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 2.98/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (1085 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script

Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

As Palavras Mais Comuns da Língua Inglesa (2ª edição)