Como usar um Raspberry Pi como uma unidade de máquina do tempo em rede para o seu Mac

raspberry-pi-time-machine-mac

Por que gastar US $ 300 em um AirPort Time Capsule quando você pode fazer um você mesmo com um Raspberry Pi e um disco rígido externo ? É necessário alguns ajustes, mas assim que estiver tudo configurado, seu Mac fará o backup automaticamente, sem nenhum esforço de sua parte. Não é mais necessário conectar uma unidade ao computador.

Melhor ainda: na hora de restaurar os arquivos, você pode desconectar o disco rígido do Pi e conectá-lo diretamente ao Mac, permitindo a recuperação de uma falha total do sistema usando a Recuperação do Sistema. Hackers semelhantes não funcionam dessa maneira.

O que você precisará

Mostramos como fazer backup do seu Mac com o Time Machine e até mesmo como fazer backups do Time Machine pela rede . Mas, nesses tutoriais, o backup pela rede exigia outro Mac atuando como servidor. Portanto, se você mora em uma casa com um único Mac, pode pensar que sua única opção é conectar um disco rígido USB ou comprar um Apple Time Capsule de $ 300.

Isso não é verdade. O Raspberry Pi conectado a um disco rígido externo é uma ótima alternativa improvisada para um Time Capsule ou outro Mac, e é muito mais barato. (Sim, o Time Capsule inclui funcionalidade de roteador, então é realmente um preço decente pelo que oferece – mas este método permite que você use qualquer roteador que desejar e oferece mais espaço para atualizações quando a unidade ficar sem espaço.)

Este tutorial presume que você já conhece os princípios básicos de como configurar um Raspberry Pi . Também requer um pouco de equipamento:

  • A Raspberry Pi. Qualquer modelo vai fazer, mas o modelo atual é o Raspberry Pi 3 Modelo B .
  • Um cartão SD, para o sistema operacional do Raspberry Pi. Raspberry Pis mais antigo usará um cartão SD padrão, enquanto os mais novos exigirão um cartão microSD, portanto, certifique-se de obter o tipo certo. Aqui está uma ótima lista de cartas testadas para funcionar bem com o Pi.
  • Uma fonte de alimentação para o Pi. A porta de alimentação Pis é apenas microUSB, mas recomendamos obter uma fonte de alimentação projetada para o Pi para desempenho confiável – esta da CanaKit funciona bem.
  • Uma conexão de rede com fio para o seu Pi (você pode usar Wi-Fi, mas é preciso mais configuração e com fio será muito melhor para aqueles grandes backups pela rede)
  • Um disco rígido externo , que você conectará ao Pi via USB. Recomendamos obter um disco rígido externo de desktop com sua própria fonte de alimentação dedicada, a menos que você tenha uma unidade alimentada por USB que tenha sido testada para funcionar com o Pi.

Você pode obter a maioria dessas coisas (e muito mais) de uma só vez com um bom kit inicial Raspberry Pi como este , ou pode comprá-los separadamente. Sua chamada.

Eu descobri esse método em uma postagem do blog de Caleb Woods e preenchi algumas coisas que não funcionaram para mim lendo esta postagem no Badbox.de . Meus sinceros agradecimentos a vocês dois.

Recomendado:  Google Updates Chrome Logo: você consegue identificar a diferença?

Uma nota final: este hack funciona muito bem na minha experiência, mas no final do dia ainda é apenas isso: um hack. Por este motivo, recomendo ter algum tipo de backup além deste, de preferência algo externo. (Você deve sempre ter um backup externo de qualquer maneira , em caso de incêndio ou outro desastre natural.)

Etapa um: preparar a unidade externa para o Time Machine

A primeira coisa que você precisa fazer é preparar o drive externo para funcionar com o Time Machine. Conecte a unidade em seu Mac e inicie o Utilitário de Disco . Selecione sua unidade externa e clique no botão “Apagar”. Você vai querer formatar a unidade como “Mac OS Extended”, também conhecido como HFS +.

tempo-máquina-criar-partição

A seguir, vamos querer garantir que seu Raspberry Pi, e todos os dispositivos, tenham permissão para controlar a unidade. Vá para o Finder e clique com o botão direito na unidade na barra lateral. Clique em “Obter informações”.

mac-finder-get-info

Na parte inferior da janela que é aberta, você encontrará as configurações de permissão.

mac-finder-permissions

Clique no cadeado no canto inferior direito e digite sua senha. Em seguida, marque “Ignorar propriedade neste volume”. E com isso, você está pronto para conectar seu drive externo ao Pi.

Etapa dois: instale o Raspbian em seu Pi e conecte-o por SSH

Em seguida, você precisará configurar seu Raspberry Pi com Raspbian, conforme descrito neste artigo . Não detalharemos o processo aqui, já que é um projeto por si só, então dê uma olhada nesse guia para configurar o Raspbian em seu Pi. Usei Raspbian Core para minha configuração, já que não conectei o Pi a um monitor, mas não há razão para que a versão GUI completa do Raspbian também não funcione.

