Během tradiční ceremonie k oslavě Dne vzniku samostatného československého státu (28. října) byl vyznamenán medailí Za zásluhy (o stát v oblasti hospodářské) vývojář 3D tiskáren Josef Průša. Letos byly uděleny pouze dvě medaile Za zásluhy o stát v oblasti hospodářské, druhou dostal informatik a manažer Ondřej Felix, který se zabývá digitalizací státní správy.
Tor Browser, tj. fork webového prohlížeče Mozilla Firefox s integrovaným klientem sítě Tor přednastavený tak, aby přes tuto síť bezpečně komunikoval, byl vydán ve verzi 15.0. Postaven je na Firefoxu ESR 140.
Bylo oznámeno (cs) vydání Fedora Linuxu 43. Ve finální verzi vychází šest oficiálních edic: Fedora Workstation a Fedora KDE Plasma Desktop pro desktopové, Fedora Server pro serverové, Fedora IoT pro internet věcí, Fedora Cloud pro cloudové nasazení a Fedora CoreOS pro ty, kteří preferují neměnné systémy. Vedle nich jsou k dispozici také další atomické desktopy, spiny a laby. Podrobný přehled novinek v samostatných článcích na stránkách Fedora Magazinu: Fedora Workstation, Fedora KDE Plasma Desktop, Fedora Silverblue a Fedora Atomic Desktops.
Elon Musk oznámil (𝕏) spuštění internetové encyklopedie Grokipedia (Wikipedia). Zatím ve verzi 0.1. Verze 1.0 prý bude 10x lepší, ale i ve verzi 0.1 je podle Elona Muska již lepší než Wikipedia.
PSF (Python Software Foundation) po mnoha měsících práce získala grant ve výši 1,5 milionu dolarů od americké vládní NSF (National Science Foundation) v rámci programu "Bezpečnost, ochrana a soukromí open source ekosystémů" na zvýšení bezpečnosti Pythonu a PyPI. PSF ale nesouhlasí s předloženou podmínkou grantu, že během trvání finanční podpory nebude žádným způsobem podporovat diverzitu, rovnost a inkluzi (DEI). PSF má diverzitu přímo ve svém poslání (Mission) a proto grant odmítla.
Balík nástrojů Rust Coreutils / uutils coreutils, tj. nástrojů z GNU Coreutils napsaných v programovacím jazyce Rust, byl vydán ve verzi 0.3.0. Z 634 testů kompatibility Rust Coreutils s GNU Coreutils bylo úspěšných 532, tj. 83,91 %. V Ubuntu 25.10 se již používá Rust Coreutils místo GNU Coreutils, což může přinášet problémy, viz například nefunkční automatická aktualizace.
Od 3. listopadu 2025 budou muset nová rozšíření Firefoxu specifikovat, zda shromažďují nebo sdílejí osobní údaje. Po všech rozšířeních to bude vyžadováno někdy v první polovině roku 2026. Tyto informace se zobrazí uživateli, když začne instalovat rozšíření, spolu s veškerými oprávněními, která rozšíření požaduje.
Jste nuceni pracovat s Linuxem? Chybí vám pohodlí, které vám poskytoval Microsoft, když vás špehoval a sledoval všechno, co děláte? Nebojte se. Recall for Linux vám vrátí všechny skvělé funkce Windows Recall, které vám chyběly.
Společnost Fre(i)e Software oznámila, že má budget na práci na Debianu pro tablety s cílem jeho vyžívání pro vzdělávací účely. Jako uživatelské prostředí bude použito Lomiri.
Proběhla hackerská soutěž Pwn2Own Ireland 2025. Celkově bylo vyplaceno 1 024 750 dolarů za 73 unikátních zranitelností nultého dne (0-day). Vítězný Summoning Team si odnesl 187 500 dolarů. Shrnutí po jednotlivých dnech na blogu Zero Day Initiative (1. den, 2. den a 3. den) a na YouTube.
Tento seriál je určen začátečníkům, kteří neví, co je to překlad, případně neví jak na něj. Některé popisy jsou proto značně zjednodušeny.
V GNU/Linuxu, stejně jako v dalších unixových systémech, se velmi často používají překladače z rodiny gcc, kterými se také budeme v našem seriálku zabývat.
Překladač provádí přeměnu zdrojového kódu čitelného člověkem na binární kód, který je čitelný pro procesor. Ovšem čitelný pro konkrétní procesor. To, co umí i386, neumí Alpha a podobně.
Nutnost kompilace vznikla postupným vývojem. V dřevních dobách programování psali programátoři svá díla přimo ve strojovém kódu. Neměli jinou možnost, pokud chtěli, aby procesor věděl, co má dělat. Strojový kód je však pro větší projekty nevyhovující kvůli tomu, že zvládá pouze atomární kroky a složitější funkce je třeba velmi rozvlekle rozepisovat. Proto vznikly takzvané vyšší jazyky, které mají proti strojovému kódu řadu výhod:
Toto jsou některé důvody, které programátory vedou k použití vyšších jazyků. V těch napíší své programy a pustí je do světa. Protože se pohybujeme ve světě svobodného software, máme ke všem aplikacím zdrojový kód. Ten nám umožňuje programy zkoumat, opravovat a měnit. Abychom je poté mohli na svých počítačích spustit, musíme provést zmíněnou kompilaci.
Samostatnou kapitolou je pak optimalizace programu. Ta nám umožní během překladu zohlednit charakteristiky jednotlivých procesorů, a tím zrychlit následné provádění strojového kódu. Příklad: procesory novějších generací obsahují instrukce, které umožňují provádět rychleji některé matematické funkce. Pokud je tedy v binárním programu kompilátor použije, zvýší se jeho efektivita. Nevýhodou pak je, že takto přeložený program nám nepoběží na procesoru nižší generace. Programátora ovšem výsledná podoba nezajímá, tu určuje až překlad (respektive parametry předané překladači).
Tvůrci distribucí tyto překlady obvykle provedou za nás a my už získáme hotový binární (zkompilovaný) balíček, který jen rozbalíme na svůj disk pomocí instalačního procesu a můžeme začít program používat. Může však nastat několik situaci, které nám tento běžný postup znemožní:
Poslední možnost si popíšeme podrobněji, protože se nás pravděpodobně budou týkat nejčastěji. V moderním operačním systému provádí většina programů velmi podobné operace. Aby se každý programátor nemusel zabývat implementací obecných funkcí, existují takzvané knihovny. Tyto knihovny obsahují nejčastěji používané kódy, které může libovolný program použít. Jednoduše zavolá funkci v knihovně a ta nějak samostatně proběhne. Programátora tedy implementace vůbec nezajímá, stačí mu, že ví jak funkci zavolat.
Knihovny se do systému instalují samostatně (obvykle bývají v samostatných balíčcích) a bez nich pochopitelně programy fungovat nemohou. Bez nich by prostě kus kódu chybělo a program by nemohl některé funkce vůbec provádět. Správné knihovny ve správných verzích jsou tedy bezpodmínečnou nutností. Tady narážíme na zakopaného psa.
Nevýhoda knihoven se projeví ve chvíli, kdy se například snažíte do starší distribuce nainstalovat novější balíček. Tento balíček byl samozřejmě přeložen v novější verzi distribuce, která obsahuje také novější verze knihoven než ta vaše. Říkáme, že je program přeložen proti novější knihovně. Jelikož se jedná o binární balíček, je již pevně sestaven a očekává, že bude mít k dispozici knihovnu, proti které byl přeložen.
A nastává klasický problém závislostí, o kterém jste již jistě slyšeli. I kdyby se vám povedlo balíček nainstalovat, program nepoběží, protože nebude schopen s novou knihovnou komunikovat.
Chceme-li zjistit, které knihovny program potřebuje, můžeme použít
příkaz ldd:
#ldd /bin/sh
|
V tomto případě je vše v pořádku a my vidíme, že žádná knihovna nechybí (v opačném případě bychom dostali místo cesty jen text "not found").
Jak z toho ven? Možností je několik:
To ovšem nemusí být řešení - nová knihovna může být závislá na dalších knihovnách a ty pak na dalších a dalších a problém může přerůst až ve změnu půlky systému.
Toto je samozřejmě ideální řešení, protože překlad už někdo udělal přede mnou. Ne vždy je to však možné.
Kompilaci vlastními silami si podrobně vysvětlíme a předvedeme na příkladu. Není to nic těžkého, protože člověk je tvor líný a vynašel si k tomuto účelu řadu automatických udělátek.
Ale o tom až příště.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
ldd /usr/bin/mplayernebo
ldd `which mplayer`
ldd /bin/lsPokud jste začátečník, použijte např. zdrojový RPM, který má v hlavičce BuildRequires, kde je vše potřebné vyjmenováno. Jinak sledujte výpis configure a kompilace, zanalyzujte protokol (config.log, výpis na konzoli), zjistěte, jaký soubor vám chybí, a pak hledejte ve správci balíků v YaSTu balíček, který potřebný soubor obsahuje.
)
A jelikož na notebooku mám problém s framebufferem, tak ani textové terminály nejdou. Mno nemám se pouštět do takových šíleností, když tomu nerozumím.
Co ale považuju za podstatnější chybu, je že při instalování z dávek není možné udržovat pořádek na počítači. Z dlouhodobého hlediska je to neudržitelné. Když mám nainstalováno všechno přes balíčky, tak vím CO tam mám, KDE to mám a v JAKÉ to mám verzi. Když budu kompilovat páté přes deváté tak jak to zrovna "potřebuju" a samozřejmě smažu všechny zdrojáky, abych ušetřil místo na disku. Pak za půl roku nebudu vědět s jakými parametry jsem který program zconfiguroval, tudíž nebudu vědět, jak to odinstalovat. A pak už stačí zadat blbě parametry za configure a mám po žížalkách. Už se to nekorektně odinstaluje a na disku zbydou nějaké relikty
V tom vidím problém kompilování z kódu. Prostě na produkční stroji (a tím myslím i svůj NB, na kterém pracuju) se za čas vymstí nutnou reinstalací celého systému.
.
(Doufám, že se to nebude kvalifikovat hanobení státního symbolu...)
Pán zřejmě nepochopil, že je dnes pátek a že to byl pokus o vtip...