Configurar la copia de seguretat del mac (timemachine) amb un servidor linux
A l'hora de fer les copies de seguretat el mac osx té un sistema que és realment pràctic, només hem de triar el destí de la copia de seguretat i ell mateix s'encarrega d'anar refrescant la copia sempre que cal. Fent servir un servidor linux per les copies de seguretat podrem tenir les copies de la nostra xarxa unificades en un sol ordinador i estalviar despeses en hardware.
El problema el tindrem en el cas que vulguem fer una copia de seguretat cap a un servidor linux o windows. Tot i que apple suporta la compartició de fitxers amb samba/cifs (el compartir fitxers de tota la vida), no permet fer servir aquest recursos per fer-hi copies de seguretat del time machine.
El fet que sortís la versió 10.7 del mac (Lion) i que fos incompatible amb el netatalk (és el programa que fa de servidor de fitxer amb el protocol que entén el mac) ha fet que s'espavilin a treure una nova versió del netatalk (el software per linux) amb la que funciona tot de manera molt més fàcil.
Les instruccions
Preparar la carpeta per compartir
A l'hora de compartir un recurs per fer de time machine NO cal que estigui formatat amb el sistema de fitxers de apple (linux no hi te suport d'escriptura) ja que és el mateix netatalk qui s'encarregarà de grabar les dades a disc de la manera que cal.
Per tant hem de preparar una carpeta (o muntar un recurs de manera permanent) a on hi guardarem les dades.
En el meu cas he fet servir el segon disc del meu ordinador, concretament la primera partició del disc. Per tal de fer el particionat i el formateig es pot fer de manera gràfica en un programa com el gparted (Molt fàcil, però alerta)
Un cop estigui el disc formatat en el sistema que vulgueu (jo he fet servir ext4) ja només cal que el munteu al lloc on volgueu, jo he fet servir el directori /mnt/timemachine
mount /dev/sdb1 /mnt/timemachine
Per tal que s'engegui amb el sistema cada vegada que engegui l'ordinador hem d'afegir una linia al fitxer /etc/fstab
#Disc per timemachine
/dev/sdb1 /mnt/timemachine ext4 defaults,errors=remount-ro 0 1
Instal·lar el servidor de fitxers al linux
Hem d'instal·lar la versió 2.2. del netatalk (cap d'anterior ens funcionarà amb lion!!) amb la comanda de sota forcem a fer servir el paquet de wheezy (la nova versió de debian que encara no ha sortit) i que porta la versió que necessitem
apt-get install -t wheezy netatalk
Configurar el netatalk per el time machine
nano /etc/netatalk/afpd.conf
Hem de posar aquesta línia al final del fitxer per tal que el sistema tingui els serveis en marxa per funcionar
- -tcp -noddp -uamlist uams_randnum.so,uams_dhx.so,uams_dhx2.so -nosavepassword
Afegint el segon fitxer que hem d'editar és el que fem servir per definir els recursos que volem compartir per al sistema de time machine:
nano /etc/netatalk/AppleVolumes.default
Hi haurem d'afegir una línia com aquesta:
/mnt/timemachine TimeMachine cnidscheme:dbd options:usedots,upriv,tm allow:nom_usuari
Fer que el sistema sigui visible per els macs
Això ho fem configurant l'avahi, que en mac és el servei que es diu bonjour, com abans he de fer un fitxer amb la configuració per tal de fer anunciar el servidor linux com a un servidor de fitxers tipus afp
nano /etc/avahi/services/afpd.service
I s'ha d'afegir aquest contingut
<?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>
<type>_device-info._tcp</type>
<port>0</port>
<txt-record>model=MacPro</txt-record>
</service>
</service-group>
Engegar els serveis
Si la configuració ja és correcta, ara ja només ens farà falta reiniciar el dos serveis que hem modificat
/etc/init.d/netatalk restart
/etc/init.d/avahi-daemon restart
Configurar la copia de seguretat en el mac
Hem d'anar al configurador del time machine del mac és la icona del rellotge dins de les preferències:
Des del menú del time machine haurem de anar a seleccionar un disc:

