Podle mě je trochu problematická úvaha, nechci s obnovou strávit celou neděli. Havárie disku je to dost hypotetický scénář a člověk může strávit týden zkoušením obnovy, která proběhne rychle a bez problémů, ale je to scénář aplikovaný jednou za deset let.
Reálně to beru spíš tak, že instalace Linuxu je postradatelná a irelevantní, nějaký seznam balíčků a pak copy&paste sudo rpm install .... řeší dost věcí.
Plus nějaký checklist typu nastavit hostname, povolit něco ve firewallu, loginctl linger username, systemctl enable ... . Pro služby pak mít zálohy podman volume přes podman volume export do taru a nějakých docker compose souborů, případně podman quadlets (dotfiles/.config/systemd/containers). A nezapomenout na podman secrets a .env soubory.
A pak zálohu nějakých pracovních adresářů v home (nebo celého home kromě kontejnerů, které jsou zálohované jinou cestou). Před zálohou je nutné službu zastavit, ale u domácího serveru není problém. Nebo zálohu provést exportem databáze nebo nějakým specifickým příkazem, ale pak není úplně přímočará obnova, zase to třeba umožní migraci na novější verzi.
Ano, pořád je obnova na nějaké nedělení odpoledne nebo tři večery. Ale postup si lze zkusit ve virtuálce a první večer mít obnovené přinejmenším to, co má prioritu. A skoro mezi tím lze přejít na jinou distribuci a/nebo úplně jiný stroj.
Když to shrnu, rozdělit systém na
1. základ (postradatelný)
2. home
3. kontejnery (git, ...)
A u všeho si obnovu zdokumentovat a zkusit. Body 2. a 3. jsou platformě nezávislé a bod 3. se dá řešit po částech. Obnovit základní systém by měla být půl hodina instalace a půlhodina konfigurace dle checklistu.
pro
1. musíte mít
- verzi/variantu OS
- aspoň přibližnou geometrii disku
- zazálohované soubory změněné/vytvořené mimo instalační/up(dat|grad)ovací proces např. repositories
- seznam nainstalovaných aplikací a verzí
- jiné instalční systémy (brew, snap, flatpak, /opt, /usr/local ...) někde stačí seznam aplikací a verzí?
problém je např. /var kde je spousta souborů které seod instalace mění ale jen některé ovlivňují chování nains. aplikací např. /var/www
tak easy to ůplně není ale je to as8 nejschůdnější cesta ...
Ne, vůbec neřeším obnovu 1:1, prostě nějak rozdělím disk, nainstaluji zrovna oblíbený OS a seznam balíčků nebude po nějaké době přesně sedět a mezi distribucemi vůbec. Ale obsahuje 90% toho co jsem potřeboval. Jo, flatpak jsem zapomněl, ale přes ten instaluji tak steam, freecad a tím to asi končí. /var/www neřeším, takové věci jsou v kontejnerech.Gitové repozitáře forgejo kontejner.
Ale tímto stylem zálohy nemají 300GB, které musím každý týden někam zkopírovat, momentálně je to pár instancí nginx, cloudflare tunnel, cloudflare ddns a nějaké databáze plus pár markdown souborů. Nejhorší je /home který nějakých pár set giga má, ale většina dat není důležitých.
Ono nehledě na zálohy je dobré si držet přehled jak co nainstalovat a zprovoznit a kontejnery se mi osvědčily proto, že třeba u Fedory se s upgradem systému skoro vždycky něco rozbije - databáze, verze pythonu pro kterou v říjnu dva týdny po releasu nejsou všechny moduly, ... a tím systém beru jako věc, kterou nemá smysl zálohovat a obnovovat 1:1. Pak mám třeba vývojový kontejner s claude-code, který má asi 5GB v /home, ale celý systém se vygeneruje jedním příkazem z jednoho souboru a má všechny vývojové nástroje, co používám.
Sice data nemám obnovená hned, ale toho, co má smysl zálohovat pravidelně je dost málo - hlavní je git repozitář a někdo tu psal dobrý tip používat na pracovní data syncthing.
Ale tady je to o tom, co má člověk k dispozici, pokud jde záloha na NAS nebo externí disk, tak stovky GB ještě nutně nevadí.