Byla vydána verze 1.98.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Byla vydána nová verze 7.1 (YouTube) svobodného open source redakčního systému WordPress. Kódové jméno Mary Lou bylo vybráno na počest americké jazzové klavíristky Mary Lou Williams (YouTube).
Bun (Wikipedie), tj. běhové prostředí (runtime) a toolkit pro JavaScript a TypeScript, alternativa k Node.js a Deno, byl vydán ve verzi 1.4. Představení novinek také na YouTube. Bun byl přepsán z programovacího jazyka Zig do Rustu. Pomocí Claude Fable 5.
Vývojáři KDE na Mastodonu oznámili vydání balíku aplikací KDE Gear 26.08. Přehled novinek i s náhledy a videi v oficiálním oznámení.
Společnost PINE64 kvůli nedostatku a vysokým cenám DRAM a eMMC dočasně pozastavuje výrobu linuxových zařízení. Výroba zařízení jako PineTime, PineVoice a Pinecil pokračuje.
Společnost Stripe se dohodla na akvizici společnosti OpenRouter. Za 7,5 miliardy dolarů.
Byla vydána nová verze 1.27 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.
V pátek 28. srpna se v Praze uskuteční již osmý Mobile Linux Hackday. Jako obvykle se potkáme v pražské pobočce SUSE v Karlíně na Křižíkově, takže kromě mobilního Linuxu je to tentokrát i příležitost přijít se podívat na nově zrekonstruované kanceláře. Začínáme v 10:00, ale dorazit můžete samozřejmě kdykoliv v průběhu dne. Setkáním vás provede Petr Hodina, vývojář GPU ovladačů v Mesa 3D a jeden z hlavních lidí české komunity kolem mobilního … více »
Představen byl Raspberry Pi Compute Module 5 Programming Jig. Jedná se o zařízení umožňující připravit Compute Module 5 do plně funkčního stavu bez nutnosti použití dalších vstupně / výstupních desek. Podporuje automatizaci pomocí nástroje rpi-sb-provisioner. Podrobnosti v dokumentaci.
Hackeři ve Francii ukradli data více než půl milionu daňových poplatníků. Je to jeden z největších hackerských útoků v dějinách země. O útoku z konce června informovala až teď daňová správa. Teprve od pondělí dotčeným občanům zasílá e-maily s instrukcemi, jak postupovat dál. Hackeři se sice nedostanou k penězům dotyčných, hrozí ale věrohodné podvody. Hackeři získali třeba celá jména, údaje o rodinných příslušnících nebo také údaje o
… více »Balíky můžou být v Linuxu linkované dvojím způsobem: Buď staticky nebo dynamicky.Omyl, linkují se binárky, které se balí do balíků společně s jinými soubory. Tahle drobná nepřesnost vede bohužel dále v textu k naprosto zcestným závěrům. Nadále budu statický balík považovat za běžný balík se staticky slinkovanými binárkami nebo s přibalenými dynamickými knihovnami (takhle se obvykle distribuují uzavřené komerční programy, pro naše účely je to totéž)
Výhoda dynamicky linkovaných balíků je ta, že se šetří místo na disku … Další výhoda je, že se šetří paměťNejvětší, ale zcela opomenutá výhoda je, že jedinou instanci binárky/knihovny lze snáze udržovat a upgradovat. Dnešní systémy mají tisíce knihoven a i jednoduché programy linkují mnoho z nich. Kdyby bylo všechno staticky linkované, vyžadoval by upgrade jedné knihovny reinstalaci mnoha balíků. zlib, jpeg nebo glib jsou příklady malých knihoven kde by kilobajtová změna reinstalovala prakticky celý systém. A i u méně exponovaných knihoven rozměry závisejících balíků podstatně převyšují velikost samotné knihovny - to je koneckonců princip celé věci. Neupgradovat všechny závislé balíky není řešení. Většina upgradů záplatuje nějaké chyby, tudíž o ně budu stát. Hlavně se ale nemůžu vyhnout upgradům které záplatují díry bezpečnostní.
U statických balíků neexistuje tak zvané peklo závislostí.A hned první tragicky omyl způsobený záměnou balíku za binárku. Závislosti jsou vlastnosti balíku a problémy s nimi jsou způsobeny špatně zabaleným balíkem nebo špatným balíčkovacím systémem. Statickým linkováním nebo balením knihoven se lze sice těmto problémům vyhnout, ale to je léčení příznaků místo příčin.
Ale musíme myslet taky na takové lidi, kteří nemají přístup k internetu. Ti nemůžou využít automatické řešení závislostiDitto, autor potřebuje změnit balíčkovací systém na takový, který umí vyčíslit závislosti předem. Třeba můj systém (portage) má možnost nechat si všechny závislosti vypsat do souboru vhodného k předhození wgetu. Dokonce jsem tak i jeden systém nainstaloval.
Statický balík je kompatibilní s různými distribucemi a verzemi Linuxu, je víceméně univerzální.Za prvé, čistě statickou binárku nelze ve skutečnosti udělat. I když vše slinkujeme se -static, bude binárka z ne úplně triviálních důvodů za běhu linkovat část libc. Bude sice podstatně odolnější, protože libc se mění málo, ale stoprocentní kompatibilita to není. Za druhé, což je mnohem důležitější, statické linkování neřeší změny v API, resp. řeší je tím, že jim brání. Přitom právě to je největší problém při přenášení balíků mezi distribucemi. Třeba balík z blbuntu nebude na mém systému chodit, ať už je slinkovaný jakkoliv, prostě proto že nemám Pulse Audio. Doma, nemaje tiskárnu, neběhám cups démona. Můžu mít/nemít FAM nebo jiné démony, jiný layout filesystému a práv, bezpečnostní moduly, adresářové služby, změny v kernelu et cetera et cetera. Přenositelnost mezi distribucemi a verzemi je podstatně složitější problém než jen linkování. Jediná spolehlivá metoda je pokusit se zastavit čas a neupgradovat vůbec nic. Na to ale není třeba statické linkování.
Tiskni
Sdílej:
Za prvé, čistě statickou binárku nelze ve skutečnosti udělat. I když vše slinkujeme se -static, bude binárka z ne úplně triviálních důvodů za běhu linkovat část libc. Bude sice podstatně odolnější, protože libc se mění málo, ale stoprocentní kompatibilita to není.Compiling without libc
/etc/nsswitch.conf. A to i když je zbytek libc linkován staticky. Což je logické, během překladu nemůže vědět jestli na cílovém systému nebude náááhodou třeba NIS
Ditto, autor potřebuje změnit balíčkovací systém na takový, který umí vyčíslit závislosti předem. Třeba můj systém (portage) má možnost nechat si všechny závislosti vypsat do souboru vhodného k předhození wgetu. Dokonce jsem tak i jeden systém nainstaloval.Deb a Yum je zase umějí postahovat do předem zadaného adresáře.
Cannot mix incompatible Qt libraries a nespusti se. uz sem to hlasil v AURu a taky primo autorovi, ale oba delaji jako by to vsem fungovalo a zadnej problem neexistoval ...
LD_LIBRARY_PATH=./lib ldd xnview | grep Qt a potom v lib adresári LD_LIBRARY_PATH=. ldd *.so.4 | grep Qt či tam nenájdeš kde sa vlastne používa systémové Qt. (predpokladám ale, že žiadny problém nenájdeš, práve kvôli Xn v názvoch knižníc)
[kotyz@behemot XnViewMP-026]$ LD_LIBRARY_PATH=./lib ldd xnview | grep Qt
libQtWebKitXn.so.4 => ./lib/libQtWebKitXn.so.4 (0xb66f5000)
libQtGuiXn.so.4 => ./lib/libQtGuiXn.so.4 (0xb5be3000)
libQtCoreXn.so.4 => ./lib/libQtCoreXn.so.4 (0xb593d000)
libQtXmlPatternsXn.so.4 => ./lib/libQtXmlPatternsXn.so.4 (0xb544c000)
libQtNetworkXn.so.4 => ./lib/libQtNetworkXn.so.4 (0xb5315000)
libQtSvgXn.so.4 => ./lib/libQtSvgXn.so.4 (0xb52bb000)
libQtXmlXn.so.4 => ./lib/libQtXmlXn.so.4 (0xb5271000)
[kotyz@behemot lib]$ LD_LIBRARY_PATH=. ldd *.so.4 | grep Qt
libQtCore.so.4:
libQtCoreXn.so.4:
libQtGui.so.4:
libQtCoreXn.so.4 => ./libQtCoreXn.so.4 (0xb6a07000)
libQtGuiXn.so.4:
libQtCoreXn.so.4 => ./libQtCoreXn.so.4 (0xb69bd000)
libQtNetwork.so.4:
libQtCoreXn.so.4 => ./libQtCoreXn.so.4 (0xb73a8000)
libQtNetworkXn.so.4:
libQtCoreXn.so.4 => ./libQtCoreXn.so.4 (0xb74ea000)
libQtOpenGL.so.4:
libQtGuiXn.so.4 => ./libQtGuiXn.so.4 (0xb6bef000)
libQtCoreXn.so.4 => ./libQtCoreXn.so.4 (0xb6949000)
libQtOpenGLXn.so.4:
libQtGuiXn.so.4 => ./libQtGuiXn.so.4 (0xb6c41000)
libQtCoreXn.so.4 => ./libQtCoreXn.so.4 (0xb699b000)
libQtSvg.so.4:
libQtGuiXn.so.4 => ./libQtGuiXn.so.4 (0xb6c63000)
libQtCoreXn.so.4 => ./libQtCoreXn.so.4 (0xb69bd000)
libQtSvgXn.so.4:
libQtGuiXn.so.4 => ./libQtGuiXn.so.4 (0xb6c1b000)
libQtCoreXn.so.4 => ./libQtCoreXn.so.4 (0xb6975000)
libQtWebKit.so.4:
libQtXmlPatternsXn.so.4 => ./libQtXmlPatternsXn.so.4 (0xb60d3000)
libQtGuiXn.so.4 => ./libQtGuiXn.so.4 (0xb560f000)
libQtNetworkXn.so.4 => ./libQtNetworkXn.so.4 (0xb54d8000)
libQtCoreXn.so.4 => ./libQtCoreXn.so.4 (0xb5231000)
libQtWebKitXn.so.4:
libQtXmlPatternsXn.so.4 => ./libQtXmlPatternsXn.so.4 (0xb61ef000)
libQtGuiXn.so.4 => ./libQtGuiXn.so.4 (0xb572b000)
libQtNetworkXn.so.4 => ./libQtNetworkXn.so.4 (0xb55f4000)
libQtCoreXn.so.4 => ./libQtCoreXn.so.4 (0xb534d000)
libQtXml.so.4:
libQtCoreXn.so.4 => ./libQtCoreXn.so.4 (0xb75c9000)
libQtXmlPatterns.so.4:
libQtNetworkXn.so.4 => ./libQtNetworkXn.so.4 (0xb71d7000)
libQtCoreXn.so.4 => ./libQtCoreXn.so.4 (0xb6f31000)
libQtXmlPatternsXn.so.4:
libQtNetworkXn.so.4 => ./libQtNetworkXn.so.4 (0xb7153000)
libQtCoreXn.so.4 => ./libQtCoreXn.so.4 (0xb6ead000)
libQtXmlXn.so.4:
libQtCoreXn.so.4 => ./libQtCoreXn.so.4 (0xb752b000)
libQtGuiXn.so.4 => ./libQtGuiXn.so.4 (0xb6d8a000)
libQtCoreXn.so.4 => ./libQtCoreXn.so.4 (0xb6ae4000)
Statickým linkováním nebo balením knihoven se lze sice těmto problémům vyhnout,I to pouze omezeně. Velká část dependency hellu vzniká jinými typy závislostí než závislostmi na dynamicky linkovaných knihovnách.
Vynikající! Něco takového jsem už dlouho chtěl. Proti jiným distribucím je to velký pokrok. Výhoda je, že každý program má svůj podadresář a v něm všechny soubory, které k tomu programu patří. Všechno je přehledně uspořádané, roztříděné a je pěkně vidět, co k čemu patří. Na rozdíl od jiných distribucí, ve kterých jsou soubory všech programů různě rozhazané po celém systému, bez jakéhokolv třídění, je v tom nepořádek a je to velmi nepřehledné. Já vím, že existují skripty, ve kterých je zapsané, ke kterému programu který soubor patří, takže přidat nebo odebrat program, se vším, co k němu patří, není problém, ale není to ono. Přijde mi to stejné, jak kdybych měl nepořádek ve věcech a všechny věci různě rozhazané a netříděné a vůbec neměl uklizené a místo úklidu bych si pořídil sešit, do kterého si jenom zapíšu, kde mám kterou věc, abych ji našel. Právě proto se mi Gobo Linux líbí, protože mám rád pořádek. Líbí se mi taky jakým způsobem jsou sestavené balíky, způsob instalace a odinstalace balíků, a taky to, že má oproti jiným distribucím přehlednější kompilací. Zřejmě bych našel i další výhody této distribuce.
Začal jsem se o Gobo Linux zajímat, ale mám pocit, že se asi přestal vyvíjet, protože nikde na internetu jsem neobjevil novější verzi, než z roku 2006. Stejně tak novější články jsem na internetu nenašel. Když jsem se díval do repozitářů Gobo linuxu, verze programů jsou tam dost zastaralé a některé novější programy tam nejsou vůbec. Například Audacity je tam nanejvýš ve verzi 1.2.3, Jamin tam není vůbec a tak dále. Tak by mě zajímalo, jak je to s vývojem této distribuce. Opravdu se přestala vyvíjet? Pokud se to přestalo vyvíjet, je to škoda, protože nic tak vynikajícího jsem neviděl. Nebo se změnil jenom název, jako například Mandrake na Mandrivu?