Byla vydána nová verze 24.04.28 s kódovým názvem Time After Time svobodného multiplatformního video editoru Shotcut (Wikipedie) a nová verze 7.24.0 souvisejícího frameworku MLT Multimedia Framework. Nejnovější Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.
Byla vydána verze 5.30 dnes již open source operačního systému RISC OS (Wikipedie).
V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …
Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.
Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.
Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.
Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.
Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.
Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.
Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.
Posledně jsem pomlouval pkgtools a vymejšlel fíčury. No a aby to nebyly jen plané řeči, tak je na čase ukázat výsledky mého snažení. Tady jsou...
Nejdřív jen odstaveček o spkg, pro ty co nečetli mé předchozí příspěvky. Spkg je implementeace pkgtools v C. Jde o nízkoúrovňový nástroj pro instalaci, odstraňování a (v budoucnu) upgrade balíčků pro distribuci Slackware Linux. Spkg má i něco navíc:
"Alfa" pro mě znamená že v spkg chybějí zásadní vlastnosti (upgrade). Nikoliv, že je vše sešité horkou jehlou a na bug je možné narazit na každém kroku. Čili není třeba se obávat toho, že by spkg nedělal to co se od něj očekává, či nedejbože padal. Naopak, vlastnosti které jsou naimplementované jsou otestovány. Testování samozřejmě není nikdy dost. Najde se nějaký odvážlivec?
Jo. Byla. Začal jsem pracovat, takže nebyl čas.
Takže koho nezajímá co je safe mode, proč má spkg funkci bezpečného návratu (taky to někomu připomíná Apollo 13?) a jak se dosáhlo vysoké rychlosti běžných operací může klidně přeskočit k bechmarkům.
Safe mode zabraňuje tomu, aby se při instalaci balíku přepsali jakékoliv v systému již existující soubory nebo adresáře. V tomto režimu by nemělo být možné si poškodit systém pouhou instalací zákeřného balíku. Režim ještě není zcela dokončen. V budoucnu se v tomto režimu nebude spouštět postinstalační skript. (což nijak nebrání vytvoření symlinků, které se běžně ve Slackware vytváří pomocí postinstalačního skriptu, jak uvidíme dále)
Hlavním důvodem pro implementaci rollbacku je, aby nebylo nutné provádět testování konzistence tgz balíku před jeho rozbalením, tak jak to musí dělat installpkg, aby zabránilo neůplné instalaci/upgradu balíku. Pokud se při rozbalování narazí na chybu (která nemusí být způsobená pouze chybou v tgz archivu), prostě se vrátí zpět všechny doposud provedené operace a naplánované operace (takové, které nelze vzít zpět) se prostě neprovedou. Rollback přináší i další zajímavé možnosti, jako je např. bezpečné přerušení prováděné operace uživatelem.
Některé věci, které dělají spkg tak rychlým:
This benchmark compares spkg with pkgtools and plain tar. Hardware setup used: CPU: Athlon Thunderbird 1GHz MEM: 512MB SDRAM 133MHz HDD1: Seagate Baracuda 7200.9 80GB HDD2: Samsung SP2002H 20GB 7200 rpm OS: 'vanilla' linux 2.6.17.2, slackware-current Benchmarking methods: Before each 'install' benchmark clean ext2 filesystem will be created on HDD2 using following command: mke2fs /dev/hdb Before each benchmarks caches will be flushed using: echo 2 > /proc/sys/vm/drop_caches All services that could affect result of benchmarks will be stopped. Install speed ~~~~~~~~~~~~~ Install/extract all official slackware-current (2006-07-11) packages from the installation packages on HDD1 to the root directory on HDD2. 1) spkg -r /data -i */*.tgz 2) installpkg -root /data */*.tgz 3) for f in */*.tgz ; do tar xf $f -C /data done Remove speed ~~~~~~~~~~~~ Remove all 'kde*' packages from the system. 1) spkg -r /data -d `spkg -r /data -l 'kde*'` 2) ROOT=/data removepkg `spkg -r /data -l 'kde*'` Results ~~~~~~~ Install speed: 1) real 12m 36s, user 2m 3s, sys 51s 2) real 23m 41s, user 15m 31s, 5m 28s 3) real 13m 17s, user 1m 46s, sys 56s Remove speed: 1) real 1m 29s, user 3.4s, sys 3.9s 2) real 27m 49s, user 19m 46s, sys 6m 30s
Srovnáním reálných časů, které zahrnují čekání systému na dokončení hardwarových operací, jako je zápis na disk lze získat obrázek o tom jak bude uživatel vnímat zlepšení prezentovaných operací při přechodu na spkg.
Je vidět, že instalace celého systému se zrychlí dvojnásobně. A odstraňování balíčků bude zhruba 18x rychleší.
O kvalitě implementace však vypovídají spíše časy které se tráví mařením cyklů procesoru a ne čekáním na to než se nastavějí hlavičky na harddisku a plotna se dootočí do správné pozice. Čili časy trávené v kernel space (sys) a v user space (user). Sečtením sys a user časů lze zhruba získat obrázek o tom, jak rychle by operace proběhla, kdyby data byly na ramdisku. Případně by se vešly do cache.
Instalace je při tomto srovnání 20x rychlejší a odstranění balíčku pak 210x rychlejší než pomocí pkgtools.
Tato zrychlení se dají pozorovat při instalaci velkého množství malých balíčků jejichž nainstalované soubory se vejdou do cache. Např. výsledky porovnání časů installpkg a spkg -i pro instalaci všech balíčků jedné malé komerční distribuce, která spkg využívá pro instalaci:
Distribuce má 64 balíčků o celkové velikosti 25MB.
spkg: real 4.666s, user 3.086s, sys 1.100s
installpkg: real 1m34s, user 1m10s, sys 24s
Tady už je vidět i vylepšený uživatelský zážitek, a to hned 20x. Důvod je v tom, že se nemusí čekat na páně harddisk, než se uráčí vykonat potřebné pohyby.
Příště (doufejme dříve než zase za rok udělám nějaké benchmarky té nejčastěji používané operace: upgradepkg. Protože ve verzi alpha2 již bude naimplementovaná.
Tiskni Sdílej:
( cd usr/lib ; rm -rf libformw.so.5 ) ( cd usr/lib ; ln -sf libformw.so.5.5 libformw.so.5 )A pak to tu operaci provede ručně (voláním funkcí C knihovny) bez forkování shellu a programů ln a rm. (pokud je --safe na příkazový řádce, tak nedělá to rm -rf) Čili v tomhle případě:
rm -rf usr/lib/libformw.so.5 ln -s libformw.so.5.5 usr/lib/libformw.so.5Btw, pokud chceš vidět co to udělá a nechceš aby to cokoliv zapisovalo na disk, tak můžeš použít něco jako: spkg --install --dry-run -vvv pkg-x-x-x.tgz Jináč je určitě lepší, pokud tomu nevěříš to zkoušet v chrootu, nebo laespoň s parametrem --root /safe/dir. Ale to jistě víš i beze mě.