D'entre tots els discs hem de triar el que tinguem muntat en el linux, en el meu cas es diu timemachine
Finalment haurem d'entrar la contrasenya de l'usuari que hem preparat al linux (i que el mac ja recordarà) per començar a fer copies de manera automàtica.
A partir d'aquí el nostre mac anirà fent copies sempre que tingui connexió contra el servidor linux i tot estigui funcionant correctament. En el moment en que ja no quedi espai de disc, es començaran a esborrar les copies més antigues sense que haguem de fer res.
Hi ha més informació (en anglès) en aquestes pàgines:
- http://www.tristanwaddington.com/2011/07/debian-time-machine-server-os-x-lion/
- http://www.kremalicious.com/2008/06/ubuntu-as-mac-file-server-and-time-machine-volume/
- http://ubuntuforums.org/archive/index.php/t-1811541.html
- http://langit.wordpress.com/2011/09/14/share-folder-in-ubuntu-11-04-for-mac-osx-lion/
Diagnosticar problemes amb el kde
A vegades hi ha alguns problemes amb el kde que poden ser dificils de trobar, normalment estaran relacionats amb maquinari molt nou i que encara no està correctament suportat.
En el kde tenim la opció de fer servir el kdebugdialog que és la interfície que ens donarà la opció d'activar selectivament un registre extens de tot el que estan fet els programes i components del kde.
Un cop haguem canviat les opcions en aquest menú, hem de sortir i tornar a entrar a la nostra sessió de kde perquè ens registri des del principi tots els incidents que vagi trobant.
Tota aquesta informació l'anirà guardant al fitxer ~/.xsession-errors (és un fitxer ocult a l'arrel del nostre usuari). A cada nova sessió es tornarà a crear el fitxer des de zero.
NOTA: Tenir sempre tots els registres activats faria que el nostre ordinador anés més lent que el que el nostre hardware permet, per això s'ha de fer servir el kdebugdialog només com a una mesura temporal.
Visor de fonts Multiplataforma (linux, windows, osx)
En els sistemes apple hi ha un programa molt útil que es diu fontbook, que ens permet d'una manera molt fàcil veure quines fonts tenim instal·lades en el nostre ordinador i com quedaran els textos que escribim.
En Linux i també en Windows o en Mac (tot i que no faria falta) podem fer servir una eina que es diu FontMatrix, està escrita amb Qt i per tant és multiplataforma. Per instal·lar-lo a Linux n'ha hi prou de fer:
apt-get install fontmatrix
El funcionament del programa és molt intuïtiu i ens permetrà veure de una manera fàcil tots el ventall de fonts de que disposem en el nostre ordinador.
Afegir les fonts lliure d’android a debian
L'any 2007 Google va alliberar les fonts que es fan servir en el telèfons android i per tant tenim un altre joc de fonts professional que podem fer servir sense problemes de llicències ni il·legalitats. A més podrem veure exactament com quedaran els textos un cop els passem al nostre dispositiu mòbil.
Per instal·lar-les en el nostre sistema només hem de fer:
apt-get install ttf-droid
Un cop instal·lat tindrem aquestes noves 3 fonts a disposar per els nostres programes.
Afegir fonts a un sistema debian
Per defecte el repertori de fonts que tenim per escriure a Linux és molt limitada ja que només vindran instal·lades de sèrie les fonts totalment lliures. De totes maneres es poden instal·lar més fonts de manera molt fàcil.
Amb aquesta comanda ens instal·larà un joc de fonts que Microsoft va alliberar fa temps per tal que les pàgines de internet es veiessin correctament a tots els ordinadors. Per instal·lar-les només cal fer:
apt-get install ttf-mscorefonts-installer
Aquestes són algunes de les noves fonts que haurem instal·lat...
Afegir la paperera de reciclatge per al samba
Un problema molt típic quan configurem un servidor de fitxers amb samba per compartir fitxers amb windows, és que quan esborrem un fitxer s'esborra definitivament.
Això és un problema seriós en un entorn de un sol usuari, però en un entorn compartit encara ho és més ja que algú altre pot esborrar els nostres fitxers tot pensant que no els fem servir o que són d'ell.
[fotos] comment = fotos path = /mnt/Fotos writable = yes vfs object = recycle recycle:repository = .deleted/%U recycle:keeptree = Yes recycle:touch = Yes recycle:versions = Yes recycle:maxsixe = 0 recycle:exclude = *.tmp recycle:exclude_dir = /tmp recycle:noversions = *.doc
Afegint les opcions que he marcat amb negre, tindrem la paperera a punt. A partir d'ara quan algun usuari esborri un fitxer anirà a parar a /mnt/fotos/.deleted/nom_usuari
De tant en tant haurem d'anar esborrant el contingut del directori i haurem d'excloure el directori de les copies de seguretat, però ens estalviarem grans desastres.
En aquesta pàgina hi ha més informació en anglès.
Amagar fitxers i carpetes compartides quan compartim fitxer amb samba

