V pátek 20. února 2025 se v pražské kanceláři SUSE v Karlíně uskuteční 6. Mobile Linux Hackday, komunitní setkání zaměřené na Linux na mobilních zařízeních, kernelový vývoj a uživatelský prostor. Akce proběhne od 10:00 do večera. Hackday je určen všem, kteří si chtějí prakticky vyzkoušet práci s linuxovým jádrem i uživatelským prostorem, od posílání patchů například pomocí nástroje b4, přes balíčkování a Flatpak až po drobné úpravy
… více »Evropská rada vydavatelů (EPC) předložila Evropské komisi stížnost na americkou internetovou společnost Google kvůli její službě AI Overviews (AI souhrny), která při vyhledávání na internetu zobrazuje shrnutí informací ze zpravodajských serverů vytvořená pomocí umělé inteligence (AI). Evropská komise již v prosinci oznámila, že v souvislosti s touto službou začala firmu Google vyšetřovat. Google obvinění ze strany vydavatelů
… více »Ubuntu 26.04 (Resolute Raccoon) už nebude v desktopové instalaci obsahovat GUI nástroj 'Software & Updates'. Důvodem jsou obavy z jeho složitosti pro běžné uživatele a z toho plynoucích bezpečnostních rizik. Nástroj lze doinstalovat ručně (sudo apt install software-properties-gtk).
Thomas Dohmke, bývalý CEO GitHubu, představil startup Entire - platformu pro spolupráci vývojářů a agentů umělé inteligence. Entire získalo rekordních 60 milionů dolarů na vývoj databáze a nástrojů, které mají zefektivnit spolupráci mezi lidmi a agenty umělé inteligence. Dohmke zdůrazňuje potřebu přepracovat tradiční vývojové postupy tak, aby odpovídaly realitě, kdy většinu kódu produkuje umělá inteligence.
Toyota Connected North America oznámila vývoj open-source herního enginu Fluorite, postaveného na frameworku Flutter. Pro renderování grafiky využívá 3D engine Filament od společnosti Google a dle svého tvrzení cílí na konzolovou kvalitu her. Fluorite je zřejmě navržen tak, aby fungoval i na méně výkonném hardware, což naznačuje možnost použití přímo v ICE systémech vozidel. Zdrojový kód zatím zveřejněný není.
Byl vytvořen nástroj a postup pro překonání věkového ověření platforem Discord, Kick, Twitch, Snapchat (a možná dalších), kód je open-source a dostupný na GitHubu. Všechny tyto sítě používají stejnou službu k-ID, která určuje věk uživatele scanem obličeje a na původní server posílá pouze šifrovaná metadata, ty ale sociální síť už nedokáže sama nijak validovat, 'útok' spočívá ve vygenerování a podstrčení legitimně vypadajících ověřovacích metadat.
Jihokorejská kryptoměnová burza Bithumb přiznala vážné selhání interních systémů, které ji vystavilo riziku sabotáže a nezabránilo chybné transakci v hodnotě přes 40 miliard dolarů (814 miliard Kč). Druhá největší kryptoměnová burza v Koreji minulý týden při propagační akci omylem rozeslala zákazníkům zhruba 620 000 bitcoinů místo 620 000 wonů (8700 Kč). Incident vyvolal pokles ceny bitcoinu o 17 procent. Většinu
… více »Google Chrome 145 byl prohlášen za stabilní. Nejnovější stabilní verze 145.0.7632.45 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Zpátky je podpora grafického formátu JPEG XL, viz Platform Status. Odstraněna byla před třemi lety. Nový dekodér JPEG XL jxl-rs je napsán v Rustu. Zobrazování JPEG XL lze vyzkoušet na testovací stránce. Povolit lze v nastavení chrome://flags (Enable JXL image format).
Byla vydána nová verze 1.26 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.
CrossOver, komerční produkt založený na Wine, byl vydán ve verzi 26. Přehled novinek v ChangeLogu. CrossOver 26 vychází z Wine 11.0, D3DMetal 3.0, DXMT 0.72, Wine Mono 10.4.1 a vkd3d 1.18. Do 17. února lze koupit CrossOver+ se slevou 26 %.
Před týdnem vydaná verze 239 správce systému a služeb systemd přinesla podporu Portable Services. Lennart Poettering se těmto "kontejnerům" podrobně věnuje v příspěvku na svém blogu.
Tiskni
Sdílej:
Proc neco delat jednoduse (zmenil jsem -s v konfiguraci za -v -xxxx):
$ doas rcctl start ntpd
ntpd(failed)
$
$ doas rcctl ls failed
ntpd
$
$ doas rcctl -d check ntpd
doing _rc_parse_conf
doing _rc_quirks
ntpd_flags >-v -xxxx<
doing _rc_parse_conf /var/run/rc.d/ntpd
doing _rc_quirks
ntpd
doing rc_check
(failed)
$
$ rcctl get ntpd
ntpd_class=daemon
ntpd_flags=-v -xxxx
ntpd_rtable=0
ntpd_timeout=30
ntpd_user=root
$
A ano, to co popisujes jsem jiz videl prilis casto v produkci s ruznymi services vcetne tech "uz integrovanych" a nepovazuji znefunkcneni zakladnich komponent OS (ktere navic nejdou ani tak snadno detekovat) za pokrok a neco normalniho a ne tak jeste za neco za co by se melo tem firmam platit.
systemd (nebo jiný správce služeb) vůbec nemusí aktivně zjišťovat, jestli nějaká služba běží. Ten proces je spuštěn jako potomek systemd, takže když se proces ukončí, rodičovský proces (tedy systemd) o tom dostane od jádra zprávu. Funguje to tak ve všech POSIX kompatibilních systémech, tedy i v Linuxu.
Problém je, pokud ze systemd není spuštěn přímo proces služby, ale jen nějaký zavaděč, který se po spuštění vlastní služby ukončí. Pak systemd nemá jak zjistit, zda služba opravdu běží. RC skripty to dělají tak, že vědí (třeba ze souboru) PID té služby, a kontrolují, zda je v systému proces s takovým ID. Že ten proces už může být něco úplně jiného, než ta služba, to neřeší.
Init ako systemd musí byť zároveň schopný rozpoznať, či služba je pripravená odpovedať na požiadavky. Pri klasickom sériovom štarte so shell skriptami na tom až tak nezáleží pretože každá služba sa spúšťa samostatne a kontrola sa robí rovno shell skriptom (napr. cyklicky sa snaží pripojiť na postgresql kým sa mu to nepodarí alebo kým neskončí timeoutom), ale systemd, ktorý spúšťa hneď ako je dependency splnená by s tým mal v niektorých prípadoch problém. Napr. mám službu, ktorá potrebuje pri štarte bežiaci postgres - bez toho aby init vedel kedy je postgres skutočne pripravený by takáto služba nebola shocpná naštartovať.
Sysvinit umoznuje naspat cokoliv, a to prave i tu kontrolu jestli web server vraci 200.Ne, to SysVinit neumožňuje. Umožňují to shell skripty, kterými je SysVinit obvykle obalen. Ale k čemu vám bude dobrý shell skript, který jednou za uherský rok, když správce spustí ručně
/etc/init.d/httpd status, zkontroluje, zda webový server vrací kód 200, to je mi záhadou. Na stav služby chci reagovat hend, když se změní.
Navic bude slozite to napsat tak, aby to skutecne vyresilo jestli je sluzba ziva nebo mrtva..Ono to taky není určeno k tomu, aby to monitorovalo kvalitu služby. Typické použití je, že služba se spoustí, načte konfiguráky, zkontroluje je, nakonfiguruje se podle nich, načte třeba potřebné datové soubory, a pak začne naslouchat na portu a je připravena zpracovávat požadavky. A ten okamžik začátku naslouchání na portu je právě okamžik, kdy je z pohledu správce služeb služba připravena a mohou začít startovat služby, které na ní závisejí.
Vie zistiť, či proces beží a ak je služba napísaná a skompilovaná s podporou sd_notify tak dokonca vie, či aj reálne naštartovala. V bežných init skriptoch sa to budď nerieši (skript nezaujíma, či služba už reálne dokáže odpovedať na požiadavky), alebo sa to rieši pevným timeoutom, alebo sa to rieši pollingom.
Nebo jenom zjistuje ze je spusteny nejaky z procesu v cgroup?No systemd dokonce nezjišťuje ani to. Systemd je jedno, zda mu z cgrupy zmizí všechny procesy, prostě považuje službu dál za spuštěnou. Hlavně, že má potřebu celou cgrupu killnout při ukončení služby. Ale to je jedno, tyhle diskuse nemají smysl. Nikdy není chyba na straně systemd, vždy je chyba na naší straně a už dokonce nemáme používat ani distribuční unity, ale všechno si psát sami
.
A start job is running for Create Volatile Files and Directories [11 minutes and counting / no limit]Googlení radí přesunout /usr/lib/tmpfiles.d/ a zkusit nabootovat bez toho. To dělám, systém bootuje, ale nenajíždí sshd, protože neexistuje /run/sshd. Long story short, před upgradem jsem do /tmp vydumpoval kvůli záloze metadata z Artifactory, což je velké množství malých souborů. Promazání /tmp kvůli tomu trvalo „příliš dlouho“ a někde něco vytimeoutovalo. Ruční smazání /tmp/* a systém najel. Fascinující.
Systemd je jedno, zda mu z cgrupy zmizí všechny procesy, prostě považuje službu dál za spuštěnou.To je správné chování pro služby s
RemainAfterExit=yes.