Falando nisso: você tem duas opções no que diz respeito ao restante deste tutorial. Você pode conectar seu Raspberry Pi a um teclado e monitor e configurar as coisas dessa forma, ou você pode conectar seu Pi por SSH e executar cada etapa do conforto de seu Mac. Achamos que o método SSH é muito mais fácil do que encontrar um monitor aleatório, então veja como fazer isso.

mac-raspberry-pi-ssh

Inicie o Terminal em seu Mac e digite o seguinte comando:

ssh pi@192.168.1.11

Substituindo 192.168.1.11  pelo endereço IP do seu Pi. Você pode encontrar o endereço IP de qualquer dispositivo conectado à sua rede , incluindo o Raspberry Pi, acessando a interface da web do seu roteador.

Em seguida, será solicitada uma senha para o usuário padrão pi,. A senha para pié, por padrão raspberry,.

Se você estiver se conectando a um sistema novo pela primeira vez, sugiro que configure algumas coisas antes de continuar. Primeiro, execute sudo raspi-confige altere sua senha padrão. Você também pode expandir seu sistema de arquivos padrão aqui, se tiver um cartão SD grande (embora isso não seja necessário para este tutorial). Seu Raspberry Pi será reiniciado e você estará pronto para trabalhar.

Etapa três: monte sua unidade externa

Antes de configurar o Time Machine, você precisa montar a unidade para que o Raspberry Pi possa ler e gravar nela. Isso requer a instalação de algum software. Primeiro, certifique-se de que todo o software do Pi esteja atualizado. Execute estes dois comandos, um após o outro:

Recomendado:  Como acessar o iCloud Mail de qualquer navegador da web

sudo apt-get update

sudo apt-get upgrade

Em seguida, instale dois pacotes: hfsprogs e hfsplus. Isso permitirá que seu Raspberry Pi leia sua unidade Mac formatada.

sudo apt-get install hfsprogs hfsplus

time-pi-install-hfs-plus

Agora você tem um software capaz de montar sua unidade, mas precisa saber qual unidade montar, então você precisará fazer algumas pesquisas. Comece lançando o Parted.

sudo /sbin/parted

Em seguida, digite printpara ver uma lista das unidades atualmente conectadas. Você deve ver sua unidade externa aqui.

time-pi-hard-drive

A partir desta captura de tela, podemos ver que meu disco é um Maxtor de 164 GB (comprarei um maior mais tarde, prometo). A informação importante aqui é /dev/sda. sua unidade terá um nome semelhante, que você deve anotar.

Em seguida, observe a tabela abaixo desse bloco de texto. No meu caso, é óbvio que a segunda partição maior é o que estou procurando. Portanto, faço notar que a partição que desejo montar é sda2. Você pode precisar de uma figura ligeiramente diferente, se tiver mais de uma unidade ou mais de uma partição em sua unidade.

Agora que você tem as informações de que precisa, digite quit e pressione Enter. A seguir, vamos fazer uma pasta que servirá como nosso ponto de montagem …

sudo mkdir -p /media/tm

… E, em seguida, adicione algumas informações ao arquivo fstab. Use este comando para abrir um editor de texto:

sudo nano /etc/fstab

Cole a seguinte linha no documento, substituindo /dev/sda2 pela partição do seu drive, se for diferente de / dev / sda2.

/dev/sda2 /media/tm hfsplus force,rw,user,auto 0 0

time-pi-fstab

Depois de colar o texto, pressione Control + X para sair do editor, salvando ao fazer isso.

Em seguida, monte a unidade com:

sudo mount -a

Se você não vir uma mensagem de erro, parabéns! Você montou sua unidade com sucesso.

Etapa três: compilar e instalar o Netatalk

Netatalk é um software que simula AFP, o protocolo de rede que a Apple usa atualmente para backups do Time Machine. Você pode instalar uma versão antiga do Netatalk usando sudo apt-get install netatalk, mas  eu recomendo fortemente que você não faça isso . Por razões complexas (amplamente políticas), o Debian – sobre o qual o Raspbian foi construído – oferece uma versão muito desatualizada do Netatalk em seus repositórios. Você pode fazer o Time Machine funcionar usando esta versão desatualizada do Netatalk, mas na minha experiência é frustrante.

Portanto, eu recomendo que você compile a versão mais recente. É mais complicado de instalar, mas vale a pena.

Primeiro, você precisa instalar as dependências. Aqui está tudo que você precisa para instalar, em um comando:

sudo aptitude install build-essential libevent-dev libssl-dev libgcrypt11-dev libkrb5-dev libpam0g-dev libwrap0-dev libdb-dev libtdb-dev libmysqlclient-dev avahi-daemon libavahi-client-dev libacl1-dev libldap2-dev libcrack2-dev systemtap-sdt-dev libdbus-1-dev libdbus-glib-1-dev libglib2.0-dev libio-socket-inet6-perl tracker libtracker-sparql-1.0-dev libtracker-miner-1.0-dev

