OSX e Linux, la combinazione perfetta

Per mesi ho avuto tra i piedi un vecchio PC da dismettere con ben due dischi da 500GB nuovi fiammanti che non sono mai stati usati.
Alla fine venne mi decisi a farlo diventare un file server casalingo.

Io però sono un Macaco, la necessità era quindi evitare assolutamente SMB ed usare direttamente il supporto nativo ad AFP. Purtroppo il pacchetto netatalkpredefinito non supporta la crittazione che Mac OSX pretende.

A chi è avezzo all’utilizzo della linea di comando potrà sembrare complicato, ma sono passaggi indispensabili e magari nel processo s’impara qualcosa, dopo tutto a volte usare l’ingegno è meglio che semplicemente trascinare un’icona nella cartella Applcations. 🙂

Da terminale:
sudo apt-get build-dep netatalk
sudo apt-get install cracklib2-dev fakeroot libssl-dev
sudo apt-get source netatalk
cd netatalk-2*

Partiamo con il build del pacchetto, quest’operazione richiederà qualche minuto:
sudo DEB_BUILD_OPTIONS=ssl dpkg-buildpackage -rfakeroot

Installiamo il pacchetto.
sudo dpkg -i ~/netatalk_2*.deb

Ed evitiamo che aggiornamenti futuri rovinino la nostra opera 🙂
echo "netatalk hold" | sudo dpkg --set-selections

Modifichiamo le preferenze predefinite di netatalk.
sudo gedit /etc/default/netatalk

Se vogliamo condividere la stampante è importante abilitare PAPD_RUN=yes
ATALKD_RUN=no
PAPD_RUN=no
CNID_METAD_RUN=yes
AFPD_RUN=yes
TIMELORD_RUN=no
A2BOOT_RUN=no

Ora è il momento di modificare la configurazione del demone afpd.
sudo gedit /etc/netatalk/afpd.conf

Si aggiunge la riga in fondo al file:
- -transall -uamlist uams_randnum.so,uams_dhx.so -nosavepassword -advertise_ssh

Aggiungiamo i volumi che intendiamo esportare.
sudo gedit /etc/netatalk/AppleVolumes.default

Scriviamo la seguente riga, ricordatevi di sostituire VOSTR_SERVER e USERNAME con le stringhe opportune.
~/ "$u@VOSTRO_SERVER" allow:USERNAME cnidscheme:cdb

Finalmente, da terminale passiamo a restartare il servizio.
sudo /etc/init.d/netatalk restart

Ora dal finder ci basta usare “connect to server” ed il relativo IP del server. Purtroppo però il nostro server non lavora con Bonjour, il protocollo Apple per annunciare i sistemi in una rete.
Si può fare comunque di meglio ed utilizzare l’implementazione di Bonjour in opensource, ovvero Avahi. In questo modo il nostro server sarà visibile direttamente dal finder.
Installiamo avahi quindi.
sudo apt-get install avahi-daemon
sudo apt-get install libnss-mdns

Modifichiamo l’ennesimo file di configurazione.
sudo gedit /etc/nsswitch.conf

Aggiungiamo “mdns” alla fine della riga in basso.
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 mdns

Passiamo ora a configurare quali saranno i servizi che il nostro server annuncierà alle macchine Apple. Avete indovinato, altro file di configurazione da editare.
sudo gedit /etc/avahi/services/afpd.service

Vi riporto il mio come esempio, nel mio caso esporto i volumi condivisi, remote desktop ed infine le informazioni del sistema, anche l’estetica vuole la sua parte dopotutto.

<?xml version="1.0" standalone='no'?><!----*-nxml-*---->
<!--DOCTYPE service-group SYSTEM "avahi-service.dtd"-->
<service-group>
<name replace-wildcards="yes">%h</name>
<service>
<type>_afpovertcp._tcp</type>
<port>548</port>
</service>
<service><span style="font-size: 15px; color: #222222; font-family: 'Courier 10 Pitch', Courier, monospace; line-height: 21px;"> </span>
<type>_rfb._tcp</type>
<port>5900</port>
</service>
<service>
<type>_device-info._tcp</type>
<port>0</port>
<txt-record>model=Xserve</txt-record>
<span style="color: #444444; font-family: Georgia, 'Bitstream Charter', serif; line-height: 24px; font-size: 16px;"></service></span>
</service-group>

Finalmente possiamo avviare il servizio e goderci il nostro lavoro.
sudo /etc/init.d/avahi-daemon restart

Rimane la possibilità di utilizzare i volumi esportati dal nostro server, come se il server linux fosse una Time Capsule. E’ necessario prima però impostare Mac OSX in modo che possa leggere i volumi del server come dischi utilizzabili con Time Machine. Aprite il fido terminale sul vostro mac:
defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1

Ora non ci resta che montare il volume remoto, aprire Time Machine e lasciarlo a fare il suo lavoro.

Il tutto è stato testato su Ubuntu 9.10 e 10.04LTS.

Link alla guida originale (inglese).

Leave a Reply

Your email address will not be published. Required fields are marked *