Portál AbcLinuxu, 1. května 2025 11:31
>>> Láká mě představa prostě přijít k počítači, zasunout USB, nabootovat, vyndat USB a mít z něj fileserver v síti, aniž by se cokoli na discích jakkoli měnilo či instalovalo, s tím, že když se vypne/restartuje, tak nebude poznat, že byl takto používán a po novém startu se bude chovat jako by se nic nestalo a nikdo si s ním nehrál :)
Mam takovy Slax s httpd jenz ma document root nastaven na /mnt/ neb Slax automaticky mountuje dostupne disky , dale sshd pro pristp k souborum s plnym opravnenim pres scp.
Flashdisk lze po nastartovani odpojit neb Slax startuje s parametrem copy2ram.
Do standardniho Slaxu staci jen dopnit vhodne moduly.
minix
, případně ext2
). Hlavní nevýhoda této metody je plýtvání pamětí (data jsou v RAM víckrát - jednou v ramdisku, podruhé v cachích), režie souborového systému a nemožnost snado měnit velikost - buď se nechá volné místo, které bude zbytečně zabírat paměť, nebo se udělá souborový systém tak akorát, ale pak se na něj už nic nenahraje. Tuto vobu dnes nedoporučuju, měla smysl kdysi dávno v dobách jader 2.2-.
Druhá možnost je použít ramfs
/tmpfs
a soubory do něj při startu nakopírovat. Výhoda je, že v paměti není nic dvakrát (tmpfs
/ramfs
využívá VFS cache), žádná režie souborového systému, je obsazeno jen tolik paměti, kolik je v ní souborů a hlavně se dá bez problémů zapisobvat. Jediné, čím se tmpfs
liší od ramfs
(který je v jádře přítomen vždy), je možnost swapování, nastavení limitů a možnost použít POSIXOvé ACL. Tato možnost je optimální, pokud je dost paměti. Dokonce je možné pro menší souborové systémy použít initramfs
, kde se souborový systém zabalí přímo do souboru jádra.
Třetí možnost je sice použít ramdisk, ale nahrát do něj komprimovaný souborový systém (cramfs
, squashfs
), který je mnohem úspornější, ale je už z podstaty jen na čtení. Jsou ale případy, kdy toto omezení nevadí, případně je dokonce výhodou (takovýto soborový asystém se téměř nedá modifikovat bez toho, aniž by se musel znovu vytvořit). Pokud pro možnost zápisu nestačí symlinky do tmpfs
(často stačí mít zapisovatelnou jen /var
, s /tmp
jako symlinkem do /var/tmp
), je možné použít nějkterý z "vrstvitelných" souborových systémů jako UnionFS
nebo AuFS
, bohužel ty zatím nejsou standardní souřčástí vanila jader, takže je nutné patchování. Tato možnost je výhodná pro stroje s menším množstvím paměti, proto jí využívá většina běžných LiveCD, nevýhodou je poněkud složitější příprava.
je možné použít nějkterý z "vrstvitelných" souborových systémů jakoJak jsem psal, v pripade debianu je priprava velice jednoducha. 1) pripravit system napr. pomoci debootstrap, nainstalovat moduly squashfs a aufs (v debianu pripravene) 2) pripravit skript, ktery po pripojebi squashfs pripoji aufs/unionfs a prehodi root ze squashfs na aufs 3) cely debian zabalit do squashfd 4) squashfs pridat do initrd (to je cpio zabalene gzipem) 5) nabootovat - predava se parametr root=/root-image.img a rootfstype=squashfs a uz se bootuje nejtezsi je na tom udelat ten script na pripojeni aufs, ale.i to je brnkackaUnionFS
neboAuFS
, bohužel ty zatím nejsou standardní souřčástí vanila jader, takže je nutné patchování. Tato možnost je výhodná pro stroje s menším množstvím paměti, proto jí využívá většina běžných LiveCD, nevýhodou je poněkud složitější příprava.
root=/root-image.img aNo jak popisoval Kvakor, tak takhle právě ne. Stačí čistý zazipovaný CPIO archiv s /init souborem. Rozbalí se do kešky a ať se předají jádru jakékoliv parametry, tak budou ignorovány. Více viz Documentation/ramfs-rootfs-initramfs.txt.
Bohuzel se mi na 8GB veslo jenom Ubuntu 32/64bit, debian live gnome 32/64K čemu je dobré mít 64b live distribuci? To se v live systému dá narazit na limity x86_32 architektury? Já mám na záchranné flashce 32b userspace a pro případ, že bych se musel chrootovat do x86_64 systému, mám zvlášť jádro pro amd64.
Presne tak.
Navic Slax v jedne z boot polozek nabizi i spusteni pxe serveru a dalsi stroje lze jiz nabootovat ze site a system bude identicky jako na prvnim pc tj vcetne pridanych modulu.
Pokud by i tak pan trval na kompletnim behu z RAM tak je treba pridat parametr copy2ram meb v boot polozce s pxe serverem se nenachazi.
Pekne si s tim lze vyhrat a nacvicit ve virtualizovanem prostredi.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.