Egy vicces értelmezés szerint arra utal, hogy a systemd 500 komponensből áll ...
- 1858 megtekintés
Hozzászólások
Deszar...
- A hozzászóláshoz be kell jelentkezni
Szvsz az ötszáz azért elég sovány a valósághoz képest... Ha még tudnánk gondolkozni, és tudatosítanánk, hogy egy önértékelés terén súlyos kihívásokkal küzdő ember (aka hybris) konkrétan mindenbe belenyúl, ami a rendszerünkben fut, sikítva menekülnénk.
- A hozzászóláshoz be kell jelentkezni
Szerencsére senki sem közvetlenül használja a termékét, hanem a disztróján keresztül. Tehát előtted már sokan átnézték a kódot, és jónak találták ahhoz, hogy bekerüljön.
Az nem véletlen, hogy gyakorlatilag mindenki systemd-re állt át. Persze, lehet mindenki hülye, de valami alapjának legalább kell lennie, különben nem használnák.
Amúgy meg ugyanez pepitában a macos launch -ja, meg a dózerben is van valami hasonló, most nem jut eszembe a neve.
Egész egyszerűen kellett valami, ami figyel változásokra, és triggerel dolgokat, amikor megtörténnek. Persze lehet 129 különálló szervert indítani egyesével erre, de egyszerűbb összefogni egy rendszerbe, és elnevezni "event handler and reconciler"-nek, vagy akár röviden systemd-nek. :D
- A hozzászóláshoz be kell jelentkezni
> Tehát előtted már sokan átnézték a kódot, és jónak találták ahhoz, hogy bekerüljön.
Ó te kedves, nyári gyermek.
> Persze, lehet mindenki hülye, de valami alapjának legalább kell lennie, különben nem használnák.
Hype. Legfőképp.
> Egész egyszerűen kellett valami, ami figyel változásokra, és triggrel dolgokat, amikor megtörténnek. Persze lehet 129 különálló szervert indítani egyesével erre, de egyszerűbb összefogni egy rendszerbe, és elnevezni "event handler and reconciler"-nek, vagy akár röviden systemd-nek. :D
Cserébe single point of failure-é válik ez a rendszer. Azaz ha itt valami hiba van, akkor nem tudod megkerülni, nem tudsz megoldást adni, csak imádkozhatsz. Normális supportja nincs, mert hát openszósz. Amúgy az eseménykezelésre ő is az uDevD-t használja, tehát ez pont nem a SystemD feladata.
- A hozzászóláshoz be kell jelentkezni
A sima /sbin/init is single point of failure. És ugyanúgy nincs normális supportja, mert openszósz.
Melyik rendszerre igaz az, hogy az init nem spof és van supportja?
- A hozzászóláshoz be kell jelentkezni
Egy initrendszer esetén a support hogy néz ki szerinted? Mert pl. Windows alatt mondjuk a Notepad-nek van normális supportja? Ezt szerintem nem egészen gondoltad át.
“Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”
- A hozzászóláshoz be kell jelentkezni
Ő panaszkodott arra, hogy a systemdnek nincs supoortja. Csak épp azt elfelejtette hozzátenni, hogy pont annyira nincs a többi init rendszernek sem, ez nem megkülönböztető tulajdonsága a systemdnek.
- A hozzászóláshoz be kell jelentkezni
Lépj vissza a kezdőmezőre: pont az a baj, hogy a systemd nem init-rendszer, hanem a Nagy Univerzális Minden program.
- A hozzászóláshoz be kell jelentkezni
Hogy mi? Mi ez a fszsag? Az init az ami, a PID 1 program. Legközelebb már valami filozófiai értelmezésbe megyünk át? Miért keverjük az érzelmeket a tényekkel? Nekem tök mindegy, szereted e, vagy se, ettől még ez egy init program, és a feladatát is ellátja.
- A hozzászóláshoz be kell jelentkezni
Szóltak már neked a systemd-vel érkezett bináris logfájlokról, vagy ez még a jövő zenéje?
- A hozzászóláshoz be kell jelentkezni
A syslognál sem definiált, hogy a logfájl az bináris vagy nem, a szabvány sem írja elő a plain textet.
A syslog-ng is tudja binárisan is tárolni a logokat, ha úgy állítod be.
Ha te logokat akarsz olvasni, akkor nem egyértelmű, hogy azt tudod-e plaintext kezelő eszközökkel olvasni, mert a rendszerben bármikor lehet bináris a logfájl, nem definiált, hogy az, vagy nem az.
- A hozzászóláshoz be kell jelentkezni
Nézd, egy ideje a szakmában vagyok, volt és van változás mindig. Az él túl aki nyitott ezekre. A jót próbáld ebben meglátni.
JFYI: Normális rendszereknél a logokat nem az adott hoston dolgozzák fel.
- A hozzászóláshoz be kell jelentkezni
Most még init program, de mivel kisgömböcként falja fel a linuxot, maholnap a systemd lesz az egész oprendszer. Ne feledjük, hogy a Windows is csak egy shell volt valaha, most meg ugye... :-)
- A hozzászóláshoz be kell jelentkezni
Én pedig nem látom, hogy valaki is a felhasználók belenyugvása nélkül könnyen meg tudná tenni. Itt nem CEO dönt, bármikor csinálhatsz egy saját disztribúciót.
- A hozzászóláshoz be kell jelentkezni
A systemd projekt részei közül semmit sem kötelező használni, sem a resolved, homed, journald stb. Semennyire sem kell használnod. Ha a disztribúció úgy dönt, hogy használja, akkor pedig tőlük kapsz támogatást rá.
Amúgy különítsük el azt, hogy systemd-t mint szoftvert értjük (ami az init rendszer és service manager)vagy a systemd-t mint projektet értjük, az alá tartozó egyéb szoftverekkel (systemd-homed, systemd-resolved és társai).
- A hozzászóláshoz be kell jelentkezni
Mmint erről az egészről sokat elmond, hogy egyrészről van ez a vélemény, hogy mert csúnya monolitikus izé, amiben minden IS benne van, másrészről meg a videó legjobb része, hogy a D bizonyára azt az ötszáz komponenst jelenti, amiből áll :)
- A hozzászóláshoz be kell jelentkezni
Az a baj, hogy nem egyértelmű név, a systemd jelenti magát a sok komponensből álló projektet és magát az init/service managert.
- A hozzászóláshoz be kell jelentkezni
Ez valóban nem segít, de azért nem ez az egyetlen oka. Egyrészt van ez az ideológia basz, hogy túl sok minden van túl összefonódva benne, másrészt meg vannak ennek egyértelmű előnyei a gyakorlatban (meg a hátrányai is nyilván). Nyilván nem segít Pöettering főni csudálatos stílusa se, meg hát azért volt benne bugi is rendesen (természetesen a minden másban is), meg hát a featureök minősége is változó, van néhány kifejezetten jó része, néhány elég fos, a többség kissé hintázik a meh, good-enough vonalon (tegnap pl nem először szembesültem azzal, hogy hát jó ez a journalctl, de azért így helyenként lehetne flexibilisebb). Összességében nem egy igazán "szerethető" szoftver.
Imho a nemszeretem bagázs azért szeret kevésbé fontos dolgokat túlfújni, meg azért néha nem látják a fától az erdőt. Amikor minden egyben van, akkor pfujj, mert a unix way az a do one thing but do it well, miért van benne ennyi minden a systemd-ben, a másik oldalon meg mikor pl a DEk úgy vannak vele, hogy ők inkább írnának DE-t akkor, és basszon nyugodtan a session managementtel pl a logind, nem tartanak karban ugyanarra mind egy-egy saját megoldást, számukra marginális területen, akkor meg az a baj, hogy jajjdependency....
Ezzel együtt, azért tény, hogy rendesen széttarabolni részeit egyáltalán nem triviális, valószínűleg alternatívákat biztosítani és karbantartani se az, nyilván nem véletlen nem sokan csinálják.
- A hozzászóláshoz be kell jelentkezni
De hát pont azért áll sok komponensből a systemd projekt, hogy UNIX elvek mentén composable legyen a rendszered. És felépítheted a rendszeredet a SysV komponensek helyett systemd komponensekből. Egyáltalán nem látom a problémát, nem egy monolitikus szar. Az más kérdés, hogy egy olyan sok komponensből álló rendszer, amit egységes elvek mentén, együttműködésre terveztek. De hát ilyen minden kereskedelmi UNIX is manapság.
Nekem nincs problémám azzal, ha valaki SysV stílusú rendszert szeretne, de azért lássuk be, az elmúlt 35 évben rájöttünk arra, hogy annak milyen hátrányai, kényelmetlenségei, korlátai vannak. Pont ezeket akarja a systemd projekt megugrani, és adni egy egységesen kezelhető alaprendszert, ami a GNU komponensek mellett oprendszert csinál.
Talán ahhoz tudnám hasonlítani, hogy míg a *BSD projektekben az egyes OS-szintű eszközöket a projekt maga fejleszti, addig a GNU/Linuxnál ez sosem volt így, és a systemd projekt pont ezt akarja megcsinálni. És akkor lehet rá tényleg dependálni, szépen UNIX módra összelegózni a funkcionalitásokat - csak éppen a legózás egyes elemeit ugaynaz a "gyár" állítja elő, és nem ezerféle implementációra kell felkészülnie a dependens szoftvereknek.
Azt akarja kezelni, ahol a POSIX szabványosítása már véget ér, és meg vannak lőve a fejlesztők, hogy na akkor most mit is feltételezhetünk a runtime-ról, mit és milyen formában biztosít a szoftveremnek.
- A hozzászóláshoz be kell jelentkezni
Teljesen egyetértünk, én is így látom a helyzetet, épp a két megmondás közötti ellentmondásra akartam felhívni a figyelmet, hogy hát kissé van-e rajta sapka helyzet van.
És jepp, azt nem írtam, de egyébként valóban pontosan az a legjobb benne, hogy ez egységes elvek mentén, összedolgozásra van (és ezt nem szokták érteni azok, akik a túl bonyolult, és össze van nőve, nem elég elkülönült darabokból van állásponton vannak). Hogy a darabjai lehet hogy meh, a timerek lehet hogy kevésbé tetszenek mint egy cron, meg bonyibbnak tűnnek, cserébe össze vannak nőve rendesen a service managementtel, nem kell körbevarázsolni. Hogy lehet, hogy resolved pfujjpfujj, mert beletolakodik a resolve.confba, és "nem tudod mi történik" (egyébként de), meg vannak miatt szopások (hello docker és resolve.conf másolgatás), cserébe amikor a network manager felhúz egy openvpnt, akkor a split tunnel beállítások alapján beállítódik magától a megfelelő resolve routing. Meg ilyenek.
- A hozzászóláshoz be kell jelentkezni
Másik hasonló téma, amit a POSIX nem fed le, és jó lenne rá valamilyen normális egységes megoldás, az azok a problémák, amikre a freedesktop.org próbál választ adni. Sokan szidják azt is, pedig ha nem lenne, még nagyobb káosz lenne.
- A hozzászóláshoz be kell jelentkezni
Ez biztos? Én még nem hallottam arról hogy journald nélkül menne a systemd. Tudtommal az egy elég hard dependency. A -homed meg -resolved, meg pár társa valóban opcionális.
Régóta vágyok én, az androidok mezonkincsére már!
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Tegyük hozzá, hogy ettől még fut az, csak kevesebb dolgot csinál, de továbbra is átmászik rajta minden is.
- A hozzászóláshoz be kell jelentkezni
Nem, nem megy át rajta minden, te nyugodtan logolhatsz máshová, nem kötelező a journald-t használnod. Nem várja el senki tőled, hogy egy systemd-s rendszeren használjad kötelezően a journald-t logolásra.
- A hozzászóláshoz be kell jelentkezni
Elolvasva a linkelt KB cikket, nekem pont úgy néz ki, hogy a journald továbbra is ott van, továbbra is fut, és minden log ami a _systemd-ben keletkezik_ a journald-be megy. Csak éppen a bináris logfájlját nem írja, hanem azonnal forwardolja az rsyslogd-nek.
Az egy teljesen másik kérdés, hogy az alkalmazásaidat/service-eidet a saját konfigfájljaikkal külön konfigurálhatod, hogy máshova logoljanak (ha támogat ilyet). Illetve - ha van erőforrásod karbantartani a service file overlay-eket minden vicik-vacak service-re - akkor persze egyedileg eltérítheted a default stdout/stderr logolását journald-től máshova. De ettől még a journald nem szűnik meg a systemd kötelező függőségének lenni, ellenben sok más systemd-szatelit vackokkal, amik tényleg opcionálisak.
Régóta vágyok én, az androidok mezonkincsére már!
- A hozzászóláshoz be kell jelentkezni
Idéznék belőle:
Edit the journald configuration at /etc/systemd/journald.conf; switch journal to in-memory only mode and enable forwarding:
[Journal]
Storage=none
ForwardToSyslog=yes
Create drop-in for the rsyslog unit configuration file at /etc/systemd/system/rsyslog.service.d/logging.conf with the following content to ensure socket creation and linking:
# https://access.redhat.com/articles/4058681
[Unit]
Requires=syslog.socket[Install]
Alias=syslog.service
Load the drop-in file, and restart services:
Raw# systemctl daemon-reload
# systemctl enable rsyslog.service
# systemctl restart rsyslog.service
# systemctl restart systemd-journald.service
Man:
ForwardToSyslog=, ForwardToKMsg=, ForwardToConsole=, ForwardToWall=, ForwardToSocket=
Control whether log messages received by the journal daemon shall be forwarded to a traditional syslog daemon, to the kernel log buffer (kmsg), to the system console, sent as wall messages to all logged-in users or sent over a socket.
A man nem írja le értelmesen, hogy ez konkrétan a syslog.socketet jelenti, de mi mást jelentene (különös tekintettel, hogy bool value a forwardtosyslog)
Szóval de, a journald service fut, és keresztülfolyik rajta minden, ő teszi ki a syslog socketre.
Szerk: Ha azt szeretted volna mondani, hogy egyéb dolgokat irányíthatok direktben a syslogra, az természetesen igaz. Csak hát ez azt nem támasztja alá, hogy a systemd menne a journal nélkül (tippre ha kikapcsolod menni fog, de a felőle jövő logok rohadtul nem fognak kijönni sehogyse)
- A hozzászóláshoz be kell jelentkezni
Azaz ha itt valami hiba van, akkor nem tudod megkerülni, nem tudsz megoldást adni, csak imádkozhatsz.
Mi van? Melyik init rendszernél nem így van? Mikor adtál meg más init binary-t kernel bootsorban legutoljára?
Normális supportja nincs
Azt ugye tudod, hogy az RHEL és az Ubuntu is systemd-vel van szállítva? Én értem, hogy semminek értékeled az enterprise támogatást, de attól még nagyon nincs rendben amit írsz.
i.e.: lehet a systemd-t szeretni/nem szeretni, lehet azon is dühöngeni, hogy nincs igazi versenytársa, de azért a tényeket nem kellene elferdíteni.
- A hozzászóláshoz be kell jelentkezni
Opensource esetén közösségi support van, illetve megfikszálhatod a problémát magadnak. Ha ennél többet szeretnél akkor ki kell fizetni az enterprise supportot.
- A hozzászóláshoz be kell jelentkezni
Meglepett a válasz, azt hittem én is, hogy d=deamon. Nem mintha számítana.
“Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”
- A hozzászóláshoz be kell jelentkezni
Gondolom, csak poén.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
didló
- A hozzászóláshoz be kell jelentkezni
D, mint "Disaster". Tegnap 2x próbáltunk DR-t egy szerveren (REAR-rel szépen ment vissza SLES15 SP6-ra, ott se indult el az SAP, csak néha) SLES15 SP7 upgrade után nem indult el az SAP(csak néha, mint a mesében), vagy az SAP vagy a SystemD hibás, vagy mind azok. :)
- A hozzászóláshoz be kell jelentkezni
Off: ebből csak annyit értek hogy a tényleges programindítás megkönnyítőprogramok sorozatán át történik, a hibaüzenetek (ha vannak) eltűnnek a semmiben, a debuggolás kb. lehetetlen.
- A hozzászóláshoz be kell jelentkezni
Ebből a leírásból nekem annyi látszik, hogy az üzemeltetőkben van a hiba.
- A hozzászóláshoz be kell jelentkezni
Nekem az SAP-hoz 0 közöm van. Systemd fejlesztő sem vagyok. Akkor hol van a hiba?🤐
- A hozzászóláshoz be kell jelentkezni
Bár nem tudom jelen esetben mi a konkrét probléma forrása - lehet, hogy a konkrét service file-ban van elrontva valami -, de az általános tapasztalatom nekem is hasonló.
Ha tényleges reliability kell, mondjuk HA corosync, ill pacemaker clusterrel... Vagy akárcsak egy periodikus healtcheck és watchdog automatikus újraindításhoz... Na akkor kezdenek a systemd service management bugjai előmászni a sötétből.
Addig tkp egész jól lefedi az alap használati eseteket (jobban, mint ahogy anno SysV vagy BSD init scriptekben bármilyen tákolással meg lehetett oldani), de a HA-környéki használati eseteknél kiütköznek a 15+ éves, azóta sem javított bugok. Megbízhatatlan systemd-notify, és emiatt fals módon triggerelődő watchdog és társai... A Wants=, DependsOn= stb. függőségkezelés anomáliái. Hogy nem tudod rendesen megoldani, hogy melyik visszatérési érték számítson "retry-olós hibának", melyiknél adjuk fel azonnal és hagyjuk failoverelni amilyen gyorsan csak lehet. Ilyenkor tényleg az szokott a vége lenni, hogy ki kell venni az adott service-t (service tree-t) a systemd kezelése alól.
Régóta vágyok én, az androidok mezonkincsére már!
- A hozzászóláshoz be kell jelentkezni