Portál AbcLinuxu, 6. května 2025 07:02
Unison uz nekolik let k plne spokojenosti pouzivam.
Je docela skoda, ze na bou stranach musi byt stejne verze unisonu, proto napr. aktualni Ubuntu obsahuje celkem 2 verze: 2.27.57, 2.32.52. S tim byvaji dost problemy. V clanku je uvedena verze 2.45.4, takze jich bude jeste mnohem vic
Dalsi problem, na ktery jsem narazil je Unison vcetne GUI pod Windows - temer 100% to po stazeni a spusteni exe souboru nebude fungovat. Takze si stahnete z Pidginu GTK+ knihovnu, kdyz se vam za pul hodiny podari ji nakopirovat do spravneho umisteni a nastavit systemove promenne, zjistite ze si Unison nerozumi s SSH Probezneho uzivatele nepouzitelne.
Docela by se hodil navod...
[I] net-misc/unison Available versions: (2.13) (~)2.13.16-r1 (2.27) 2.27.57-r1 (~)2.27.157 (2.32) (~)2.32.52 (2.40) (~)2.40.65 (2.45) (~)2.45.4Taktéž používám unison už docela dlouho na zálohování fotek z NB na NAS a na další počítač. V posledních verzích konečně došlo na přepracování GUI. Předchozí GUI se sice dalo používat, ale nebylo to ono. Neexistovala třeba možnost smazat nepoužívané profily. Ještě bych zmínil, že pokud se v rámci profilu změní cesta k datům (například po přesunu synchronizovaných dat na větší disk), unison bude chtít dělat novou synchronizaci. To může u objemných dat trvat i pěkných pár hodin. Jednoduchý symbolický link nepomůže. Jedině si nové umístění připojit přes "mount -o bind" do starého adresáře. V dokumentaci jsou i další postupy, ale ty mi nějak nefungovaly. NAS mám připojen přes NFS, pro unison se to tváří jako lokální disk. Dle dokumentace je lepší mít unison i na NAS, synchronizace by pak měla být rychlejší - nedochází ke kopírování dat sem a tam (nejprve se zapíší a pak se ověří opětovným přečtením). Bohužel na mou NSA210 jsem unison ještě nedostal
Ještě bych zmínil, že pokud se v rámci profilu změní cesta k datům (například po přesunu synchronizovaných dat na větší disk), unison bude chtít dělat novou synchronizaci. To může u objemných dat trvat i pěkných pár hodin. Jednoduchý symbolický link nepomůže. Jedině si nové umístění připojit přes "mount -o bind" do starého adresáře. V dokumentaci jsou i další postupy, ale ty mi nějak nefungovaly.Teď už to nikde aktivně použité nemám, ale jednu dobu jsem používal v manuálu uváděnou možnost relokace rootu
rootalias = //new-hostname//new-path -> //old-hostname/old-patha fungovalo to bez problémů. (Něco si matně vzpomínám, že jsem se tuším musel nějak poprat s normálními versus převrácenými lomítky jako oddělovači adresářů v těch cestách, ale možná si to pletu s něčím jiným.)
ssh2plink.bat
(není to moje dílo, kdysi jsem to vygooglil) s tímto obsahem:
@echo off rem fix ssh args to be compatible with plink (putty) rem Required for Unison synchronisation over ssh. rem Following options are probably compatible: rem -l name, -[1246AaCiNstTvVxX] rem incompatible: rem -p nnn (replaced by P); -e none (no equivalent) setlocal rem Edit this to point to your location for plink.exe set PLINKEXE="C:/Program Files (x86)/PuTTY/PLINK.EXE" set ARGLIST=-ssh -agent -C :nextarg if "x%1" == "x" goto doneargs if NOT "%1" == "-p" goto checkesc rem plink uses upper case P to flag port number set ARGLIST=%ARGLIST% -P %2 shift shift goto nextarg :checkesc if NOT "%1" == "-e" goto useit rem unison likes to include "-e none" which plink does not support. shift shift goto nextarg :useit set ARGLIST=%ARGLIST% %1 shift goto nextarg endlocal :doneargs %PLINKEXE% %ARGLIST%– Mám Unison profilové soubory tvořené v tomto duchu:
# Unison preferences file include common-settings label = SVN repositář sshcmd = C:\Users\<login>\.unison\ssh2plink.bat root = ssh://<login>@example.com//home/<login>/Documents/Projekts/SVN root = D:\Users\<login>\Documents\Projekts\SVN force = ssh://<login>@example.com//home/<login>/Documents/Projekts/SVN perms = 0 ignore = Path {XXX-working-copy} ignore = Path {XXX-r*-working-copy-snapshot.tar.gz} ignore = Path {XXX-working-copy-snapshot.tar.bz2}– Sdílené nastavení pro všechny profily je v tom odkazovaném souboru
common-settings
:
fastcheck = true times = true log = falseTímto způsobem tedy přes SSH synchronizuji počítač s Windows se vzdáleným počítačem s Linuxem. Unison tedy spouštím vždy na tom Windows počítači, opačně by to vyžadovalo minimálně SSH server na Windows, což jsem zatím neměl potřebu rozbíhat. Jedinou podmínkou je autentizovat se SSH klíčem a ten na tom Windows počítači mít už předem odemčený v SSH agentovi. Alespoň myslím, že je to nutné, že není možné nechat se doptat na heslo v tom Unisonem otevíraném terminálu.
2. GUI pro naklikání kdy se má spouštět (např. denně v 10 hodin) DíkyPro Windows se da stahnout CRON.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.