Benefícios que você nem conhece
O conceito de área pública compartilhada é simples e conhecido. Os
benefícios em utilizá-lo, nem sempre, mas vale conferir
Aurélio M. Jargas
aurelio@conectiva.com.br
Este artigo ensinará a configurar e explicará as vantagens em se
usar uma área pública compartilhada numa rede interna Linux, seja ela de uma escola
ou de uma empresa.
Uma área pública compartilhada, como o próprio nome já
diz, é um diretório visível para todas as máquinas da rede, montado de um
servidor via NFS, em que elas podem acessar e gravar arquivos sem restrições. É
como o diretório /tmp de sua máquina, em que todos os usuários podem gravar
dados. O conceito de área pública compartilhada é como um /tmp da rede, por
isso o nome /tmpr.
Então a idéia é as máquinas terem um diretório
/tmpr, comum a todas, o ponto central de intercâmbio da rede.
A grande vantagem em se ter essa área pública para todas as
máquinas é a troca rápida de arquivos entre máquinas e entre
usuários. Com o /tmpr funcionando em sua rede interna, o utilitário ftp pode ser
esquecido.
Sendo o Linux um sistema operacional multiusuário e multitarefa, é
comum que, ao trabalhar numa rede, você utilize vários terminais abertos com diversos
usuários, acessando diversas máquinas. E quando é preciso trocar arquivos entre
as máquinas, é ftp pra cá, ftp pra lá, acessa a máquina, digita
usuário, senha, entra no diretório remoto correto, copia os arquivos, fecha a
conexão. Esqueceu algum arquivo? Tem que fazer tudo de novo...
Com o /tmpr comum você simplesmente copia os arquivos desejados para o
diretório /tmpr na máquina remota, muda de terminal e na sua máquina local
você simplesmente copia os arquivos do /tmpr para o diretório desejado. Rápido e
fácil, sem usuário e senha, sem conexão, sem demora.
Outro uso é a disponibilização de programas. Acabou de sair
a versão mais nova do programa XYZ, de 200Mb, que deve ser atualizado em todas as máquinas
da rede. Sem o /tmpr ou o programa é enviado aos usuários das máquinas via e-mail,
afogando o servidor de e-mail e toda a rede, ou você deixa o arquivo disponível numa
área de ftp, para que cada um baixe uma cópia dele. Em ambas as situações,
200Mb de espaço em disco de cada máquina serão ocupados desnecessariamente,
fora eventuais problemas que possam ocorrer nessa cópia do arquivo para o disco local.
Baixando o programa e colocando no /tmpr, todas as máquinas o atualizam de
lá mesmo, sem precisar copiá-lo para o disco rígido, evitando desperdício
de tempo e espaço de disco.
Ou ainda, você acabou de acessar aquela página na Internet, cheia de
dados, imensa e demorada de carregar, e gostaria de mandá-la para os outros verem também.
Ou você manda a página no e-mail ou manda apenas o endereço para que os outros a
acessem também. Como alternativa, você simplesmente faria: "veja arquivo em
/tmpr/pagina.html", novamente economizando a banda da rede e espaço em disco nas
máquinas.
O /tmpr ainda pode servir como área simples de desenvolvimento de uma equipe,
quando várias pessoas precisam editar os mesmos arquivos (e supondo que todos utilizem o mesmo
editor de textos), todos têm acesso aos arquivos. Se alguém tentar abrir um arquivo que
já está sendo editado por outra pessoa, o editor de textos avisará, impedindo a
sobrescrita. Isso é bem útil principalmente para adição de conteúdo,
críticas e comentários a documentos simples ainda em fase de elaboração.
E como nem tudo são rosas, como conseqüência direta da falta de
restrição no diretório, ele acaba virando um lixão da rede também,
com arquivos antigos, fotos, músicas, e toda sorte de arquivos trocados entre os usuários.
Para evitar isso basta fazer um robozinho (roteiro em bash agendado no crontab), que apague os arquivos
que estão lá há dez dias por exemplo. Nada que um simples "find /tmpr
-type f -mtime 10 -exec rm -f {} \ ;" não faça &:)
Configuração
A configuração não é difícil. Na máquina servidora, que é
onde estará o /tmpr original, em disco, basta criar o diretório /tmpr, definir e
ativá-lo como exportável. Em cada máquina cliente da rede, basta criar o
diretório público, e configurá-la para montá-lo automaticamente.
Pronto! Seu diretório público já está funcionando. Os comandos para
criar essa configuração estão no quadro 1. Apenas troque "servidor"
pelo nome ou IP da sua máquina servidora.
Utilidades
Com seu diretório público funcionando e sendo
legível/gravável por todas as máquinas de sua rede interna, além das
vantagens já citadas de compartilhamento de arquivos entre máquinas e usuários,
pode-se facilitar o acesso a informações de sua intranet.
Por exemplo, o meio mais fácil hoje de disponibilizar dados para todas as
máquinas da rede interna lerem é via HTTP, disponibilizando páginas HTML que
qualquer navegador lê. Vamos utilizar como exemplo uma empresa que tenha uma página
com a lista de todos os funcionários e seu respectivos ramais internos, digamos em
http://servidor/ramais.html. Cada vez que você precisa de um ramal, abre o navegador, digita
o endereço e procura na página o nome da pessoa desejada. Dependendo do tráfego
da rede, esse é um procedimento demorado e perde-se tempo apenas para saber um ramal.
Com a ajuda de outras ferramentas de sistema podemos automatizar isso. Basta
colocar uma versão texto desse arquivo no /tmpr (isso também pode ser automatizado
com o lynx -dump + crontab), e criar funções de procura.
Supondo que você criou um /tmpr/ramais.txt, coloque no seu /etc/bashrc:
ramal(){ [ "$1" ] && grep -i "$*" /tmpr/ramais.txt ; }
e na linha de comando basta digitar: ramal maria, e lhe será retornado o ramal da Maria,
instantaneamente, sem precisar de navegador, apache etc.
Conclusão
E, é claro, várias outras utilidades podem ser encontradas no uso
dessa área compartilhada se achar mais uma, me avise!
Como em outros exemplos do mundo real, é uma idéia simples que
facilita sua vida.
Referências
man exportfs
man exports
man mount
man find
man grep
man bash
|
Seqüências de comandos para configuração do
diretório público numa rede Linux:
Pacotes como o NFS é um serviço em que o pacote muda de nome como
você troca de roupa, se não souber que pacote instalar, instale todos os relacionados,
no cliente e no servidor:
No Servidor:
# rpm -hiv *nfs* portmap*
No servidor
# mkdir -m 777 /tmpr
# echo /tmpr >> /etc/exports
# cds
# ./portmap start ; ./nfs start
Em cada cliente:
# mkdir -m 777 /tmpr
# echo servidor:/tmpr /tmpr nfs defaults 0 0 >> /etc/fstab
# mount /tmpr
|