Bylo oznámeno (cs) vydání Fedora Linuxu 43. Ve finální verzi vychází šest oficiálních edic: Fedora Workstation a Fedora KDE Plasma Desktop pro desktopové, Fedora Server pro serverové, Fedora IoT pro internet věcí, Fedora Cloud pro cloudové nasazení a Fedora CoreOS pro ty, kteří preferují neměnné systémy. Vedle nich jsou k dispozici také další atomické desktopy, spiny a laby. Podrobný přehled novinek v samostatných článcích na stránkách Fedora Magazinu: Fedora Workstation, Fedora KDE Plasma Desktop, Fedora Silverblue a Fedora Atomic Desktops.
Elon Musk oznámil (𝕏) spuštění internetové encyklopedie Grokipedia (Wikipedia). Zatím ve verzi 0.1. Verze 1.0 prý bude 10x lepší, ale i ve verzi 0.1 je podle Elona Muska již lepší než Wikipedia.
PSF (Python Software Foundation) po mnoha měsících práce získala grant ve výši 1,5 milionu dolarů od americké vládní NSF (National Science Foundation) v rámci programu "Bezpečnost, ochrana a soukromí open source ekosystémů" na zvýšení bezpečnosti Pythonu a PyPI. PSF ale nesouhlasí s předloženou podmínkou grantu, že během trvání finanční podpory nebude žádným způsobem podporovat diverzitu, rovnost a inkluzi (DEI). PSF má diverzitu přímo ve svém poslání (Mission) a proto grant odmítla.
Balík nástrojů Rust Coreutils / uutils coreutils, tj. nástrojů z GNU Coreutils napsaných v programovacím jazyce Rust, byl vydán ve verzi 0.3.0. Z 634 testů kompatibility Rust Coreutils s GNU Coreutils bylo úspěšných 532, tj. 83,91 %. V Ubuntu 25.10 se již používá Rust Coreutils místo GNU Coreutils, což může přinášet problémy, viz například nefunkční automatická aktualizace.
Od 3. listopadu 2025 budou muset nová rozšíření Firefoxu specifikovat, zda shromažďují nebo sdílejí osobní údaje. Po všech rozšířeních to bude vyžadováno někdy v první polovině roku 2026. Tyto informace se zobrazí uživateli, když začne instalovat rozšíření, spolu s veškerými oprávněními, která rozšíření požaduje.
Jste nuceni pracovat s Linuxem? Chybí vám pohodlí, které vám poskytoval Microsoft, když vás špehoval a sledoval všechno, co děláte? Nebojte se. Recall for Linux vám vrátí všechny skvělé funkce Windows Recall, které vám chyběly.
Společnost Fre(i)e Software oznámila, že má budget na práci na Debianu pro tablety s cílem jeho vyžívání pro vzdělávací účely. Jako uživatelské prostředí bude použito Lomiri.
Proběhla hackerská soutěž Pwn2Own Ireland 2025. Celkově bylo vyplaceno 1 024 750 dolarů za 73 unikátních zranitelností nultého dne (0-day). Vítězný Summoning Team si odnesl 187 500 dolarů. Shrnutí po jednotlivých dnech na blogu Zero Day Initiative (1. den, 2. den a 3. den) a na YouTube.
Byl publikován říjnový přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Pracuje se na podpoře M3. Zanedlouho vyjde Fedora Asahi Remix 43. Vývojáře lze podpořit na Open Collective a GitHub Sponsors.
Iniciativa Open Device Partnership (ODP) nedávno představila projekt Patina. Jedná se o implementaci UEFI firmwaru v Rustu. Vývoj probíhá na GitHubu. Zdrojové kódy jsou k dispozici pod licencí Apache 2.0. Nejnovější verze Patiny je 13.0.0.
Než to někdo napíše v diskuzi, tak ano, dnešní doba nahrává spíše cloudovým řešením úložišť. Data jsou takto uložena na jediném místě a problémy se synchronizací jednoduše odpadají. Šikovnější linuxák si takové centrální úložiště zařídí sám, ale co když chceme mít stejná data k dispozici stejně rychle i na odlehlých místech, kde jsme rádi i za „poloviční“ signál a EDGE? Právě tehdy se může šiknout obousměrná synchronizace dat.
Na Unison jsem narazil, když jsem hledal linuxovou alternativu k offline síťovým diskům z Windows, tedy cosi jako offline NFS. Takový pro mě ideální offline síťový disk by pro mě byl zcela transparentně dostupný vždy, ať už jsem online, nebo offline, a po opětovném připojení by nějak došlo k synchronizaci dat. Dobré řešení offline NFS jsem nenašel, Unison je mým požadavkům ale vcelku blízko.
Unison není nic nového. Jak se dozvíte na FAQ projektu, první podoba softwaru byla napsána už v roce 1995 „ve výzkumném jazyce Pict“. Od roku 1998 se vyvíjí současná podoba, taktéž v méně obvyklém jazyce: Objective Caml. K dispozici je pro všechny obvyklé systémy – kromě Linuxu a různých *BSD také na OS X, Solarisu nebo Windows. Na projektu se nadále aktivně pracuje – ještě relativně čerstvou novinkou je kupříkladu frontend v GTK+. Oficiální status sice o aktivnosti vývoje tvrdí něco jiného, ten ale berme spíše jako ujištění, že se jedná o vyzrálý produkt, kam už jen občas přibudou různé vychytávky.
Unison je v základu určen pro synchronizaci dvou umístění. Pokud máme umístění více, pak se logicky nevyhneme centrálnímu místu, kde se naše změny setkávájí – mohl by to být třeba domácí desktop. Je na nás se o vznik a údržbu takového centrálního místa „starat“, jde zkrátka o to všechna místa synchronizovat vůči hlavnímu umístění spíše než nahodile mezi sebou.
Nejprve si fungování Unisonu porovnáme s rsync. Rsync je základním linuxovým nástrojem pro synchronizaci souborů, často slouží v různých mechanismech pro zálohu dat na jiné místo. Unison sice využívá synchronizačních technik z rsync, liší se však v tom, jakým směrem jsou data synchronizována. Rsync totiž vždy synchronizuje data z místa A do místa B (příp. opačně), kdy výsledkem operace je to, že na místě B máme stejná data jako na A.
A v tom je právě problém. Pokud mezitím upravíme soubory (nebo je dokonce přidáme) na místě B, dojde k odstranění těchto změn (v rsync je skutečnému mazání nutno dodatečně pomoci volbou --delete). Výborně nám tedy poslouží k odzálohování dat třeba na domácí server. Kdybychom ale měli třeba jeden velký notebook a jeden netbook a podle potřeby jsme pracovali na jednom nebo druhém stroji, museli bychom pečlivě rsyncovat na „konci pracovního dne“ na druhý stroj vždy ve správném směru. Opomenutí by snadno vedlo ke ztrátě dat.
Lépe jsou na tom systémy VCS, v našem příkladu se dvěma notebooky hlavně ty distribuované (Git, Bazaar, Mercurial...). Zda zvolit VCS či specializovaný nástroj jako Unison, to už nechám na vás. Osobně bych VCS použil například pro /etc na serveru, psát ještě popis commitu po úpravě dokumentu v LibreOffice by se mi ale asi nechtělo.
Základní vlastností Unisonu je to, že kromě dat samotných si stranou uchovává také metadata o tom, v jakém stavu data byla po poslední synchronizaci. Ta mohou být časem trochu objemnější, proto se může hodit vědět, že si je zapisuje do ~/.unison .
Pokud máme na počátku data jen na jednom místě, můžeme je ručně okopírovat na druhé místo, případně to nechat na Unisonu, který nás upozorní na to, že za výchozí stav bude považovat, že nikde nebylo nic a všechny nalezené soubory jsou tedy nové. V této ukázce se omezíme na dva adresáře na stejném systému, vzdálený adresář lze ale snadno synchronizovat zadáním ssh://server/cesta.
# Vytvoříme si dvě místa, která budeme synchronizovat mkdir -p /tmp/unison/desktop mkdir -p /tmp/unison/laptop # Vytvoříme na "desktopu" jeden soubor cd /tmp/unison echo "Hello world" > desktop/hello.txt
Nyní na naše dva adresáře spustíme Unison.
$ unison-2.45 desktop laptop
Contacting server...
Looking for changes
Warning: No archive files were found for these roots, whose canonical names are:
/tmp/unison/desktop
/tmp/unison/laptop
This can happen either
because this is the first time you have synchronized these roots,
or because you have upgraded Unison to a new version with a different
archive format.
Update detection may take a while on this run if the replicas are
large.
Unison will assume that the 'last synchronized state' of both replicas
was completely empty. This means that any files that are different
will be reported as conflicts, and any files that exist only on one
replica will be judged as new and propagated to the other replica.
If the two replicas are identical, then no changes will be reported.
If you see this message repeatedly, it may be because one of your machines
is getting its address from DHCP, which is causing its host name to change
between synchronizations. See the documentation for the UNISONLOCALHOSTNAME
environment variable for advice on how to correct this.
Donations to the Unison project are gratefully accepted:
http://www.cis.upenn.edu/~bcpierce/unison
Press return to continue.
Po odkývnutí počátečního varování už bude o těchto adresářích vědět a přejde k řešení rozdílů mezi adresáři.
Reconciling changes desktop laptop file ----> hello.txt [f]
Zde nám ukazuje, že doporučovanou akcí je okopírovat soubor hello.txt z desktopu na laptop. [f] nám značí, že potvrzením se toto doporučení bude následovat (follow). Po odslouhlasení všech řešení (tentokrát jen jednoho) jsme dodatečně dotázání, zda operaci uskutečnit. Pak už se jde na věc.
Propagating updates UNISON 2.45.4 started propagating changes at 21:35:13.37 on 18 Sep 2012 [BGN] Copying hello.txt from /tmp/unison/desktop to /tmp/unison/laptop [END] Copying hello.txt UNISON 2.45.4 finished propagating changes at 21:35:13.37 on 18 Sep 2012 Saving synchronizer state Synchronization complete at 21:35:13 (1 item transferred, 0 skipped, 0 failed)
Tak a teď jsme začali pracovat na našem fiktivním laptopu a něco jsme do dokumento dopsali. Co na to Unison?
$ echo "Ahoj svete" >> laptop/hello.txt
$ unison-2.45 desktop laptop
Contacting server...
Looking for changes
Reconciling changes
desktop laptop
<---- changed hello.txt [f]
Proceed with propagating updates? [] y
Propagating updates
UNISON 2.45.4 started propagating changes at 21:37:06.45 on 18 Sep 2012
[BGN] Updating file hello.txt from /tmp/unison/laptop to /tmp/unison/desktop
[END] Updating file hello.txt
UNISON 2.45.4 finished propagating changes at 21:37:06.45 on 18 Sep 2012
Saving synchronizer state
Synchronization complete at 21:37:06 (1 item transferred, 0 skipped, 0 failed)
Jak vidíte, Unison změnu zaznamenal a automaticky doporučil překopírování na druhou stranu. Teď Unison pozlobíme trochu víc a uděláme změny v obou souborech:
$ echo "12345" >> laptop/hello.txt $ echo "54321" >> desktop/hello.txt $ unison-2.45 desktop laptop Contacting server... Looking for changes Reconciling changes desktop laptop changed <-?-> changed hello.txt []
Stiskem otazníku se nám zobrazí jednotlivé možnosti řešení. Nejdůležitější volby:
U posledních dvou voleb bych rád zdůraznil, že úpravy na cílové straně jsou ztraceny. Pokud vybereme m(erge) ve výchozím nastavení, tak operace selže, protože nemáme nastaven žádný nástroj pro vícecestný merge. Slučování je operace specifická pro konkrétní formáty dat, proto žádný default. Slučováním se tu zabývat nebudeme, obsáhlý popis najdete v dokumentaci.
Unisonu se dá předávat velké množství voleb. Všechny si snadno rozbrazíte příkazem unison --help, mezi ty základní patří -auto pro automatické přijetí doporučovaných akcí (jinak se potvrzuje klávesou f), -fat pro automatické nastavení voleb vhodných pro synchronizaci se souborovým systémem FAT, -ignore pro přeskočení některých souborů/adresářů nebo -path pro zvolení konkrétních cest mezi dvěma kořeny, které se synchronizovat mají. Volby, u kterých to dává smysl (například poslední dvě zmíněné), lze opakovat.
Zadávat pokaždé ty samé volby by byla otrava, a proto má Unison takzvané profily. Ty se nacházejí v souborech ~/.unison/název_profilu.prf, přičemž výchozí profil je pojmenován default. Jednoduchý profil pro synchronizaci dvou adresářů by mohl vypadat takto:
root = /tmp/unison/desktop root = /tmp/unison/laptop fat = true # Nesynchronizovat otravné *~ soubory ignore = Name *~ # Nesynchronizovat ani další zálohy ignore = Path */backups/*
Synchronizaci v souladu s vybraným profilem pak provedeme takto:
$ unison-2.45 můj_profil
Unison nám může udržovat zálohy předchozích verzí souboru pro případ, že by se nám nějaké sloučení nepovedlo nebo pokud bychom něco někde umazali a pak tomu nasadili korunu tím, že bychom umazaná data nechali sesynchronizovat na druhé místo. Zálohy mohou být uchovávány buď centrálně (tedy v ~/.unison, je to výchozí způsob) nebo lokálně (tedy přímo v adresáři s daty). Zálohu všech souborů lokálně zapneme takto:
backup = Name * backuplocation = local
Šikovná je volba maxbackups, kterou změníme počet uchovávných starých verzí.
Protože věřím, že jsem případné zájemce nalákal natolik, aby si všechny další schopnosti Unisonu nastudovali sami z kvalitní dokumentace, podíváme se už jen zběžně na grafické rozhraní. To se po spuštění zeptá na profil, který chceme používat:
V editoru profilů můžeme nastavit volby profilu (jako jsme si ukázali výše). Na výběr jsou po zobrazení dialogu jen ty nejpoužívanější, jedním klikem se nám pak ukážou úplně všechny. Ke každé volbě je uveden popis, takže nemusíme pokaždé hledat online manuál.
Po výběru (resp. vytvoření) profilu se dostaneme do hlavního okna, kde je zobrazen aktuální stav rozdílů mezi oběma místy. U jednotlivých změn si případně vybereme, co se má udělat, a operace odsouhlasíme kliknutím na Go. I zde si můžeme například naklikat, které soubory se mají ignorovat a tak podobně.
To je všechno. Přeji vám co nejméně konfliktů při synchronizaci!
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
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.4
Taktéž 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.