Mitt problem är alltså att jag vill kunna synkronisera filer som finns på en filserver, lagrad med utf-8 till en mac. Efter att jag jobbat med filerna antingen lokalt på macen eller de uppdaterats på servern ska jag kunna synkronisera och lösa konflikter. För detta är unison utmärkt, men det fungerar ej för mig eftersom mac os x använder en annan normaliseringsform för unicode, vilket unison ej stöder.
Nu har jag löst problemet
- inte på ett smart sätt (med lokal fusemontering på macen)
- inte på det rätta sättet (fixa unison, för svårt)
- inte på ett halvsnyggt sätt (synkronisering över sftp, cyberducks synkronisering fungerade inte tillräckligt snabbt och smärtfritt)
- inte på det trekvartssnygga sättet (montering med fuse och iconv (eller ekvivalent) inuti servern, föll på att olika normaliseringsformer inte verkar stödas av iconv i äldre versioner)
- inte på det grova sättet (dubbelriktad rsync scriptat i bash. blev för otillförlitligt och hanterade inte interna länkar korrekt. däremot stöder nya versioner av rsync macs teckenkodning!)
- inte på det alternativa sättet (montera filerna över afp följd av lokal unison, föll på att jag inte fick till det enligt standardreceptet, fråga mig inte varför.)
- inte på det drastiska sättet (tagit bort alla icke-ascii-tecken från alla filer:-)
- inte på det desperata sättet (installera ubuntu på macen, native. det gick iofs bra men det känns fel att inte dra nytta av de grejer som faktiskt är bra med macen, såsom den fantastiska musplattan, mail etc.)
Jag kör en virtualiserad filserver inuti macen. Inne i den virtuella maskinen kan jag köra unison. För att komma åt filerna exporterar jag dom med samba över smb. På macen monterar jag sedan den utdelade mappen och använder från macen. Detta fungerar klockrent. Därtill är krypteringen löst eftersom jag satt upp en krypterad disk inuti filservern.
Receptet ser ut såhär:
- installera virtualbox på värden (mac os x)
- installera gästen (ubuntu 9.10) enligt receptet på virtualbox dokumentationssidor. inga konstigheter alls.
- skapa en extra virtuell disk i virtualbox. Denna hamnar i mac os x som en fil med ändelsen .vdi. Denna lägger jag på valfritt ställe. Den behöver ej vara på ett krypterat filsystem, eftersom innehållet i filen senare kommer att vara krypterat. Justera inställningarna i virtualbox så att gästen når denna extra disk.
- i virtualbox, konfigurera nätverket så att både nat och lokalt nätverk finns (två nätverkskort alltså). Det gör att man kommer åt internet på ett lätt sätt inifrån gästen, samtidigt som man kommer åt sambaservern från mac os x)
- Inifrån gästen (ubuntu), sätt upp den extra disken som ett krypterat filsystem. sök på ubuntu encrypted filesystem för diverse alternativ hur man kan göra.
- inifrån gästen, installera samba och konfigurera den så att hemkatalogerna exporteras.
- sätt ett lösenord på exporten
- varje gång jag vill komma åt filerna startar jag värden, anger lösenordet för filsystemet och låter det boota klart.
- Därefter monterar jag hemkatalogen med smb inifrån finder i mac os x.
- Nu kan jag arbeta i filträdet i mac os x, eller inifrån värden om jag så vill.
- med unison inifrån gästen (måste installeras separat) kan jag synkronisera med filservern.
Denna lösning har fördelen att jag har en extra utvecklingsmiljö på macen. Virtualisering är en ball grej!
3 kommentarer:
Låter som du är envis nog i alla fall...
Haha. Härligt! /j
Tack for intiresnuyu iformatsiyu
Skicka en kommentar