Si feu servir el Picasa per organitzar les vostres fotos haureu vist que sempre crea una carpeta que es diu Originals, en linux la carpeta es diu .picasaoriginals, també crea un fitxer ocult que es diu .picasa.ini amb informació important que necessita.
Si esteu compartint les fotos a la xarxa normalment no us interessarà que aquests fitxers siguin visibles ni editables, el picasa no s'agafa gaire bé que li manipulin les carpetes sense saber-ho i té tendéncia a deixar les miniatures mal formades, barrejar les cares de la gent que hem etiquetat i altres coses per l'estil.
Si voleu evitar que aquests fitxers es comparteixin sembla que la millor opció és fer servir una opció de samba que es diu veto files (també es pot fer amb un hide si només voleu que les carpetes o fitxers s'ocultin). Aquest és el fitxer de configuració del meu directori de fotos.
[fotos] comment = Fotos path = /mnt/Fotos writable = yes veto files = /.picasaoriginals/.picasa.ini/
Aquests canvis no seran visibles fins que recarregueu la configuració del samba i torneu a fer la connexió de xarxa.
Amb aquests canvis podrem treballar amb les mateixes fotos des de un altre ordinador, per exemple fent servir l'iPhoto des de un mac sense veure les carpetes dues vegades.
Més informació sobre les comandes del samba aquí
Afegir un usuari al group d’usuaris administradors/sudoers
ACTUALITZAT per funcionar en sistemes recents
El mecanisme més segur per tenir privilegis d'administrador tant en Linux com en Mac (a l'hora d'executar coses des de la consola) es fer servir el sudo. Els usuaris de sudo poden fer el mateix que el superusuari (root) però amb la diferència que si volen tenir el màxim número de privilegis ho han d'indicar abans. La manera més fàcil per convertir un usuari amb administrador i permetre-li l'ús del sudo és la següent:
Si s'està executant l'ordre des d'una sessió usuari amb privilegis d'administrador:
sudo usermod -G sudo nom_usuari
Si la sessió ja s'està executant com a root:
usermod -G sudo nom_usuari
Per acabar una gran tira de xkcd que parla del sudo:
.- Fes-me un sandwich
.- Que? Fes-te'l tu mateix
.- "sudo" fes-me un sandwich
.- Ok

La comanda permet fer un us més avançat, i limitar només el que volem deixar fer a l'usuari. Per exemple reiniciar un servei que està fallant o esborrar un fitxer pel que no té permisos.
Esborrar els directoris buit amb uns sola comanda
Amb linux n'hi ha prou de fer això per trobar els directoris buit a partir del que estem:
find -type d -empty
I si a més també volem fer l'esborrat directament:
find -type d -empty -delete
Treure el servei de impressores del samba
Una cosa molt molesta que té el samba és que per defecte va lligat amb les impressores, fa temps això tenia molt sentit, perquè les impressores sempre penjaven d'un ordinador. A l'actualitat qualsevol impressora decent porta incorporat un servidor d'impressió en xarxa i aquest servei ja no ens farà falta cap ordinador per fer-la funcionar.
O sigui que veieu missatges com aquest:
[2011/11/14 23:13:40.402118, 0] printing/print_cups.c:109(cups_connect) Unable to connect to CUPS server localhost:631 - No such file or directory [2011/11/14 23:13:40.414487, 0] printing/print_cups.c:468(cups_async_callback) failed to retrieve printer list: NT_STATUS_UNSUCCESSFUL [2011/11/14 23:13:40.438781, 1] smbd/server.c:282(remove_child_pid) Could not find child 9655 -- ignoring [2011/11/14 23:31:01.957409, 1] smbd/process.c:776(smbd_sig_hup_handler
Per desactivar les impressores al samba podem afegir aquestes línies al fitxer /etc/samba/smb.conf:
;Deshabilitar impressores a samba
load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes
Un editat aquest fitxer, ja només cal reiniciar el servei perquè torni a funcionar:
/etc/init.d/samba restart






