Arquivo Mensal: Dezembro 2012

Time Capsule Home Made

Há 4 anos atrás publiquei um artigo descrevendo como usar o Time Machine com SMB. Usei essa estratégia para conseguir usar o meu router com dispositivo de backup. Na altura referi a tentativa frustrada de usar o protocolo AFP (através do Netatalk) em vez do SMB, visto que o AFP é suportado de forma mais transparente que o SMB pelo Time Machine.

Com a nova funcionalidade introduzida na última versão do Mac OS X (10.8), que permite definir vários dispositivos de backup, decidi configurar uma máquina Linux à qual tenho acesso como um dispositivo de backup alternativo. E também decidi tentar novamente o Netatalk, de modo a simplificar ao máximo o processo de backup. Desta vez, e com a flexibilidade adicional de estar a usar um PC em vez de um router, fui bem sucedido :). Neste artigo vou então descrever os passos necessários para configurar um PC com Linux (Debian 6 neste caso) para funcionar como uma Time Capsule.

O primeiro passo consiste em instalar o Netatalk na máquina com Linux. É recomendável instalar a versão 3, visto que adicionou algumas novas funcionalidades, que são úteis quando se pretende usar o Time Machine. A versão disponibilizada nos repositórios oficiais do Debian é bastante antiga (2.2), pelo que vamos instalar o Netatalk compilando o código fonte. Assim, começa-se por fazer o download da última versão do Netatalk (3.0.2, na presente data) a partir do site oficial do projecto. Isto deverá colocar no vosso PC um ficheiro comprimido, que, obviamente, é necessário descomprimir. Depois disto, vamos então passar à compilação do Netatalk. Para tal, temos de abrir o Terminal (no meu caso, disponível em Applications > Accessories > Terminal), e mudar para a pasta que contém os ficheiros descomprimidos (usando o comando cd /caminho/da/pasta/). Antes de passarmos à compilação, temos que instalar algumas dependências. Usando uma aplicação como o Synaptic, ou o apt-get directamente no Terminal, é necessário instalar os seguintes pacotes (e respectivas dependências):

  • libacl1
  • libacl1-dev
  • libdb-dev
  • libldap2-dev
  • libavahi-client-dev
  • libgcrypt11-dev

O último é particularmente importante para quem usa a versão 10.7 ou posterior do Mac OS X, pois na ausência do mesmo irão muito provavelmente obter erros de autenticação quando se tentarem ligar ao dispositivo de backup.

Podemos agora passar à compilação e instalação do Netatalk, que é feita usando os seguinte comandos:

./configure --enable-quota --enable-zeroconf --with-init-style=debian
make
sudo make install

No primeiro comando definimos algumas opções de compilação. O enable-quota servirá para limitarem o espaço que será disponibilizado para backup (caso não queiram disponibilizar o espaço todo disponível no volume). O enable-zeroconf permitirá que o volume de rede seja automaticamente encontrado pelo Mac OS X. A última opção é para que as scripts de inicialização automática do Netatalk quando o SO (Linux) arranca sejam também geradas. O último comando, que instala o Netatalk, necessita de permissões de administrador, e pode ser necessário introduzir a sua password.

Para termos a certeza que o Netatalk irá sempre arrancar com o SO, deve-se correr o comando sudo update-rc.d netatalk defaults no Terminal.

Depois disto, é só configurar o Netatalk. O ficheiro de configuração está localizado em /usr/local/etc/afp.conf. Vamos editá-lo usando o comando sudo gedit /usr/local/etc/afp.conf. Mais uma vez vai precisar de permissões de administrador, e poderá ser necessário introduzir a sua password. Em vez do gedit pode utilizar outro editor qualquer da sua preferência. Abaixo segue uma configuração minimalista.

[Global]
; Global server settings
zeroconf = yes
uam list = uams_dhx2.so

[time-machine]
path = /path/para/paste/de/backup/
time machine = yes
vol size limit = 80000

Primeiro temos um conjunto de configurações globais. A opção zeroconf convém activar para que o volume seja mais facilmente detectado no Mac OS X. A opção seguinte define o mecanismo de autenticação, e é necessário definir esta opção nas versões mais recentes do Mac OS X (10.7+).
Depois temos as configurações do volume de backup, ao qual chamei time-machine. Primeiro definimos o caminho para o pasta que será partilhada (e onde serão armazenados os backups). Depois indicamos que o volume suporta Time Machine. E por último definimos o tamanho do volume (que será o espaço disponível para a Time Machine usar).

Existem muitas outras opções de configuração. Para uma descrição exaustiva das mesmas, podem aceder a este link.

Depois de concluída a configuração, deverá ser suficiente ter o mac (que pretendemos fazer backup) na mesma rede que o sistema Linux, e ir às preferências da Time Machine para adicionar um novo dispositivo de backup, e deverão ter lá um volume chamado time-machine (ou com o nome que vocês escolheram).

Extra: Cifrar os Backups

O Mountain Lion disponibiliza a opção de cifrar os backups ao adicionarem o volume nas preferências da Time Machine. Em versões anteriores podem usar o este tutorial para obterem backups cifrados.