A instalação pode demorar um pouco. Em seguida, baixe a versão mais recente do Netatalk. No momento em que este livro foi escrito, era 3.1.10, embora você possa verificar a página inicial do netatalk para obter o número da versão mais recente. Em seguida, execute este comando para fazer o download:

wget http://prdownloads.sourceforge.net/netatalk/netatalk-3.1.10.tar.gz

Substitua o número da versão se encontrar uma versão posterior em seu site.

Agora, descompacte o arquivo que você baixou com:

tar -xf netatalk-3.1.10.tar.gz

Em seguida, mude para a nova pasta que você acabou de criar.

Recomendado:  Como alterar os atalhos do teclado no Photoshop

cd netatalk-3.1.10

Em seguida, você pode definir todas as configurações do netatalk antes de compilar o programa, usando este comando:

./configure \
        --with-init-style = debian-systemd \
        --without-libevent \
        --without-tdb \
        --with-cracklib \
        --enable-krbV-uam \
        --with-pam-confdir = / etc / pam.d \
        --with-dbus-daemon = / usr / bin / dbus-daemon \
        --with-dbus-sysconf-dir = / etc / dbus-1 / system.d \
        --with-tracker-pkgconfig-version = 1.0

time-pi-compile-netatalk

Supondo que você não veja nenhuma mensagem de erro, você pode passar para o próximo estágio e executar:

make

Isso vai demorar um pouco. Você também pode fazer um café, alguns scones e uma refeição de três pratos. O Raspberry Pi não é rápido na compilação de software.

Quando tudo estiver pronto, você pode finalmente instalar o Netatalk:

sudo make install

Não foi divertido? Verifique rapidamente se o Netatalk está realmente em execução:

netatalk -V

Você verá um monte de informações sobre a configuração do Netatalk. Se tudo estiver certo, vamos configurar as coisas!

Etapa quatro: configurar o Netatalk

Agora que o Netatalk está instalado, você precisa dizer a ele para compartilhar sua unidade. Primeiro, você precisará editar nsswitch.conf.

sudo nano /etc/nsswitch.conf

Aqui você precisa adicionar mdns4e mdnsà linha que começa com “hosts:”, para que fique assim:

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 mdns

 

 

time-pi-fstab

Esse ajuste significa que a unidade do Time Machine aparecerá na barra lateral do Finder assim que você conectar o Raspberry Pi à rede.

Em seguida, você precisará editar afpd.service:

sudo nano /etc/avahi/services/afpd.service

Copie este bloco de texto e cole-o no arquivo:

<? xml version = "1.0" standalone = 'no'?> <! - * - nxml - * ->
<! DOCTYPE service-group SYSTEM "avahi-service.dtd">
<grupo de serviço>
    <name replace-wildcards = "yes">% h </name>
    <serviço>
        <type> _afpovertcp._tcp </type>
        <port> 548 </port>
    </service>
    <serviço>
        <type> _device-info._tcp </type>
        <port> 0 </port>
        <txt-record> model = TimeCapsule </txt-record>
    </service>
</service-group>

Entre outras coisas, essas informações fazem com que o Raspberry Pi imite um Time Capsule real da Apple, completo com o ícone apropriado.

Finalmente, é hora de configurar sua unidade externa como um compartilhamento de rede.

sudo nano /usr/local/etc/afp.conf

No final deste documento, cole o seguinte texto:

[Global]
  modelo mímico = TimeCapsule 6.106

[Máquina do tempo]
  caminho = / media / tm
  máquina do tempo = sim

Você pode colocar um nome diferente de “Time Machine” entre os segundos colchetes, se desejar. Isso mudará o nome da unidade para a qual você fez backup, conforme mostrado no Finder e no próprio Time Machine.

Finalmente, vá em frente e inicie os serviços de rede. Em ordem, execute estes dois comandos:

sudo service avahi-daemon start
sudo service netatalk start

Sua unidade agora é oferecida na rede. Para garantir que isso aconteça sempre que você iniciar o Raspberry Pi, digite estes comandos, novamente, um após o outro:

sudo systemctl enable avahi-daemon
sudo systemctl enable netatalk

Estamos muito perto agora!

Etapa cinco: conectar-se à sua máquina do tempo

Vá para o Finder em seu Mac e você verá seu Raspberry Pi aqui.

localizador-framboesa-pi

Você pode realmente se conectar a partir daqui, clicando em “Conectar como” e inserindo o mesmo nome de usuário e senha que você usa para se conectar por SSH.

Na minha experiência, no entanto, o Time Machine funciona melhor se você se conectar ao drive por meio de seu endereço IP, especialmente se você configurou endereços IP estáticos com seu roteador  (o que provavelmente deveria ser feito). Para conectar, abra o Finder e pressione Command + K no teclado.

endereço-pi-máquina do tempo

Depois de montar a unidade, vá para Preferências do Sistema> Time Machine e selecione a unidade como backup do Time Machine.

máquina do tempo

O backup inicial será executado e, depois disso, os backups acontecerão a cada hora. Agora você tem uma unidade Time Machine em rede. Aproveitar!