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 David Heidelberg, vývojář GPU ovladačů v Mesa 3D a jeden z hlavních lidí české komunity kolem … 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 »Společnost Framework představila nový Framework Laptop 12 s Intel Core Series 3, Thunderbolt 4, Wi-Fi 7, volitelnou čtečkou otisků prstů a podsvícenou klávesnicí s open-source firmwarem ZMK. Objednat lze s předinstalovanou Fedorou 44 KDE Plasma.
Byl vydán Mozilla Firefox 154.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 154 bude brzy k dispozici také na Flathubu a Snapcraftu.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 168 (pdf).
Open-source citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 10. Přehled novinek v příspěvku na blogu.
Interaktivní editor binárních dat GNU poke byl vydán ve verzi 5.0 (seznam změn).
Byla vydána verze 0.85 telnet a ssh klienta PuTTY (Wikipedie). Řešeno je 5 zranitelností.
Byly publikovány novinky z vývoje GIMPu. Pracuje se na novém formátu souborů. Stávající binární XCF bude nahrazen "zazipovaným XML". XCF zůstane plně podporován pouze pro načítání starých souborů.
Měsíc po vydání RC verze byla vydána stabilní verze Devuanu 2.0.0. Její kódové jméno je ASCII, podle planetky s katalogovým číslem 3 568. Přehled novinek v poznámkách k vydání. Devuan (Wikipedie) je fork Debianu bez systemd.
Tiskni
Sdílej:
Tak používaj svoj oneclick systém.
ení to směšné?Není, keby sme sa chceli ťahať za pipíky, tak si môžeme porovnať verzie programov a ver tomu, že Gentoo už dávno zaspalo dobu.
Debian je na tom s podporou init skriptov / systemd unitov dlhodobo zle. Pred systemd to bola len zmes hrozne nespoľahlivých skriptov. Niečo tak neprehľadné a nefunkčné sa len tak ľahko nevidí. Po nasadení systemd síce stále niektoré služby nefungujú (za všetky spomeniem napr. taký gitlab ktorý má 50% pravdepodobnosť naštarotovania, alebo uwsgi, ktorý naštartuje takmer vždy, ale pravdepodobnosť, že sa neskôr dá reštartovať je tak 10%), ale stačilo napísať vlastné pár riadkové unity a všetko krásne funguje.
Niektoré fungovali, niektoré nie. Tie najbežnejšie asi fungovali, ale akonáhle som potreboval rozbehať redmine tak štart fungoval, vypnutie tak v 20% prípadov vytuhlo. Gitlab robil to isté, akurát potreboval viacej krokov a vytuhlo to tak v 50% prípadov. Vtedy som musel zistiť v akom stave zostal visieť, pokillovať čiastočne naštartovaný gitlab ručne a skúsiť ho ručne naštartovať. Úplne najhoršie bolo asi uwsgi. Úspešnosť vypnutia služby bola tak 20% a moc jednoducho som to nevedel pokillovať, takže pri reštarte uwsgi som radšej rovno reštartoval server. Áno, nasieralo to zákazníkov, ale vždy to trvalo kratšie než keby som mal všetky procesy killovať, kontrolovať zámky atď.
Nechcem tu byť za obhajcu systemd, ale treba si uvedomiť, že doba sa trochu zmenila. Časy keď sme na serveri hostovali pár PHP stránok, všetko to bežalo pod apachom, ktorý si sám mangoval PHP, sám si managoval vlastné procesy, sám sa staral o logovanie, sám sa staralo o zapisovanie PID ... sú preč.
Dnes mám na serveri mnoho malých služieb, ktoré bežia samostatne. Niektoré sú štartované na požiadanie, iné štartujú hneď pri boote. Niektoré sa automaticky vypnú pri nečinnosti. Niektoré potrebujú závislosti. Niektoré sú uzavreté v chroote. Keby som to chcel managovať starým spôsobom musel by som každú jednu aplikácu naučiť fork, ku každej jednej ktorá beží pod chrootom by som musel napísať vlastný supervizor, v kadej by som musel riešiť logovanie, ku každej aplikácii by som musel napísať init skripty so špecifickým sleepom podľa toho koľko aplikácii trvá zapísanie PID ... tieto veci sa našťastie presunuli do systemd a pri vývoji aplikácie sa o ne už nemusím starať.
Z mojej strany je odchod od initu vykúpením z nekonečného písania skriptov, ladenia, dopisovania toho istého deravého kódu do každej aplikácie, ladenia, opravovania každej jednej aplikácie, ladenia ... Určite by som u systemd uvítal menej arogantné správanie vedenia, väčší dôraz na opravovanie chýb, minimalizáciu závislosti, možnosť nahradiť binárne logy a mnoho mnoho ďalších vecí, ale ako celok to vnímam pozitívne.
Nechcem tu byť za obhajcu systemd, ale treba si uvedomiť, že doba sa trochu zmenila. Časy keď sme na serveri hostovali pár PHP stránok, všetko to bežalo pod apachom, ktorý si sám mangoval PHP, sám si managoval vlastné procesy, sám sa staral o logovanie, sám sa staralo o zapisovanie PID ... sú preč.Ani náhodou. Provozuju na serveru víc než pár stránek, Apache si pořád managuje svoje vlastní procesy, sám si managuje PHP (se suexec, aby to všechno neběželo pod apachem), sám si zapisuje PID, celé to běží pod supervizorem, systemd-free. (A s radostí pozvu na pivo každého, kdo mě přesvědčí, že existuje lepší způsob, jak to udělat.)
Dnes mám na serveri mnoho malých služieb, ktoré bežia samostatne. Niektoré sú štartované na požiadanie, iné štartujú hneď pri boote. Niektoré sa automaticky vypnú pri nečinnosti. Niektoré potrebujú závislosti.Jo, dobrý, uznávám, že supervizor, který umí řešit závislosti a spouštět služby on-demand, není v principu špatný nápad. Ale systemd+universe (mínus bulánci) je špatná realizace.
Ten apache je typický príklad starej služby. Má určitý master proces, ktorý má pid a init systém komunikuje s master procesom cez signály a ten ďalej managuje forky. Ja som potreboval inicializovať služby bez master procesu a bez práv na zápis mimo svojich chrootov.
Ja netvrdím, že systemd je správne realizovaný, ale rieši problém, ktoré som predtým nedokázal vyriešiť bez vytrhania vlasov. Teda ok, aby som nebol zlý upstart sa celkom približoval k tomu, čo som potreboval. Keby bola rozumná alternatíva k systemd tak by som ju rád používal, lebo je až príliš veľa vecí koré mi na ňom vadia.
Ozaj len pre zaujímavosť aký supervizor je dobrý? Pred prechodom na systemd som používal supervisord, ale ten fungoval celkovo nejak divne.
Ozaj len pre zaujímavosť aký supervizor je dobrý?Já používám runit - stačí na to, co potřebuju - tj. spustit službu a držet ji spuštěnou - ale víc toho neumí.
Ja na desktope používam gentoo. Init skripty neriešim, je to desktop, takže stačí, že to naštartuje do X.
Na serveroch niekde ubuntu, niekde debian. S prechodom na systemd som veľmi spokojný. Na rozdiel od init skriptov systemd funguje spoľahlivo a mohol som 200-riadkové monštrá nahradiť 10-riadkovými konfigurákmi. Všetko pekne používa cgroups, niektoré služby majú socketovú aktiváciu, služba sa naštartuje na požiadanie, pri nečinnosti sa pekne ukončí ...
Ako príklad uvediem toto. Sú to len pomocné funkcie k uwsgi, okrem nich init skript includuje ešte 3 ďalšie súbory s pomocnými funkciami, ktoré includujú ešte ktovie koľko ďalších. Celý tento bordel som nahradil dokopy 11 riadkami pre socketovú aktiváciu (to sysvinit nedokáže) a 17 riadkami pre štart a konfiguráciu služby.
Na zdržanlivosť si nepotrpím :P
Ale teraz vážne. Init funguje dobre na služby kde služba naštartuje, zapíše PID a pod týmto PID zostane bežať až kým ju init nekillne. Ak sa aplikácia potrebuje počas behu prepnúť užívateľa, zatvoriť sa do chrootu, využije k tomu exec, vymení PID a nemôže ho zapísať lebo je v chroote tak sa celý init jednoducho zosype pretože stratí PID. V systemd je stále súčasťou cgroup a dá sa bezpečne ukončiť. Ak potrebujem služby zapínať a vypínať dynamicky (teda služba naštartuje pri pripojení na socket a sama sa vypne pri nečinnosti) tak to je v inite tiež neriešiteľné. Takto by som mohol pokračovať pre mnoho ďalších prípadov.
Či som niekedy skončil s nebootovateľným serverom? So systemd zatiaľ nie, s initom niekoľko krát. Na druhej strane na desktope s archom som pár krát skončil s nebootovateľným systemd a úspešnosť bootu so systemd (ak vôbec fungoval) bola tak 75%. Vo zvyšných 25% prípadov sa systém sekol, čo naštvalo hlavne keď som ho nadiaľku reštartoval. To bolo v začiatkoch systemd, takže odhadujem, že teraz to už bude odladené.
Nenabootovať do sysVinit mi príde po rokoch používania Debianu a derivátoch neuveriteľné. Fakt Mirec si to zrejme znásilňoval viac ako sa má. Ja som o tom ani nepočul, nie že by som to riešil.
Neviem kde bol u mňa problém so sysvinitom. Viem, že mi to urobilo na pár VPS-kach keď som tam spustil skript na aktualizáciu vydania. Vtedy som vrátil späť klon, spustil ten istý skript znovu a druhý krát to prešlo a nabootovalo.
Debiania komunita ktorá bola neskutočne veľká a neverím, že by nikto neriešil tvoje problémy.
Moje problémy neboli riešiteľné sysvinitom. V debiane uhackovali niečo, čo fungovalo niekedy keď sa daemon nechrootoval. Väčšina užívateľov to riešila cez supervizora (ale aj s tým som mal problémy).
Nič nedokázalo tak veľkú komunitu rozbiť a predsa sa našiel zmrd, čo to dokázal.
LP mi svojim prístupom vadí, požieranie ostatných projektov mi tiež vadí, ale som pragmatický človek. Potrebujem aby server fungoval spoľahlivo a potrebujem aby som si pri tom nevytrhal vlasy a prekvapujúco systemd toto splňuje z init systémov, ktoré som skúšal najlepšie.
Konfigi treba ukladať, kde ťa napadne, napr. do /usr/lib, to je to pravé miesto.
Umiestnenie unitov v /usr/lib mi žily netrhá. Radšej by som tak dôležitý komponent ako systemd videl v /lib aby sa dal nabootovať systém, ktorý náhodou nepripojí /usr, ale to je drobnosť. Umiestnenie unitov do podadresára lib je mimochodom správne. Len pre zaujímavosť pozri si kde máš umiestnené také veci ako ssl certifikáty, mimetypy, udev pravidlá ...
Vlastné, alebo upravené systemd unity sa ukladajú do /etc, systémové sú v /usr/lib, čo je asi najlepšie riešenie pretože pri aktualizácii ti nerozbije /etc ako sa to dialo doteraz. V gentoo som používal kedysi jeden upravený skript v /etc/init.d a pri každej aktualizácii som musel spustiť diff a aplikovať znovu svoje zmeny.
Kde sa kurwa pripájajú disky a prečo? Asi cez texťák vytiahnem neskurvený log?
Disky neviem, nestarám sa kým to funguje, ale naposledy to používalo normálne fstab. Logy mi fungujú ako doteraz (síce k tomu pribudol binárny log, ale stále sa posielajú aj do syslogu, takže neriešim, ale na nové služby som si už zvykol prezerať cez journalctl).
# dpkg -l | grep udev ii libudev1:i386 232-25+deb9u3 i386 libudev shared library ii udev 232-25+deb9u3 i386 /dev/ and hotplug management daemon # dpkg -l | grep systemd ii libsystemd0:i386 232-25+deb9u3 i386 systemd utility library
non-systemd fork udev je eudev(od gentoo vyvojaru), v devuanu je, v debianu nevidim...
Mam pocit, akoby som sa tu bavil s absolventami pomocnej skoly...
Ano, je to tak! udev v debianu je ten ze systemd.A proč by mi to mělo vadit, když funguje i bez běžícího systemd?