Organizando o /usr/local/ com o GNU stow ========================================
Colabora��o: Alexei Znamensky <[EMAIL PROTECTED]> 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). Adeilson de Oliveira Integradora T.H.S. do Brasil [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> Fone: 55 + (0xx11) 4992-9111 Assinantes em 16/01/2003: 2247 Mensagens recebidas desde 07/01/1999: 197276 Historico e [des]cadastramento: http://linux-br.conectiva.com.br Assuntos administrativos e problemas com a lista: mailto:[EMAIL PROTECTED]
