Eu tenho dois RasberryPi executando o debian wheezy e gostaria de montar uma pasta do computador A no computador B.
Qual é a melhor maneira (como na mais eficiente) de fazer isso?
Eu posso fazer isso via SMB, mas isso é para Windows, acho que deve haver uma maneira melhor de compartilhar o Linux.
filesystems
mount
remote
cjburkha
fonte
fonte
Respostas:
Você pode usar muitas coisas, entre as quais opções populares são:
Pela facilidade de configuração, acho que eles teriam que ser colocados nesta ordem (em cima: mais fácil)
SSHFS
Através do FUSE, você pode montar sistemas de arquivos remotos via ssh. Não vou explicar como, como Cristopher já explicou muito bem isso. Observe que, para montar o arquivo automaticamente, será necessário um pouco mais de trabalho .
Samba
Isso permitirá que você use máquinas Windows e Unix para acessar a pasta remota. Se não é um grande problema para você, provavelmente não se beneficiará disso. No entanto, é fácil montá-lo automaticamente no init (basta inserir os valores apropriados em
/etc/fstab
, inclusiveusername=<your-samba-username>,password=<your-samba-password>
na coluna de opções.NFS
Ele permitirá que você se autentique apenas via IP (sem nomes de usuário = mais rápido, apenas para uso em sua LAN não hostil ) ou via tíquetes Kerberos (muito doloroso para apenas duas framboesas; mas útil em ambientes corporativos).
Como possui suporte ao modo kernel, ele será executado mais rapidamente que o sshfs. Além disso, como não há criptografia realizada, ela terá uma taxa de transferência melhor e, no caso do pequeno Raspberry ARM, pode fazer a diferença.
Além disso, não é tão doloroso configurar simplesmente você confia na sua rede. Você também tem suporte para montagem automática
/etc/fstab
e não precisa colocar dados confidenciais (como nomes de usuário ou senhas), e se você tiver seus nomes de usuário sincronizados (mesmo/etc/passwd
e/etc/group
arquivos), poderá usar o conjunto de ferramentas de permissões POSIX usual (chown
,chgrp
echmod
).fonte
arisu:/mnt/ytra /mnt/ytra nfs soft,ro,intr 0 2
stat()
retornos, por exemplo, coisas que dependem danlink
contagem da qual o CIFS não tem noção. SSHFS: Não fiquei muito impressionado, pois executava alternâncias de contexto no servidor de arquivos muito poderosas e não suportava o bloqueio necessário exigido pelos programas internos. Então, NFS ...SSHFS é maravilhoso. Ele pode montar diretórios remotos em um diretório local com o FUSE . Os comandos abaixo são usados
#
para indicar que um comando foi executado comoroot
, enquanto$
indica a execução como um usuário comum. Como o software FUSE é necessário, primeiro verifique se ele está disponível e em execução.Um dos comandos
lsmod
egrep
, abaixo, pode revelar se o software está carregado e pronto para uso. Um resultado de qualquer comando indica quefuse
está disponível.Se não houver resultado de nenhum dos comandos, tente carregar o módulo do kernel sem reiniciar usando
modprobe
e verifique novamente.Se o carregamento do módulo falhar, instale o software com
apt-get
.Verifique novamente após a instalação.
O FUSE deve estar instalado e funcionando antes de continuar.
Verifique as permissões de
/dev/fuse
. As permissões devem fornecer à sua conta de usuário comum acesso de leitura e gravação. Pule esta parte se tiver determinado que sua conta de usuário comum já possui permissão de leitura e gravação/dev/fuse
.A saída pode ser algo como um dos seguintes.
Em 2013, meu Debian criou
/dev/fuse
com0600
permissões, proprietárioroot
, proprietário do grupofuse
. Eu precisava deixar o grupo de fusíveis usar o dispositivo e adicionar minha conta de usuário comum ao grupo, como mostrado abaixo.Se a nova associação ao grupo for necessária, efetue logout e logon novamente para se tornar um membro do grupo.
Em seguida, instale
ssh
nos dois lados da seguinte maneira.Essa resposta foi escrito para Debian, mas no Ubuntu 18.x, pelo menos,
openssh-client
,fuse
, e alguns outros pacotes são uma parte do Ubuntusshfs
pacote. Osshfs
software é necessário no lado do cliente, mas pode ser instalado nos dois lados, se desejado. Uma das dependências do pacote éfuse
, mas o instalador ignora o software que já foi instalado.Com
fuse
essh
disponível e com permissão para usar o dispositivo/dev/fuse
, crie um ponto de montagem para o sistema de arquivos remoto; e monte esse sistema de arquivos remoto localmente da seguinte maneira.Para montar um diretório diferente de home, especifique-o após os dois pontos.
Para desmontar, use
fusermount
.Se você possui uma máquina Windows, ela também pode usar SSHFS com win-sshfs . Este software "mapeia uma unidade" com SSHFS, para que você possa ter uma letra de unidade do Windows que contenha o diretório remoto.
fonte
yum install fuse-sshfs.x86_64
), mas quando o fizmodprobe fuse
, não criei um grupo de fusíveis para mim. Então, quando eu fizusermod -a -G fuse [your-user]
, eu conseguiusermod: group 'fuse' does not exist
. você pode ajudar? obrigado antecipadamentelsmod | grep fuse
retorna resultado e eu tenho/dev/fuse
, m, que pertence à raiz. então você está dizendo que eu estou bem sem o grupo?crw-rw-rw-. 1 root root 10, 229 Nov 21 15:32 /dev/fuse
No linux, você escolheria o NFS (também verifique o artigo no archwiki sobre ele, que também pode ter informações aplicáveis à sua distribuição). Possui recursos mais avançados que o samba. Se você precisar bloquear (ou seja, acessos simultâneos), verifique também o lockd porque o nfs é sem estado. No entanto, é mais difícil de configurar do que smb. Eu sugeriria tentar o samba e o nfs para ver qual deles atende às suas necessidades.
fonte
Eu usei a unidade de rede SFTP e o ExpanDrive no passado e posso dizer que o sshfs supera os dois sem uma pergunta.
fonte