Quero montar um diretório compartilhado no meu mac em uma pasta no meu servidor Ubuntu para poder copiar arquivos de backup para o mac usando algum tipo de automação.
Antes mesmo de começar com toda a automação, gostaria de poder montar o diretório manualmente.
Oh, como eu pesquisei no Google! Eu criei muitas versões do comando mount. O que mais se aproximou de funcionar (ou seja, pediu minha senha e não se opôs à resposta) foi esse:
sudo mount -o user=**** //192.168.1.4/server_backups /files/mountpoint
Produziu o seguinte erro:
mount error(95): Operation not supported
Estou no caminho certo? Eu tentei várias versões do comando. Ou falha na autenticação ou recebo o erro acima.
Qualquer ajuda ou conselho seria muito apreciado,
obrigado,
Simão.
Responder1
Como montar locais SSH usando SSHFS.
Passo 1:
- "No seu Mac, abra as preferências de compartilhamento, se ainda não estiver aberto, e selecione Login remoto. Selecionar Login remoto também ativa o serviço FTP seguro (sftp)."
Passo 2:
- No Ubuntu, instale SSHFS
sudo apt-get install sshfs
. - Faça um ponto de montagem.
#mkdir /mnt/macMount
- Monte a pasta SSH
#sshfs [email protected]:/ /mnt/macMount/
- Depois verifique se funcionou.
cd /mnt/macMount
els
para confirmar que as coisas estão onde deveriam estar
Responder2
Uma pasta compartilhada não é a melhor maneira se você deseja automatizar backups para o seu Mac
Em vez disso, ative o SSH no Mac e transfira seus backups por ele.
Entre em Preferências do Sistema. Em ‘Internet e Rede’ há um ícone ‘Compartilhamento’. Execute isso. Na lista que aparece, marque a opção ‘Login remoto.
Já que você deseja usar automação. isso servirá muito bem.
Aqui está um exemplo de como copiar uma pasta do seu computador Ubuntu para o seu Mac
rsync -azvr /path/to/source/folder MAC:/path/to/where/you/want/to/saveit/
onde MAC é o endereço IP do seu Mac, o bom do rsync é que, se você executar novamente este comando, ele copiará apenas os arquivos alterados do diretório de origem para o seu Mac, economizando tempo e largura de banda.
o sinalizador z adiciona compactação. Se você estiver copiando muitos arquivos já compactados, como filmes, imagens ou mp3s, não ganhará velocidade ao usá-los
Se você ainda deseja algum tipo de mapeamento de unidade para poder navegar no computador a partir da GUI. Também pode ser feito através de ssh com a ajuda de sshfs
no seu computador Ubuntu, instale o sshfs. Em seguida, adicione seu usuário ao grupo fuse e finalmente monte o servidor remoto
do terminal:
sudo apt-get install sshfs # install sshfs
mkdir macfolder
sshfs username@MAC:/ macfolder
montará seu sistema de arquivos raiz do mac na pasta macfolder
Responder3
Além de ser a melhor maneira ou não, isso finalmente funcionou para mim, conectando-me a um compartilhamento OS X 10.9.5 do Ubuntu 14.04, depois de muito sangue, suor, lágrimas e pesquisando no Google:
sudo mount -t cifs //192.168.0.101/ShareName /media/localsharedir -o noauto,user,credentials=/home/myself/.smb-credentials,noperm,uid=myself,gid=myself,sec=ntlmssp,nounix
Deixo aqui para quem estiver tendo problemas para montar um compartilhamento servido pelo OS X.
Não tenho certeza se todas as -o
opções são obrigatórias ou não; pelo que li, apenas sec=ntlmssp,nounix
são necessários, mas só eles não funcionaram sozinhos para mim.
Eu tive que criar /media/localsharedir
e definir a propriedade para mim mesmo.
Meu .smb-credentials
arquivo contém apenas:
username=my_os_x_username
password=my_os_x_password
sem nenhum grupo de trabalho/domínio especificado.
Boa sorte aí.
Responder4
A resposta de Dale Anderson funcionou para mimUbuntu 16.04conectando àmacOS 10.12.6 (Serra).
Eu estava procurando uma maneira de fazer isso há algum tempo, sem sucesso. Achei que não era possível, talvez porque o macOS tivesse sido atualizado para excluir de alguma forma o Linux, ou que seria necessário hackear manualmente o macOS (vi algumas respostas mencionando isso).
Acontece que não era simples, mas também não era impossível, e Dale tinha a resposta.
Gostaria de acrescentar que você não precisa do endereço IP do Mac e não precisa armazenar seu nome de usuário e senha do macOS em um arquivo de texto local, o que considero arriscado. Você pode usar este comando, que contém o nome da máquina Mac e o nome de usuário do macOS, e solicitará a senha do usuário:
sudo mount -t cifs //MacBook-CT.local/Projects mnt/projectsmac -o noauto,user,username=christopher,noperm,uid=ct,gid=ct,sec=ntlmssp,nounix
Observe que eu uso um diretório de montagem localizado dentro do meu próprio diretório inicial, portanto, mnt/projectsmac
não é um erro de digitação (tenho um projectsmac
diretório dentro de um mnt
diretório no meu diretório inicial).
“Christopher” é o nome de usuário do macOS e “ct” é o nome de usuário do Ubuntu.
Além disso, o nome da máquina do Mac é uma fonte potencial de problemas. O nome do meu Mac é na verdade "MacBook_CT", mas não consigo usá-lo no comando do Linux. Para descobrir o nome que você deve usar na rede, abra as preferências de compartilhamento no seu Mac.
Você pode ir ainda mais longe e colocar a senha do usuário Mac diretamente no comando mount:
sudo mount -t cifs //MacBook-CT.local/Projects mnt/projectsmac -o noauto,user,username=christopher,password="12345678",noperm,uid=ct,gid=ct,sec=ntlmssp,nounix
Isto pode ser prático se você quiser incorporar este comando em um script.