Vývojář Alexandre Gomes Gaigalas na GitHubu zveřejnil c89cc.sh, parser a kompilátor jazyka C89 napsaný v pouhém jediném skriptu o přibližně 8000 řádcích čistého bashe (bez dalších externích závislostí), který generuje ELF64 binárky pro x86-64. Jedná se o velmi jednoduchý kompilátor, který nepodporuje direktivy #include a dokonce ani funkci printf (lze použít puts), všechny dostupné deklarace lze nalézt v proměnné _BUILTIN_LIBC na konci skriptu. Skript je volně dostupný pod ISC licencí.
Francouzská vláda oznámila, že v rámci strategie 'digitální suverenity' zahájí 'přechod od systému Windows k počítačům s operačním systémem Linux' (sa sortie de Windows au profit de postes sous système d'exploitation Linux). DINUM (meziresortní ředitelství pro digitální technologie) požádalo ministerstva, aby do podzimu 2026 vypracovaly konkrétní plány nasazení Linuxu. Francie již dříve migrovala části státní správy na otevřená řešení.
Nezisková organizace Electronic Frontier Foundation (EFF) hájící občanské svobody v digitálním světě po téměř 20 letech opouští platformu X (dříve Twitter). Na platformách Bluesky, Mastodon, LinkedIn, Instagram, TikTok, Facebook, Threads a YouTube zůstává.
Terminálový textový editor GNU nano byl vydán ve verzi 9.0. Vylepšuje chování horizontálního posouvání pohledu na dlouhé řádky a chování některých klávesových zkratek. Více v seznamu změn.
Ministerstvo financí ve spolupráci s finanční správou dnes představilo beta verzi aplikace využívající umělou inteligenci pro předvyplnění daňového přiznání. Není třeba přepisovat údaje z různých potvrzení, ani hledat správné řádky, kam údaje napsat. Stačí nahrát dokumenty a využít AI.
Výrobce počítačových periferií Keychron zveřejnil repozitář se schématy šasi klávesnic a myší. Licence je restriktivní, zakazuje většinu komerčních užití a v podstatě jsou tak data vhodná pouze pro výukové účely, hlášení a opravy chyb, případně výrobu vlastního příslušenství.
Správce balíčků APT, používaný v Debianu a odvozených distribucích, byl vydán ve verzi 3.2 (seznam změn). Mezi novinkami figurují nové příkazy pro práci s historií, včetně vracení transakcí.
Společnost Anthropic oznámila Projekt Glasswing a s ní související AI model Claude Mythos Preview. Jedná se o iniciativu zaměřenou na kybernetickou bezpečnost, do které se zapojily velké technologické společnosti Amazon Web Services, Anthropic, Apple, Broadcom, Cisco, CrowdStrike, Google, JPMorganChase, Linux Foundation, Microsoft, NVIDIA a Palo Alto Networks. Anthropic věří, že nový AI model Claude Mythos Preview dokáže
… více »Firma Ojective Development vydala svůj nástroj pro monitorování a řízení odchozích síťových připojení Little Snitch i pro operační systém Linux. Linuxová verze se skládá ze tří komponent: eBPF program pro zachytávání provozu a webové rozhraní jsou uvolněny pod GNU GPLv2 a dostupné na GitHubu (převážně Rust a JavaScript), jádro backendu je proprietární pod vlastní licencí, nicméně zdarma k použití a redistribuci (cena přitom normálně … více »
Vojenské zpravodajství (VZ) se v březnu zapojilo do mezinárodní operace proti aktivitám hackerské skupiny APT28, která je spojovaná s ruskou vojenskou zpravodajskou službou GRU a která přes slabě zabezpečené routery prováděla kybernetické útoky na státní a další organizace v ČR i zahraničí. Operaci vedl americký Federální úřad pro vyšetřování (FBI) a jejím cílem bylo odebrat útočníkům přístup k napadeným zařízením a ty následně … více »
Pokud nemáte ještě žádný systém zálohování, měli byste o něm rozhodně
uvažovat. V AFS už máte zálohovací systém vestavěný a hodí se pro systematické
zálohování dat uložených na AFS. Zálohovat můžete na pásky nebo na souborový
systém. AFS dumpy se použijí, když chcete integrovat zálohování AFS do
existujícího
systému. AFS vám v takovém případě dodá pouze archiv a jeho správu si
musíte zajistit sami. Backup volumy jsou jednorázová záležitost a doplňují
systém o snadný přístup uživatele k „poslední“ záloze. Zálohovat na úrovni
souborů, například programem tar, není vhodné, protože je nutné
řešit přístup pro čtení dat, uložení oprávnění a nesmíme zapomenout
na mount pointy, které se běžnému programu (i uživateli) tváří jako adresáře.
V tomto díle budeme hlavně zálohovat uživatelský volume. Pokud
chcete vidět, že vám opravdu zálohuje, je vhodné tento
volume trochu zaplnit. Když jsme jej ale zakládali, nenastavili jsme
mu kvótu. Defaultní kvóta je 5000 KB, což dnes není nijak závratná
hodnota. Jako administrátor
(nezapomenout kinit a aklog) svému uživateli
zvýšíme kvótu na 1 GB (zapsat jej musíme v KB):
~$ cd /afs/foo.bar/users/s/svamberg/ /afs/.foo.bar/users/s/svamberg$ fs listquota . Volume Name Quota Used %Used Partition user.svamberg 5000 11 0% 6% /afs/foo.bar/users/s/svamberg$ fs setquota . -max 1000000 /afs/foo.bar/users/s/svamberg$ fs listquota . Volume Name Quota Used %Used Partition user.svamberg 1000000 11 0% 6%
Abychom se nemuseli znova přehlašovat, obejdeme uživatele, jak jsme se to naučili v minulém díle:
/afs/foo.bar/users/s/svamberg$ fs setacl home system:administrators all /afs/foo.bar/users/s/svamberg$ mkdir home/tmp
Do volumu uložíme nějaký obsah, cokoliv, co máme po ruce:
/afs/foo.bar/users/s/svamberg$ cp /boot/* home/tmp cp: omitting directory `/boot/grub' cp: omitting directory `/boot/lost+found'
Dump je jednoduchý způsob, jak si vyrobit zálohu. Zkrátka řeknete AFS, aby vám daný volume zabalil a uložil do jediného souboru. Výsledný soubor není komprimovaný. Je přitom jedno, jestli chcete zabalit RW, RO nebo BK (backup) volume.
Problém tohoto přístupu je, že umí sice provádět inkrementální dumpy,
ale pouze na úrovni souborů. Pokud mu zadáte datum a čas, od kterého
má udělat inkrementální zálohu, pak vos dump zahrne do zálohy
pouze novější soubory (dle času modifikace) než je uvedené datum. Pokud se
tedy ve velkém datovém souboru změnil jen jeden bit, bude ve výsledném dumpu
zahrnut celý soubor. To nemusí být v některých případech nejvýhodnější.
K tomu musíte mít nějaký systém, který vám bude udržovat správu jednotlivých dumpů, zajistí vám návaznost mezi dumpem s plnou zálohou a inkrementálním dumpem. Většinou postačí několik jednoduchých skriptů, kterými mechanismus dumpů navážete na již existující zálohovací systém.
Plnou zálohu volumu vytvoříme snadno:
/afs/foo.bar/users/s/svamberg$ mkdir /tmp/afsdump ; cd /tmp/afsdump /tmp/afsdump$ vos dump -id user.svamberg -file user.svamberg.full Dumped volume user.svamberg in file user.svamberg.full
Pro inkrementální zálohu musíme napřed zjistit čas, provést nějakou změnu ve volumu a vytvořit dump od daného času:
/tmp/afsdump$ date +"%m/%d/%y %H:%M" 04/12/11 23:19 /tmp/afsdump$ cp /etc/motd /afs/foo.bar/users/s/svamberg/home/tmp/ /tmp/afsdump$ vos dump -time "04/12/11 23:19" -id user.svamberg -file user.svamberg.inc
V průběhu provádění zálohy je daný volume uzamčen a nelze do něj zapisovat,
ani nad ním dělat jiné administrátorské úkony. V případě malých volumů to
nevadí, ale u větších by to mohl být problém. Proto existuje přepínač
-clone, který napřed vytvoří klon zálohovaného volumu a tento
klon se následně zazálohuje. Tato volba úplně nevyloučí uzamčení volumu,
ale významně potřebný čas pro zamknutí zkrátí. Vyzkoušíme to tentokrát
na RO volumu:
/tmp/afsdump$ vos dump -id root.afs -file root.afs.full -clone Dumped volume root.afs in file root.afs.full
Pokud chcete vidět rozdíl při vytváření zálohy s klonem a bez něj, použijte
přepínač -verbose, který je dostupný téměř u všech AFS příkazů.
Některé zálohovací systémy mohou vyžadovat alokaci místa pro výsledný dump, například pro zjištění, zda na cílovém médiu je dostatek místa. Musíte tedy nějak zjistit velikost zálohy ještě před zálohováním. To lze snadno zjistit příkazem:
/tmp/afsdump$ vos size -id user.svamberg -dump Volume: user.svamberg dump_size: 8427706
Pro zjištění velikosti inkrementální zálohy stačí přidat parametr
-time jako u vos dump.
K vytvořeným zálohám by uživatelé neměli mít přístup, protože tyto dumpy lze obnovit na lokální souborový systém, kde by neplatila ACL z AFS a tak by se mohli snadno dostat k datům, k nimž nemají mít právo přístupu.
Toto obnovení má několik omezení z povahy rozdílů AFS a lokálních souborových
systémů. Především nelze obnovit přístupová práva, ani mount pointy. Dále mohou
soubory či adresáře přejmenovány, pokud se nenajde jejich umístění, to se může
stát při nesprávném pořadí inkrementů. Detaily o omezeních tohoto "nouzového"
způsobu obnovy jsou v manuálové stránce programu restorevol.
/tmp/afsdump$ restorevol -file user.svamberg.full Restoring volume dump of 'user.svamberg' to directory './user.svamberg'. /tmp/afsdump$ ls user.svamberg/home/tmp/ System.map-2.6.36-trunk-amd64 initrd.img-2.6.36-trunk-amd64 config-2.6.36-trunk-amd64 vmlinuz-2.6.36-trunk-amd64
Přidaný soubor motd samozřejmě chybí, měl by ale být v
inkrementální záloze:
/tmp/afsdump$ restorevol -file user.svamberg.inc Restoring volume dump of 'user.svamberg' to directory './user.svamberg'. An incremental dump. /tmp/afsdump$ ls user.svamberg/home/tmp/ System.map-2.6.36-trunk-amd64 motd config-2.6.36-trunk-amd64 vmlinuz-2.6.36-trunk-amd64 initrd.img-2.6.36-trunk-amd64
Pokud si rozbalíte inkrementální zálohu samostatně zjistíte, že
se v ní nachází celá adresářová struktura volumu a přidaný soubor motd:
/tmp/afsdump$ restorevol -file user.svamberg.inc -extension .test Restoring volume dump of 'user.svamberg' to directory './user.svamberg.test'. An incremental dump. /tmp/afsdump$ find user.svamberg.test user.svamberg.test user.svamberg.test/public user.svamberg.test/public/project user.svamberg.test/home user.svamberg.test/home/tmp user.svamberg.test/home/tmp/motd user.svamberg.test/mail
Pokud nevíte co se v daném dump souboru nachází,
použijte utilitku file:
/tmp/afsdump$ file user.svamberg.inc user.svamberg.inc: AFS Dump (v1) Vol 536870921, user.svamberg on: Tue Apr 12 20:50:44 2011 incremental since: Tue Apr 12 23:19:00 2011
Dump je samozřejmě vhodnější obnovit do AFS stromu, aby nám zůstaly zachovány všechny informace. Nejlepší volbou je rozbalení požadované zálohy jako nový volume, protože tak nepoškodíme to, co uživatelovi ještě zůstalo v jeho volumu. On by měl nejkvalifikovaněji rozhodnout, zda data ze zálohy jsou použitelná, nebo se spokojí s tím, co už si v domovském adresáři napáchal. To se samozřejmě netýká případů, kdy obnovujeme data po hardwarových problémech.
Dohodneme se, že uživatelské volumy budeme obnovovat ze záloh s prefixem
tmp.. Tak poznáme, k jakému volumu se vztahuje a zároveň
se nám v budoucnu nebude plést mezi regulérní volumy. Pro obnovu musíme
uvést, na jakém serveru a partition se má nový volume vytvořit.
/tmp/afsdump$ vos restore -server afsfs.foo.bar -partition a -name tmp.user.svamberg -file user.svamberg.full
Restoring volume tmp.user.svamberg Id 536870942 on server afssrv.foo.bar partition /vicepa .. done
Restored volume tmp.user.svamberg on afsfs.foo.bar /vicepa
/tmp/afsdump$ vos examine tmp.user.svamberg
tmp.user.svamberg 536870942 RW 8231 K On-line
afssrv.foo.bar /vicepa
RWrite 536870942 ROnly 0 Backup 0
MaxQuota 1000000 K
Creation Wed Apr 13 00:26:29 2011
Copy Wed Apr 13 00:26:29 2011
Backup Tue Apr 12 20:50:44 2011
Last Access Tue Apr 12 22:43:46 2011
Last Update Tue Apr 12 22:39:20 2011
0 accesses in the past day (i.e., vnode references)
RWrite: 536870942
number of sites -> 1
server afssrv.foo.bar partition /vicepa RW Site
Nově vzniklý volume můžeme uživateli připojit do jeho domovského adresáře:
/tmp/afsdump$ fs mkmount /afs/foo.bar/users/s/svamberg/restore tmp.user.svamberg /tmp/afsdump$ ls /afs/foo.bar/users/s/svamberg/restore/home/tmp/ System.map-2.6.36-trunk-amd64 initrd.img-2.6.36-trunk-amd64 config-2.6.36-trunk-amd64 vmlinuz-2.6.36-trunk-amd64
V cestě je vidět celá struktura volumu, vyjma inkrementu, ten budeme aplikovat
s parametrem -overwrite incremental:
/tmp/afsdump$ vos restore -server afsfs.foo.bar -partition a -name tmp.user.svamberg -file user.svamberg.inc -overwrite incremental Restoring volume tmp.user.svamberg Id 536870942 on server afssrv.foo.bar partition /vicepa .. done Restored volume tmp.user.svamberg on afsfs.foo.bar /vicepa /tmp/afsdump$ ls /afs/foo.bar/users/s/svamberg/restore/home/tmp/ System.map-2.6.36-trunk-amd64 motd config-2.6.36-trunk-amd64 vmlinuz-2.6.36-trunk-amd64 initrd.img-2.6.36-trunk-amd64
A teď záleží na tom, jak jsou vaši uživatelé spolehliví a nezačnou tento nový RW volume používat k odkládání. Takže důrazně informovat, aby daný volume nezneužíval. Je sice možnost snížit kvótu nebo odebrat právo pro zápis, ale to může vadit aplikacím, které uživatel může používat pro zpracování dat. Z výukových důvodů se podíváme, jak vypadá přetečená kvóta:
/tmp/afsdump$ fs setquota /afs/foo.bar/users/s/svamberg/restore/ 5000 /tmp/afsdump$ fs listquota /afs/foo.bar/users/s/svamberg/restore/ Volume Name Quota Used %Used Partition tmp.user.svamberg 5000 8232 165%<< 6% <<WARNING
Nepoužívejte velikost kvóty 0 (nula), protože to znamená
neomezenou kvótu.
OpenAFS podporuje tzv. negativní práva, tedy že někomu něco odpírá. Toho lze právě využít k odepření zápisu, aniž bychom museli nějak upravovat normální práva. Používat negativní oprávnění se však pro běžné případy nedoporučuje.
/tmp/afsdump$ cd /afs/foo.bar/users/s/svamberg/restore
/afs/foo.bar/users/s/svamberg/restore$ find . -noleaf -type d -exec fs setacl -dir {} -acl svamberg w -negative \;
/afs/foo.bar/users/s/svamberg/restore$ fs listacl home
Access list for home is
Normal rights:
system:administrators rlidwka
svamberg rlidwka
Negative rights:
svamberg iw
Nastavíme zpátky kvótu, protože jinak by nás odepřela ještě před testem práv. Pak se můžeme přihlásit jako uživatel a zkusit zapsat do souboru:
/afs/foo.bar/users/s/svamberg/restore$ fs sq . 1000000 /afs/foo.bar/users/s/svamberg/restore$ kinit svamberg Password for svamberg@FOO.BAR: /afs/foo.bar/users/s/svamberg/restore$ aklog /afs/foo.bar/users/s/svamberg/restore$ echo "xxx" >> home/tmp/motd bash: home/tmp/motd: Permission denied
Protože jsme neudělali negaci oprávnění pro mazání 'd', tak soubory odstraňovat můžeme:
/afs/foo.bar/users/s/svamberg/restore$ rm -f home/tmp/motd
Stejně nejlepší strategií je pohrůžka, že zítra ta záloha už připojená nebude. Je to bez práce a naprosto funkční řešení. My si ale volume ponecháme ještě na nějaké hraní do příštího dílu.
Nezáleží na tom, z jakého typu volumu (RW, RO, BK) byl dump vytvořen, vždy se bude obnovovat do RW volumu.
Zálohování do souborů je relativně jednoduchý způsob, ke kterému vám
stačí oprávnění administrátora a nemusíte v AFS nic konfigurovat. Oproti
tomu, musíte navázat externí zálohovací mechanismy minimálně na příkaz
vos dump a je vhodné zajistit kompresi výsledného souboru.
Občas mohou nastat situace, že se vám bude hodit vytvořit jen jednorázový dump, například před operací s volumem, kde si nejste jisti výsledkem. V přístím díle budeme v zálohování pokračovat, tentokrát budeme vytvářet BK volumy a postaráme se, aby zálohování probíhalo automaticky.
Díly o zálohování mi zkontroloval a připomínkoval Olda Balák, velmi děkuji.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: