Jenže i distra založená na obrazech musí být z něčeho sestavovaná a tím něčím jsou v drtivé většině případů balíčky, minimálně v případě těch dvou jmenovaných. Proto i u nich se pozitivně projeví, když se budou balíčky rychleji sestavovat a bude s nimi rychleji pracovat. Nepomůže to uživatelům, ale tvůrcům distribuce ano.
Taky si myslím, že to půjde tímto směrem. Naposledy jsem narazil na linuxovou distribuci OS Nitrux, který používá AppImages. Dokonce ani celý OS se neinstaluje klasicky, ale vytvoří se jen boot partišna, celý OS je v jenom souboru ISO a data v uživatelském adresáři. Jejich snaha je vytvořit i VGA passthrough Out-of-box. Celkem mladá distribuce, takže budoucnost ukáže.
ani na ssd mi neprijde deb jako takove pomale, natoz na nvme(wd black) kde nestiham vnimal letici text pri aktualizaci a to i s obycejnou i3-7100T, kde je brzda je vytvareni initramfs, nebo indexovani?/regenerovani? tusim man's nebo doc's ted si nejsem jistem presne...
druha vec je, ze pouzit squashfs format pro "balicky" kterej se nerozbaluji a neinstaluji, ale jednoduse se stahnou do urceneho adresare a pripoji do "stromu" systemu neni nic noveho, to pouziva Slax a v podstate s tim pred mnoha lety prisel, vcetne "vlastnich/sponzorovanych" squashfs-lzma patchu aby to bylo jeste mnohem rychlejsi a mensi ;-)
Michael i tento článek dost zjednodušuje práci package managera, aby dosáhl svého.
Cílem balíčkovacích systémů není jen rozbalit nějaká data do filesystemu, ale zajistit hladkou integraci všech balíčků do systému, kam se instalují. Chápu, že “geekové” mají rádi kontrolu nad vlastním systémem, ale zjednodušení a automatizace je nutná k oslovení široké skupiny uživatelů. (Ale díky Archu za skvělou dokumentaci všeho ;).)
Ovšem koncepčně by bylo lepší, pokud by stačilo umístit soubory na disk a systém by sám poznat, že je program nainstalovaný a co s ním má dělat. Ostatně do značné míry to tak funguje, například místo editace hlavního velkého konfiguračního souboru se includuje mnoho malých souborů pocházejících z různých balíčků (např. moduly do apache apod.).
Konceptuelně to zní dost zajímavě a použití squashfs je rozhodně dobrý nápad. Na druhou stranu bych neřekl, že se jedná o extrémně inovativní metodu. Přecejen NixOS se stejným přístupem, jen bez fuse, je tady už více než patnáct let. Ale zase další projekt který prošlape tuto zajímavou cestu, a i trochu jinak, neuškodí. Možná se podívám jak funguje vytváření těch imagů někdy v budoucnu. Jak moc je tohle pěkně navržené.
Presne takto to ma Slax ale aj Porteus a taktiez operacny system Haiku. Vsetky tieto projekty pouzivaju pripojovanie squash obrazov pri starte svojho systemu. Slax ma na to aj pomocne skriptyako dir2sb
napriklad vytvorenie balicka zo zavislostami sa robi takto
#!/bin/bash
TMP=/tmp/tmpfs$$
CHANGES=$TMP/changes
UNION=$TMP/union
BUNDLES=/run/initramfs/memory/bundles/
INSTALL="$1"
[ -n "$INSTALL" ] || exit
mkdir -p $TMP
mount -t tmpfs tmpfs $TMP
mkdir -p $CHANGES
mkdir -p $UNION
mount -t aufs -o xino=$TMP/.xino,trunc_xino,br=$CHANGES aufs $UNION
# I don't use chromium so filter it out.
\ls -1d $BUNDLES[0-1]* | grep -v chromium | while read MOD; do
mount -o remount,add:1:$BUNDLES/$(basename $MOD)=ro aufs $UNION
done
for d in boot dev proc sys tmp media mnt run; do
mkdir -p $UNION/$d
done
chmod ugo+rwx $UNION/tmp
mount --bind /dev $UNION/dev
mount --bind /proc $UNION/proc
mount --bind /sys $UNION/sys
echo "apt-get update; apt-get install --yes $INSTALL" >$UNION/doit
chmod ugo+x $UNION/doit
cp /etc/resolv.conf $UNION/etc/
chroot $UNION /doit
umount $UNION/sys
umount $UNION/proc
umount $UNION/dev
rm $CHANGES/doit
rmdir $CHANGES/* 2>/dev/null
savechanges /"$INSTALL".sb $CHANGES
umount $UNION
umount $TMP
rmdir $TMP
Sa cudujem ze nieje vo svete viacero distribucii pouzivajucich takyto koncept.
Napriklad u distribucii Porteus sa daju dat balicky do priecinka optional a pri starte cez parameter load urcit ktore sa maju s tohto priecinka nahrat.