$ tar -zxvf shfs-0.35.tar.gz
Acesse a pasta que será criada. Para compilar o módulo “shfs”, acesse a pasta “shfs/Linux-2.6/” e rode o comando “make”. Note que para compilar o módulo, você deve ter instalados os pacotes kernel-headers e (em algumas distribuições) também o pacote “kernel-source”, além dos compiladores básicos. Carregue o módulo gerado usando o comando “insmod shfs.ko”.
Para compilar e instalar os dois executáveis, concluindo a instalação, acesse a pasta “shfsmount/” e rode os comandos “make” e “make install”.
Nas distribuições derivadas do Debian, a instalação é mais simples, pois você pode instalar tudo via apt-get. Comece instalando os pacotes “shfs-utils” e “ssh-askpass”:
# apt-get install shfs-utils ssh-askpass
Para instalar o módulo, instale o pacote “module-assistant” e o “shfs-source” e compile/instale o módulo, usando os comandos:
# apt-get install module-assistant shfs-source
# module-assistant build shfs
# module-assistant install shfs
Algumas distribuições, como o Kanotix e versões recentes do Kurumin (a partir do 6.0), já trazem todos estes componentes pré-instalados, dispensando todos estes passos manuais.
Quando corretamente instalado, o shfs é bastante estável. Se você estiver tendo problemas de instabilidade, conexões interrompidas com erros estranhos, etc., atualize para a última versão. Pode ser que a distribuição em uso inclua uma versão antiga ou de desenvolvimento.
Com tudo nos devidos lugares, comece carregando o módulo “shfs”:
# modprobe shfs
Se preferir que ele seja carregado automaticamente durante o boot, adicione a linha “shfs” no final do arquivo “/etc/modules”.
A partir daí, você pode usar o “shfsmount” para montar pastas do servidor remoto, como em:
# shfsmount morimoto@192.168.0.1:/mnt/arquivos /mnt/servidor
Veja que você precisa indicar o login e o endereço IP do servidor remoto, seguido da pasta que será acessada e do diretório local onde os arquivos ficarão disponíveis. No exemplo estou montando a pasta “/mnt/arquivos” do servidor remoto, mas você pode montar qualquer pasta (que o usuário usado tenha acesso), inclusive o diretório raiz.
Para desmontar a pasta, use o comando “shfsumount”, ao invés do “umount”, como em:
# shfsumount /mnt/servidor
Se o sshd no servidor estiver configurado para usar uma porta diferente da padrão, indique a porta usada com o parâmetro “-P” (maiúsculo), como em:
# shfsmount -P 2222 morimoto@192.168.0.1:/mnt/arquivos /mnt/servidor
Originalmente, os arquivos ficam acessíveis apenas para o root. Se quiser acessar a pasta montada usando seu login de usuário, indique-o no comando, usando a opção “uid=”, como em:
# shfsmount morimoto@192.168.0.1:/mnt/arquivos /mnt/servidor -o uid=tux
Se quiser abrir as permissões de acesso para todos os usuários (o que não é uma boa idéia do ponto de vista da segurança mas, enfim…), use a opção “-o rmode=777”. Se quiser que os demais usuários tenham apenas permissão de leitura, use “-o rmode=755”.
No caso de conexões instáveis ou ao acessar servidores remotos via internet, você pode adicionar a opção “-p” (minúsculo), que torna a conexão persistente, restabelecendo o acesso caso o servidor fique temporariamente indisponível.
O -p torna o comportamento do shfsmount bastante interessante. Mesmo que o servidor remoto seja desligado, ele continua periódicamente tentando reabrir a conexão, durante dias caso necessário. Quando o servidor fica novamente disponível ele abre um prompt gráfico pedindo a senha novamente e remonta a pasta.
Outra vantagem do shfs é o desempenho. Por implementar um sistema de cache, que reduz o número de requisições enviadas ao servidor e maximiza o throroughput, ele acaba obtendo taxas de transferência muito mais altas, sobretudo via rede local. Apenas para efeito de comparação, tendo um Sempron 2800+ como cliente, um Pentium 4 3.06 como servidor e uma rede de 100 megabits, obtenho em média 4.8 MB/s em transferências de arquivos grandes usando o “fish://” do Konqueror e pouco mais de 7.0 MB/s usando o shfs, apesar da encriptação. Ou seja, o shfs consegue ser quase 50% mais rápido.
Deixe seu comentário