Před 25 lety zaplavil celý svět virus ILOVEYOU. Virus se šířil e-mailem, jenž nesl přílohu s názvem I Love You. Příjemci, zvědavému, kdo se do něj zamiloval, pak program spuštěný otevřením přílohy načetl z adresáře e-mailové adresy a na ně pak „milostný vzkaz“ poslal dál. Škody vznikaly jak zahlcením e-mailových serverů, tak i druhou činností viru, kterou bylo přemazání souborů uložených v napadeném počítači.
Byla vydána nová major verze 5.0.0 svobodného multiplatformního nástroje BleachBit (GitHub, Wikipedie) určeného především k efektivnímu čištění disku od nepotřebných souborů.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube).
Provozovatel čínské sociální sítě TikTok dostal v Evropské unii pokutu 530 milionů eur (13,2 miliardy Kč) za nedostatky při ochraně osobních údajů. Ve svém oznámení to dnes uvedla irská Komise pro ochranu údajů (DPC), která jedná jménem EU. Zároveň TikToku nařídila, že pokud správu dat neuvede do šesti měsíců do souladu s požadavky, musí přestat posílat data o unijních uživatelích do Číny. TikTok uvedl, že se proti rozhodnutí odvolá.
Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.
Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.
V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.
Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).
Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
Zdravím,
jak většina z vás ví, pořizuji si nový desktop. Stávající jsem už prodal, ale než jsem to udělal, udělal jsem si Clonezillou zálohu. Disk byl rozdělen takto:
sda 500 GB sda1 500 MB EFI FAT sda2 100 GB /rootfs LUKS + LVM ext4 sda3 zbytek /data LUKS Btrfs
Teď si chci pořídit NVMe 1 TB a mám to namyšleno takto:
sda 1 TB sda1 1 GB EFI FAT sda2 200 GB /rootfs (@/ + @/home) LUKS Btrfs sda3 zbytek /data LUKS Btrfs
Mám takovou představu, že bych tu zálohu obnovil na sekundární HDD, pak bych na tom NVMe vytvořil 1 GB EFI oddíl, 200 GB LUKS+Btrfs oddíl a zbytek ~800 GB LUKS+Btrfs /data oddíl pro oddělená data. A pak bych zkopíroval EFI z HDD na NVMe a stejně tak i /rootfs. Chci se zeptat, jestli to nějak půjde zrealizovat? Pokud ano, byl bych rád, kdyby mi sem někdo napsal seznam všech kroků a já už bych si s tím snad nějak poradil.
A jak by to bylo s vytvořením subvolumes @/ a @/home?
Ještě jsem si uvědomil, že jsem zapomněl na swap, takž bych na NVMe místo 200 GB oddíl udělal 250 GB oddíl a vytvořil tam 50 GB swap.
@Andrej z Mordoru:
Dělit rozhodně budu.
sda1 (600MB) /boot/EFI (FAT32 EFI) sda2 (600MB) /boot sda3 (luks)Vytvoříš LUKS, ten si pak otevřeš/odemkneš jako např. "datastore" (= /dev/mapper/datastore). A ten datastore pak naformátuješ na btrfs.
... /dev/mapper/datastore / btrfs defaults,subvol=system 0 0 /dev/mapper/datastore /home btrfs defaults,subvol=home 0 0 ...btrfs podporuje swap, takže pokud budeš chtít swap, tak si vytvoř soubor na btrfs a vypneš u něj CoW:
fallocate /swap.img -l 4g chattr +C /swap.img mkswap /swap.imgV rámci grubu si pak ještě uprav default settings:
# /etc/default/grub ... GRUB_ENABLE_CRYPTODISK=y ...Já používám arch linux, tam je třeba ještě říci, co vše má být součástí intramdisku + následně jej přegenerovat
#/etc/mkinitcpio.conf ... HOOKS="base udev autodetect keyboard keymap consolefont modconf block encrypt lvm2 filesystems mdadm_udev" ...Pokud by tvá deska měla problém najít na EFI partition tvůj zavaděč (grubx64.efi), tak máš dvě možnosti řešení:
Já si nemyslím, že je to nesmysl. Možná mi ale něco uniká. Když pominu EFI, mám teď 2 oddíly - /rootfs a /data. Oba jsou šifrované. Už se mi několikrát stalo, že jsem musel obnovit OS a data tak zůstala v bezpečí. Samozřejmě je mám několikrát zálohovaná, ale i tak mi přijde lepší obnovovat 100 GB, než 500 GB. A u NVMe 1 TB by to byl 1 celý TB. Zálohy chci verzovat. Pořizuji si na to 4 TB HDD. Když budu mít 3 poslední verze zálohy OS, tak to je velký rozdíl, když budou zabírat 600 GB, nebo 3 TB. Na ten disk se ještě musí vejít verzované zálohy nb, RPi, OS na flešce a ještě i data. Nepřijde mi to takto špatné. 800 GB na data mi stačí a kdybych nedělal ten swap, tak 200 GB na systém + snapshoty by mělo stačit.
Tak to zní zajímavě. Pokud by to tak bylo, tak to by bylo super.
A nešlo by mít cíle dva, na první s Btrfs posílat inkrementální snapshoty a z něj rsyncovat na druhý cíl např. se ZFS?
nechci mít kernel na blbý FATce
Kvůli právům, nebo proč?
cryptsetup
klíč do slotu LUKSu specifikuješ -i
čas, ve kterém má strávit iteriacemi PBKDF2 než z hesla otevře master key. ten čas se počítá s HM podporou, kterou cryptsetup samozřejmě dělá, grub ji nemá, tak to počítá dlouho. Já to řeším tak, že mám iterace krátké a dlouhé hesla. Pro hlavní disky 30+ znaků. když máš komplexitu v hesle útočníkovi by stejně rychle vyhodnocování nepomohlo.
Já používám heslo o délce 35 znaků. Jakou hodnotu by bylo dobré nastavit pro tu iteraci?
O Sicherbootu jsem v dotazu nic nepsal, ale Radek ví, že jej chci. Pokud tedy půjde na novém desktopu zprovoznit. Na nb se mi to nepovedlo/nejde to.
* https://askubuntu.com/questions/148662/how-to-get-grub2-to-remember-last-choice
* https://forum.manjaro.org/t/grub-error-sparse-file-not-allowed/20267
GRUB_SAVEDEFAULT=true
This will only work if /boot is not a btrfs, because grub cannot write to btrfs.
But it will generate a misleading error message: "sparse file not allowed. Press any key to continue.".
Co to je za blbost?!
Ta u *buntu je možné všechno, že. Ale rozhodně to není problém Grubu.
To ovšem není problém Btrfs.Jo a na tom tebou odkazovaném serveru je expirovaný certifikát.
Jo a na tom tebou odkazovaném serveru je expirovaný certifikát.Já vím. Je to shoda náhodu, ale zrovna dnes ho budu přesouvat na jinou doménu a IP adresu, takže řešit nový certifikát pro stávající doménu nemělo smysl.
Ovšem to je tak specifické nasazení, které si vyloženě říká o oddělený logický oddíl s grubem.Já na těch routerech používám debian live, takže moje instalace je miniaturní (flash) disk s ext2, adresář s grubem a adresář s live debianem, ve kterém jsou asi 4 soubory. V případě reinstalace byly ty debianí adresáře dva, stará a nová instalace. Oddělený grub by tam také vlastně mohl být. Tak to používám všude jinde.
Pro flash disk nedává Btrfs také smysl. Není to SSD disk. Řešil bych to asi tak, že bych přes loop spouštěl squashované instalace, přeplácnuté RAM diskem. Ale to je možná tak jak to máš.Přesně tak. To už není o btrfs. Moje instalace debianu live jsou dva soubory - vmlinuz a initramfs. To je celý systém. Základní konfigurace (to je ta, aby se na to dalo aspoň přihlásit) je v grubu v parametrech předávaných jádru. Provozní konfigurace je ve squashfs souboru a celé je to spojeno do ramdisku, takže se do toho dá zapisovat. Ale konfigurace se ukládá jenom zcela výjimečně, ručně.
mkfs.btrfs
a připojení se to prostě tváří jako kterýkoliv jiný FS, "system rootfs" subvolume není potřeba speciálně vytvářet, už tam prostě je.
Potom si tam můžeš vytvářet další subvolume jednoduše pomocí btrfs sub create
a chovat se k nim prostě jako k adresářům. Vůbec není potřeba je pojmenovávat nějak extra nebo je někam připojovat ve fstabu. Toto je asi nejzákladnější rada. Kdykoliv cítíš potřebu, že s tím adresářem budeš pracovat jako s nějakým celkem, budeš jej chtít snapshotovat nebo samostatně zálohovat (btrfs send
), tak místo mkdir
prostě použij btrfs sub create
.
Tj já to dělám tak, že nechám OS nainstalovat na jeden btrfs oddíl (tj disk je rozdělen na boot, efi a zbytek pro btrfs) a potom si tam vytvořím subvolume pro /data /data/projekty /data/projekty/project1 - projectX
- co projekt, to subvolume. S tím, že potom mám jejich samostatné snapshoty automaticky vytvářené tak často, jak chci.
/home
nedává sám o sobě smysl (ale klidně může být), daleko užitečnější jsou subvolume homes jednotlivých uživatelů. Tj po instalaci si vytvořím uživatele tomas a za jeho home zvolím předem manuálně připravenou subvolume /home/tomas
.
To znamená, že ve fstabu je pro btrfs jeden řádek. Ten původní, který tam vytvořil instalátor. Přesto mám tisíce subvolumes.
Ve vytváření subvolumes někde bokem a jejich mountování každé zvlášť nedává příliš smysl. Ano, může to mít výhody v tom, že si zvolím speciální mount parametry, ale to jednak není příliš časté, ale hlavně to můžu udělat i v tom mém případě výše, pokud se pro to rozhodnu.
Swap nepoužívat. Nevím, co s tím zrovna v roce 2021 všichni začínají blbnout (viz i jiné diskusní vlákno), swap nepoužívám nikdy a nikde už 10+let. Základem je dostatek paměti, což podle ostatních diskusních vláken ty budeš hravě splňovat. Ono i to nvme je 20x pomalejší, než ramka. A nechat 50GB programů žít ve swapu, to stejně nepojede.
Takže za mě, zálohovat si ta data z té ext4 někam, nechat OS nainstalovat na jeden btrfs oddíl (a čím jednodušeji, tím lépe, tj ať se k tomu chová jako ke starému dumb fs) a rozdělit si to na subvolume podle libosti a nahrát si data tam kam patří. Za mě je to nejjednodušší cesta, která ponechává adminovi největší svobodu.
Ale pak jsem přemýšlel nad tím, jak budu dělat časové snapshoty, případně se k nim vracet a co to udělá s tou nested strukturou,Můžeš to trochu rozvést v čem jsou pro tebe snapshoty lepší na Flatu než na Nested. Chci taky přecházet na btrfs a zajímají mě různé pohledy, abych si udělal představu jak to chci používat. Dík.
No především jsem nepochopil, kam v nested struktuře budu dělat snapshoty rootfs.Úplně stejně jako kteréhokoliv jiné. rootfs je subvolume vytvářená
mkfs.btrfs
, subvolid 5. To nás ale nemusí zajímat. Lze udělat snapshot:
btrfs sub snap / /snap/2021-02-25_rootfsa tento si potom někam poslat (
btrfs send
)
Potom, když tohle někde rozbalím (btrfs receive
), tak získám stejný obraz rootfs jako na zdrojovém disku.
Btrfs neumí dělat rekursivní snapshoty, takže tímto způsobem vznikne skutečně jen záloha rootfs a všechny subvolume v ní budou prázdné. Proto taky můžu bez problémů dělat snapshot subvolume a pojmenovat ji cestou do této subvolume (tj / snapshotuju do /snap a není to problém).
Tj potom si tam ještě musím obnovit /home/tomas
apod. Tj mám nezávislé zálohy rootfs a homes.
Ano, tady má jistou výhodu flat nebo mixed (ono je to reálně stejně všechno mixed) struktura, protože tam si můžu zvolit který rootfs chci zrovna namountovat a všechny ostatní subvolume se mi budou stále mountovat správně, protože mají svůj záznam v fstabu. Ale to u nested zvládnu taky, btrfs si umí zvolit default subvolume pro rootfs, od výroby je to subvolid5, ale lze to změnit pomocí btrfs sub set-default
.
Ono je to taky o tom, co od toho kdo očekává. Já jsem rootfs nikdy neobnovoval a k vůli tomu btrfs ani nemám. Btrfs mám pro data a možnost si snadno vytáhnout mnou smazaný soubor z půlnočního snapshotu. Ještě nikdy se mi os nerozbil tak, abych musel obnovovat rootfs z image a kdyby to nastalo, tak to asi stejně nainstaluju znovu, protože po 10+letech si to ten os stejně zaslouží.
"btrfs sub set-default"
jsem neznal.
Taky běžně nerozbíjím rootfs, abych nutně potřeboval bootovat z posledního snapshotu. Ale občas se mi při upgradu distribuce novou instalací hodí, že mohu bootovat starou i novou verzi. A když to pak použiji, tak prostě potřebuji mít ve fstabu na správné místo připojené správné subvolumy, takže tam těch několik řádků je. A v nested struktuře bych měl maglajs.
Mimochodem, jak se tady jinde píše o odděleném /boot. Boot se mi osvědčil jako součást rootfs, ale používám oddělený grub.
btrfs subvolume list / ID 256 gen 7182 top level 5 path home ID 258 gen 3948 top level 5 path root ID 265 gen 3907 top level 258 path root/var/lib/machines ID 267 gen 3944 top level 258 path root/.snapshots ID 268 gen 1434 top level 267 path root/.snapshots/1/snapshot ID 275 gen 3375 top level 267 path root/.snapshots/2/snapshot ID 276 gen 3387 top level 267 path root/.snapshots/3/snapshot ID 277 gen 3822 top level 267 path root/.snapshots/4/snapshot ID 278 gen 3942 top level 267 path root/.snapshots/5/snapshot ID 279 gen 3596 top level 267 path root/.snapshots/6/snapshot ID 280 gen 3691 top level 267 path root/.snapshots/7/snapshot ID 281 gen 3905 top level 267 path root/.snapshots/8/snapshot ID 282 gen 3942 top level 267 path root/.snapshots/9/snapshot ID 283 gen 7182 top level 267 path root/.snapshots/10/snapshot
cat /etc/fstab UUID=d34ba215-514d-4a13-90c5-df0d5b40b4ae / btrfs subvol=root,x-systemd.device-timeout=0 0 0 UUID=2033a11a-4a29-46de-80ca-d47d1c1c1572 /boot ext4 defaults 1 2 UUID=46AB-E178 /boot/efi vfat umask=0077,shortname=winnt 0 2 UUID=d34ba215-514d-4a13-90c5-df0d5b40b4ae /home btrfs subvol=home,x-systemd.device-timeout=0 0 0
btrfs subvol list / | cut -f9 -d' ' | sed -e 's/^/ROOT\//' | paths2indent | indent2tree ROOT ├── home └── root ├── var │ └── lib │ └── machines └── .snapshots ├── 3 │ └── snapshot ├── 9 │ └── snapshot ├── 2 │ └── snapshot ├── 1 │ └── snapshot ├── 7 │ └── snapshot ├── 5 │ └── snapshot ├── 10 │ └── snapshot ├── 8 │ └── snapshot ├── 6 │ └── snapshot └── 4 └── snapshotChápu správně, že to je Flat struktura? PS: Poslední script je odtud.
/var/lib/machines
), tak jednotlivé kontejnery budou na subvolume a nepřepokládám, že by to pro každý z nich vytvářelo řádek v fstabu.
OT: Mimochodem, tohle je taky docela sranda, když jsem přenášel kontejnery pomocí příkazů machinectl export-tar, import-tar
, tak při importu zatarovaného kontejneru na nový stroj, kde nebyl btrfs (schválně), tak vytvořil image na disku, naformátoval jako btrfs a namountoval právě do /var/lib/machines
. Což je docela úsměvné, protože nspawn vůbec nevyžaduje btrfs a kontejner vesele běží normálně z adresáře. Ale nástroje tvrdošíjně vytvářejí btrfs i takto podivným způsobem. Takže jsem to nakonec přenesl jako soubory a normálně pustil.
ale přestal jsem mít přehled co jsou adresáře a co subvolumy.Toho se taky obávám. Když Heron psal, že subvolume je adresář s výhodami, tak to znělo lákavě, ale mít úplně pomíchané subvolume a obyč. adresáře by asi byl zmatek.
třeba je speciálně nazveš (@ na začátku)Ano, asi je to pro rychlou přehlednost nejjednodušší varianta.
- ze /data/neco je mountpoint z subvolumeNo šak ani mountpointy by se neměly vytvářet bezhlavě po celém disku. Pro pořádek je taky lepší je dávat třeba do /mnt nebo do /home/user. Vlastně si nevzpomínám, že bych někdy vytvářel mountpoint jinde než na těch dvou místech.
Já datový oddíl připojuji do /data, protože podle dokumentace se do /media připojují flešky, ext. HDD atp (ikona na ploše) a /mnt slouží pro dočasné připojení třeba adresářů. A protože se mi datový oddíl připojuje automaticky po startu a je připojen celou dobu, ani jeden z těch dvou přípojných bodu se pro připojení nehodí.
zfs send
)
Tj mám jednotlivé homes jako suby, potom jednotlivé projekty jako suby, potom jednotlivé nwpawn kontejnery jako suby, potom pro každou skupinu dat jako sub apod. Tj ty subvolume mám na celkem očekávatelných místech, kde jsem si je takto vytvořil.
K tomu mám v cronu (systemd.timeru) skript, který každou půlnoc udělá denní snapshoty v každém tom jednotlivém umístění subvolume. Tj mám /home/.snap/2021-02-24_tomas, kde je snapshot mého home vzhledem k tomu, že se mi to nechce mazat, tak to mám až do roku 2019). A totéž pro kontejnery a projekty. Tj každou noc se vytvoří několik desítek snapshotů. (Ano, píšu noc, protože toto mám na domácním servříku, ale to je jedno.)
Předpokládám, že i s obyč. adresáři nemáš data náhodně rozsypaná po disku, ale místo toho máš třeba něco jako workplace s projekty (nebo já nevím co děláš, tj pouze příklad). Vlastně se to dá říct i jinak, tam, kde pro malé věci používám git, tak pro velké používám btrfs. A projekty v gitu taky nemám na náhodných místech, ale v adresáři ~/git, golang věci v ~/go apod.
Asi je lepší si to fakt zkusit, věnovat tomu jeden víkend, a přijdeš na to rychleji než z popisu v diskusi.
Ale já nenavrhuju náhodně míchat adresáře a subvolume.Já vím, ale jak jsi to srovnával s adresářem, tak to ve mne vyvolalo dojem, že pokaždé když budu chtít nad jakýmkoliv adresářem dělat hokus-pokusy, tak z něj vytvořím subvolume, ale teď už si uvědomuji, že v tom musí být nějaký řád.
jednotlivé projekty jako subyJen se ještě zeptám. Jakou má výhodu mít jednotlivé projekty jako suby a nemít jen nadřazený adresář jako sub? Pokud se ti dělají snapshoty cronem, tak u vytváření snapshotů to asi žádnou výhodu nemá, takže to asi má výhodu jen při obnovování subvolume ze snapshotu ze zálohy z důvodu, že je to rychlejší?
Jen se ještě zeptám. Jakou má výhodu mít jednotlivé projekty jako suby a nemít jen nadřazený adresář jako sub? Pokud se ti dělají snapshoty cronem, tak u vytváření snapshotů to asi žádnou výhodu nemá, takže to asi má výhodu jen při obnovování subvolume ze snapshotu ze zálohy z důvodu, že je to rychlejší?Tak jde hlavně o pořádek. Když v archivu najdu zálohu pojmenovanou 2016-02-26.nspawn.gallery2.btrfs(.xz), tak vím přesně co to obsahuje. Když tam budu mít 2016-02-26.kontejnery.btrfs, tak mi to vůbec nic neřekne. Nehledě na to, že obsah toho hlavního adresáře se může neustále měnit (a taky se mění), takže zálohovat prostě jen "projekty" nemá smysl, protože záloha "projekty" teď a za týden může obsahovat zcela jiné věci. Je to zkrátka něco podobného jako u git repositáře, tam by měly být také pouze věci týkající se nějakého celku a nic navíc. Navíc ty snapshoty se nemusí vytvářet jen cronem. Pokud na něčem dělám "hokus-pokusy", tak si vytvářím po každém kroku snapshot. Tj každý projekt má jinou granularitu snapshotů. Ty lze navíc nezávisle mazat, takže u některých projektů je klidně promažu více, u některých si třeba chci nechat delší historii. Je to velmi užitečné u těch kontejnerů, protože když něco testuju a instaluju neznámou appku, tak si po každém kroku udělám snap, kdybych něco zvojtil, tak ať se můžu snadno vrátit.
(Toto je další důvod pro použití subvolume: pokud vím, že budu pracovat s velmi mnoha soubory, tak je lepší to potom smazat jako celek, protože na rm bych taky mohl čekat několik dnů.)Takže už začínám chápat, že subvolume pro jednotlivé projekty má i jiné výhody než jen při snapshotech.
swap pouzivam protoze hibernuju na diskOK. Já ne, protože:
$ systemd-analyze Startup finished in 4.671s (kernel) + 3.078s (userspace) = 7.749s graphical.target reached after 3.066s in userspaceVe skutečnosti mnohem déle trvá POST (a grub) než samotný boot linuxu a všechny programy, které používám, si pamatují předchozí session, takže to není žádný problém. Zapnu PC a do 20s jsem na pracovní ploše. Start FF se všemi taby netrvá ani 2s. A kdyby se mi chtělo, tak si v i3wm nastavím start všech základních programů, které obvykle používám. Problém je v tom "obvykle". Obvykle ani nechci startovat do stavu, v jakém jsem to vypínal (tj hibernoval).
s pristupem nic nemountovat a vytvaret subvolumes primo v miste kde je chci, je zajimave info dikyDyť to takhle píšu už od roku 2011...
existuje pak nejakej zpusob (bez skriptovani) zobrazit kde jsou jake subvolumes v ramci celeho stromuSeznam subvolumes je
btrfs sub list /path
, má to milion přepínačů a ve skutečnosti to pouštím pouze tehdy, kdy se někdo zeptá na podobnou otázku, tj ve skutečnosti jsem to nikdy nepotřeboval. Subvolumes vytvářené "jako adresáře" se nikdy neztratí z dohledu, vždy budou viditelné na nějaké cestě, kde to uživatel buď vytvořil nebo následně přejmenoval.
ad oddelenem boot, psal sem se uz nahore Maxe, ale zeptam se i tebe, PROC oddelenej boot?Ve skutečnosti to až tak moc neřeším, takže nejlepší odpověď je že nevím, ale mám dual boot (widle) a nevím, jestli by to šlo nějak vyšperkovat a upřímně v tom ani nevidím přínos. Dual boot funguje, instalátor to správně detekoval, víc neřeším.
Subvolumes vytvářené "jako adresáře" se nikdy neztratí z dohledu, vždy budou viditelné na nějaké cestě, kde to uživatel buď vytvořil nebo následně přejmenoval.Jsem zvyklý používat Thunar, tak se chci zeptat jestli existuje nějaký grafický správce souborů ve kterém by byly graficky odlišené obyčejné adresáře a subvolumes, abych třeba věděl zda pro daný "adresář" mohu vytvářet snapshoty. Předpokládám, že ve správci souborů nepůjde subvolumes smazat jako běžný soubor, ale bude se to muset dělat třeba přes Service Menu, které je např. v Doplhinu.
Nebo prostě v názvu použít na začátku "@".
Jsem zvyklý používat Thunar, tak se chci zeptat jestli existuje nějaký grafický správce souborů ve kterém by byly graficky odlišené obyčejné adresáře a subvolumesNevím o tom (což neznamená, že neexistuje). Já pracuju více na řádce.
abych třeba věděl zda pro daný "adresář" mohu vytvářet snapshotyTak asi je lepší udržovat strukturu dat tak, aby to bylo zcela jasné. Ono zase vytvářet subvolume bezhlavě kdekoliv nemá moc smysl.
Předpokládám, že ve správci souborů nepůjde subvolumes smazat jako běžný soubor, ale bude se to muset dělat třeba přes Service Menu, které je např. v Doplhinu.Ano.
Díky za perfektní komentář a vysvětlení.
Mě není jasné, kdy/jak se subvolumes vytváří. Nainstaluji OS tak, jak to udělá instalátor Mintu. Ten při použití Btrfs udělá @/ a @/home (@ nechme stranou). A já teď v tom čerstvě nainstalovaném OS smažu vše v @/ a zkopíruji tam vše ze zálohy kromě /home? A do @/home pak ten obsah /home? A kdybych chtěl např. subvolume @/opt, tak bych při kopírování / ze zálohy do @/ vynechal ještě /opt a pak vše z /opt zkopíroval do @/opt? Chápu to správně?
A jak to vlastně kopírovat. Asi to bude rsync skoro se všemi parametry co existují, co? Já na vše používám pouze sudo cp -a
a to by v tomto případě asi nestačilo.
Mě není jasné, kdy/jak se subvolumes vytváří.rootfs subvolid 5 se vytvoří při
mkfs.btrfs
. Další subvolume vznikají příkazem btrfs subvolume create
(příkazy lze zkracovat, takže lze psát btrfs sub create
apod.).
Co vytváří instalátor Mintu nevím, k tomu se nebudu vyjadřovat.
A já teď v tom čerstvě nainstalovaném OS smažu vše v @/ a zkopíruji tam vše ze zálohy kromě /home? A do @/home pak ten obsah /home? A kdybych chtěl např. subvolume @/opt, tak bych při kopírování / ze zálohy do @/ vynechal ještě /opt a pak vše z /opt zkopíroval do @/opt? Chápu to správně?No já asi nechápu co má být cílem? Nainstalovat OS a potom všechno smazat a kopírovat tam cosi jiného je přece zbytečný krok. Stejně nakonec budeš muset řešit boot. Takže jestli to chceš řešit takto kompletně manuálně, tak si můžeš vytvořit čistý btrfs, tam si nakopírovat OS (a přesně jak píšeš, pořešit práva a xattr apod, takže správně nastavený
rsync
), ten kopírovaný OS musí být připraven na boot z btrfs, to znamená, že v initrd už musí být schopen namountovat btrfs. A následně ještě pořešit boot.
Jako nevím, proč to dělat takto složitě, není jednodušší si nainstalovat čistý OS a nastavit si vše znovu i podle zálohy? Tj některé konkrétní konfiguráky si vzít ze zálohy /etc
, home si tam nakopíruješ asi celý apod.
@Andrej z Mordoru:
Dělit rozhodně budu.
Chyba. Ale když už, doporučuji aspoň udělat tu menší z možných chyb: Swap má být soubor, ne oddíl. Swapovací soubor je nesrovnatelně flexibilnější.
Kromě toho bych poznamenal, že v posledních cca 10 letech jsem swap nepoužil a nepotřeboval, protože:
K prvnímu tvrzení výše bych rád dovysvětlil, že swapovací soubor nebo oddíl se v kofiguraci kernelu (celkem správně) jmenuje paging of anonymous memory. To ale znamená, že nenanonymní paměť, tj. ta, která pochází z mmap()
a která má za prdelí úložiště (ve kterém je mmap()
ovaná binárka, (kni)hovna nebo soubor, ke kterému se přistupuje přes mmap()
(tj. každý soubor; kernel nemanipuluje se soubory nijak jinak než přes mmap()
a stará API typu read()
už jenom předstírají, že existují)) se dá vždy „odswapovat“ (tedy, odstranit z RAM ve prospěch něčeho důležitějšího) a později zase načíst zpátky, když je to potřeba. Proto absence swapovacího souboru nebo oddílu (kterou vřele doporučuji!) rozhodně neznamená, že se SSD/disk nepoužívá (v případě nedostatku RAM) místo RAM. Právě naopak, používá se, ba dokonce i mnohem bezpečněji (ve smyslu opotřebení SSD (nebo i disků)) a smysluplněji (z hlediska dlouhodobé udržitelnosti takového režimu provozu), než kdyby swapovací soubor či oddíl byl k dispozici.
…200 GB LUKS+Btrfs oddíl a zbytek ~800 GB LUKS+Btrfs /data oddíl pro oddělená data…
Proč ne raději subvolume s kvótami, které se dají (v případě dočasné potřeby) změnit?
A jak by to bylo s vytvořením subvolumes @/ a @/home?
btrfs subvolume create ...
Mimochodem, ten zavináč je taková podivná libůstka a konvence některých distribucí; nic zásadního na něm nezávisí a nic se tak jmenovat nemusí. Já většinou pojmenovávám subvolume třeba jménodistribuce_očekávanýmountpoint
nebo tak, takže třeba arch_home
, arch_root
a podobně. Ale to už je spíš věc „vkusu“.
Jinak zkopírování něčeho na úrovni filesystému s (opravdu) všemi možnými libůstkami typu extended attributes a POSIX ACL je docela fuška. Tohle může být inspirace, ale furt to nemusí být všechno a jistě to není future-proof.
Proto vždy vřele doporučuji spíš btrfs send ... | btrfs receive ...
, což zaručuje, že cokoliv, co filesystém ukládá, se přenese. (Ale pochopitelně to nepřichází v úvahu při kopírování mezi různými filesystémy atd. Jo, bylo by hyper, kdyby například mezi zfs send / receive
a btrfs send / receive
existovala nějaká konverze, ale zatím (pokud vím) nic takového není.
smysl hibernace (a swapu) unikáNekdo rad vypina stroj kdyz ho prenasi v batohu aby ho neuvaril, neplencal baterii, treba kdyz nekam najednou pospicha a nema cas nebo nechce pozavirat vsechno co otevrel. To pochopis, typicky byznysman. Ikdyz byznysmanu s destopovym linuxem asi moc nebude ne-li zadny, to je pravda.
Tvůj příspěvek pochází zjevně z roku 2000 nebo tak. Těžko říct, jak se mohl ocitnout v tomhle vlákně.
Dnes máme rok 2021. Dnešní běžný notebook vydrží uspaný do paměti asi tak měsíc, pročež se nemá jak přehřát v batohu. Tolik tepla najednou zkrátka negeneruje, aby se uspaný přehřál nebo aby v dohledné době vybil baterii. (Když notebook používám a dobíjím každý pracovní den, co je mi do toho, že by mu po měsíci spánku mohla dojít baterie?)
Tak proto^^^ je uspáni na disk (hibernace) v dnešní době v podstatě nepotřebná záležitost.
Jediná výhoda hibernace je vyšší odolnost proti cold boot útokům, protože uspání do RAM je pro cold boot útok přímo ideální situace.
Nicméně pokud notebook neukládá ultra-hyper-kriticky-tajná data (nebo pokud se dokáže při uspání do RAM dočasně zbavit podstatných klíčů), je hibernace fakt všeho všudy buržoasní přežitek.
Lpění na noteboocích z archeologických nalezišť (které mají tu jedinou správnou klávesnici atd.) nepovažuju za validní argument.
Souhlasím, že se cosi se v poslední dekádě zhoršilo, pokud jde o klávenice notebooků. (Výměnou za to jsou ale notebooky tenčí a lehčí.)
Doma i ve dřině mám prostě Thunderbolt dock s monitorem klávesnicí podle nejdivočejších představ. (Klidně mi ta klávesnice umí [[odstraněno pro hrubé porušení pravidel komunity]].)
Klávesnice notebooku je taková nouzovka do vlaku a tam mi přijde spíš vhod, že je klávesnice malá, tenká, podsvícená, lehká atd., byť pro dlouhodobou dřinu nepohodlná.
Zkrátka a dobře, každý dnešní notebook ty 3 týdny uspání do RAM vydrží. Ten, který našli vedle Věstonické venuše, možná tu hibernaci ještě potřebuje.
každý dnešní notebookJak casto kupujes notebook a posledni mas z roku, prvni jsi zaplatil sam? ... mam tady konvertibilni notebook podrobim ho zkousce ve Fedora 33, pokud ho tedy predem nepovazujes za fosilii? Jen doufam, ze se vubec probudi, ze tam nebude nejaky bug (a neprijdu o neulozenou ulohu kdyz to budu muset restartovat), zkusenosti z drivejska, ironie na zacatek ;), tak pokud to schvalis?
Na desktopu od swapu tedy upouštím. Uvědomil jsem si, že na něm uspávám pouze od RAM.
A dělit tedy asi taky nebudu. Vzhledem k tomu, co napsal Max a k3dAR to asi není třeba.
Ohledně překopírování systému vím, že to je fuška. Zkusil jsem si to nasimulovat. Na sekundárním disku jsem si pomocí GParted vytvořil EFI oddíl a oddíl pro /rootfs, pak jsem nainstaloval Mint nad Btrfs. Pak jsem pomocí sudo cp -a
překopíroval vše z /rootfs jinam. Pak jsem ten oddíl znovu naformátoval a zašifroval, odemknul, pomocí sudo cp -a
vše vrátil zpět, upravil /etc/defaul/grub, vytvořil /etc/crypttab, odpojil zamknul, znovu odemknul pod názvem z /etc/crypttab, chrootnul, ale update-grub mi vždy končil chybou. Update-initramfs mi prošel. Teď si uvědomuji, že jsem asi měl ještě dát klíč do slotu. Každopádně místo cp -a by to asi chtělo rsync, ale ten já neznám a man page má 4k stránek. To je pro mě i kvůli angličtině neschůdné. Chtěl jsem se právě vyhnout nové instalaci, ale asi nevyhnu.
Chtěl jsem se právě vyhnout nové instalaci, ale asi nevyhnu.Pokud bys přeinstalovával a chtěl si ušetřit čas instalací balíčků, tak i u vás na Mintu jde udělat hromadný export nainstalovaných balíčků a hromadná instalace. Pokud teda je možnost spustit Mint z té zálohy co máš, abys udělal export.
Instalace balíčků není problém. Problém je konfigurace.
Jinak díky. To jsem neznal. Podívám se na to.
To je oboje super. Ve VM zkusím.
Protože mám stejně BTRFS v raid 1a btrfs neumí swapfile na filesystému vytvořeném nad více než jedním diskem.
Kdežto v případě swapování do souboru na FS do toho vstupují další operace, které vyžadují spolupráci s RAM.Podle mě si kernel namapuje bloky ve swapfile a pracuje přímo s nimi. Když chceš hibernovat do swapfile, tak musíš také zadat resume_offset= do grubu, takže rozdíl ve výkonu mezi používání swapfile a swappartition nebude. Ale pokud je nějaký odkaz na benchtest, který dokazuje opak, tak nemám problém uznat, že máš pravdu.
> 3. Does creating the swapfile on a journaled filesystem (e.g. ext3 or > reiser) incur a significant performance hit? None at all. The kernel generates a map of swap offset -> disk blocks at swapon time and from then on uses that map to perform swap I/O directly against the underlying disk queue, bypassing all caching, metadata and filesystem code.
Dostal jsi tím odpověď i na otázku, proč se při dlouhodobějším použití zpomalují widle.To ale podložené nemáš viď, jen domněnka? Zpomalovaly se s fragmentací ale od SSD už nemám zkušenost, ty ano?
rozházené po disku úplně stejně, jako swapfileswapfile bys měl rozházený zřejmě jen v případě, že bys ho vytvářel na zaplněném disku kde by ho nešlo vytvořit vcelku. Pokud swapfile vytvoříš hned při instalaci (bez fragmentace), tak "na tom místě" swapfile zůstává pořád a nefragmentuje se. Když jsem se už před mnoha lety rozhodoval jestli swapfile nebo partišna, tak nakonec vyhrál swapfile, protože měl více výhod.
byl bych rád, kdyby mi sem někdo napsal seznam všech kroků a já už bych si s tím snad nějak poradilDobrej navrh :D
Tiskni
Sdílej: