Päädyin päivittämään ja hiomaan Ubuntun netatalk, eli mac tiedostonjako palvelua kotonani ja päätin kirjoitella siitä saman tien muistiinpanot.
Koska OS X siirtää tiedostot Time Machinelle salattuina, pitää netatalk kääntää suoraan lähdekoodista, jotta asennukseen saadaan tuki SSL-salaukselle. Enivei, here we go!
1. Netatalk
Aluksi asennetaan Netatalkin kääntämiseen tarvittavat softat sekä haetaan netatalkin lähdekoodi:
sudo apt-get install devscripts fakeroot libssl-dev cracklib2-dev
sudo apt-get build-dep netatalk
sudo apt-get source netatalk
cd netatalk-2*
Käännetään ja asennetaan netatalk:
DEB_BUILD_OPTIONS=ssl debuild
sudo dpkg -i ../netatalk*.deb
Asetetaan netatalk pois automaattisesti päivitettävien ohjelmistojen listalta, koska automattisesti ladattuna se ei sisällä SSL-salausta, ja systeemi hajoaa.
echo "netatalk hold" | sudo dpkg --set-selections
Seuraavaksi konffataan Netatalkkia hieman. Jotta kaikki toimisi kuten pitää, tarkistetaan että oikeat netatalkin käyttämät daemonit käynnistyvät.
sudo nano /etc/default/netatalk
Scrollaa tiedostoa alaspäin, kunnes tulet kohtaan '#Set which daemons to run' ja muokkaa se seuraavanlaiseksi:
ATALKD_RUN=no
PAPD_RUN=no
CNID_METAD_RUN=yes
AFPD_RUN=yes
TIMELORD_RUN=no
A2BOOT_RUN=no
Sulje nano painamalla Ctrl + X ja Y jotta muutokset tallentuvat.
Seuraavaksi konffataan afpd.confia lisäämällä seuraava rivi tiedoston alareunaan. Mikäli siellä jo on rivi, poista se ja korvaa seuraavalla litanjalla. Koska kyseessä on yksi suht. pitkä rivi käynnistämme nano:n tällä kertaa -w attribuutilla, jottei nano rivitä riviämme kahdelle riville...
sudo nano -w /etc/netatalk/afpd.conf
Lisättävä rivi:
- -transall -uamlist uams_randnum.so,uams_dhx.so -nosavepassword -advertise_ssh
Sulje nano painamalla Ctrl + X ja Y jotta muutokset tallentuvat.
Seuraavaksi määritetään Netatalkin jakamat kansiot:
sudo nano /etc/netatalk/AppleVolumes.default
Kotikansiot saat jaettua lisäämällä seuraavanlaisen rivin tiedoston alareunaan.
~/ "$u" allow:username1,username2 cnidscheme:dbd
username1 ja 2 tilalle voit laittaa haluamasi käyttäjien käyttäjänimet, joilla on oikeus päästä kotikansioihinsa netatalkin avulla.
Seuraavaksi tehdään TimeMachine jaot jokaiselle käyttäjälle tietenkin omansa. Itse tein itselleni sekä vaimolleni kummallekkin omansa. Varmuuden vuoksi tein kansiot /home/ kansioon, enkä käyttäjien kotikansioihin. Rivi näyttää tältä:
/home/TimeMachine_user1 TimeMachine allow:user1 cnidscheme:dbd options:usedots,upriv
usedots tarvitaan jotta myös tiedostot joiden nimi alkaa pistellä (=piilotiedostot) siirtyvät palvelimelle ilman tiedostonimen muutosta. upriv taas tarkoittaa sitä, että netatalk käyttää linuxin chmod/chown komennoilla jaettavalle kansiolle annettuja oikeuksia.
Sulje nano painamalla Ctrl + X ja Y jotta muutokset tallentuvat.
Käynnistetään netatalk.
sudo /etc/init.d/netatalk restart
2. Avahi
Seuraavaksi asennetaan Avahi, joka ilmoittaa netatalkin palveluista lähiverkon Mac-koneille.
sudo apt-get install avahi-daemon
sudo apt-get install libnss-mdns
ja hieman konffia perään...
sudo nano /etc/nsswitch.conf
Etsi tiedostosta rivi joka alkaa sanalla "hosts:" ja lisää rivin perään sana mdns, jotta rivi näyttää tältä:
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 mdns
Sulje nano painamalla Ctrl + X ja Y jotta muutokset tallentuvat.
Lopuksi luomme xml-tiedoston joka kertoo Avahille mitä palveluja sen tulisi ilmoitella verkon tietokoneille.
sudo nano /etc/avahi/services/afpd.service
Tyhjä dokumentti avautuu eteesi, liitä tiedostoon seuraava pätkä ja tallenna muutokset.
<?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=Xserve</txt-record>
</service>
</service-group>
Sitten Avahille restarttia:
sudo /etc/init.d/avahi-daemon restart
3. Passwd-tiedostot
Jotta järjestelmä toimisi myös Leopard, Snow Leopard ja Lion käyttiksillä lisätään käyttäjien kotikansioiden juuriin .passwd piilotiedosto jossa on käyttäjänsalasana. Muuten Leopard ja sitä uudemmissa Mac OS X versioissa saat virheilmoituksen väärästä salasanasta.
su user1
cd
echo salasana > .passwd
4. Mac
Lopuksi aja Macin komentoriviltä (pääte) seuraava komento, jotta Time Machine hyväksyy salaamattoman salasanan käytön palvelimelle kirjauduttaessa.
defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1
Nyt Macin/Macien pitäsi löytää Ubuntu palvelin. Kirjaudu ensin palvelimelle Finderin avulla. Sen jälkeen mene järjestelmäasetuksisa laittamaan Time Machinen asetukset kuntoon. Kannattaa muuten ensimmäisen varmuuskopioinnin ajaksi laittaa Mac verkkopiuhalla WLANin sijaan, säästät aikaa ja paljon ;)
Lähteitä:
http://www.kremalicious.com/2008/06/ubuntu-as-mac-file-server-and-time-m...
http://www.blackmac.de/archives/58-Make-Netatalk-talk-to-Leopard-Mac-OS-...

Kommentit
Kommentoi