Nogen er ikke særlig glade for: systemd

Nyheder om Open Source, Ubuntu, andre distributioner og meget mere.
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Nogen er ikke særlig glade for: systemd

Indlæg af lath »

systemd kommer (er kommet?) snart til Ubutntu.
Systemd kommer til at være en erstatning for upstart, og upstart er en erstatning Sys V init scripts.

Sys V init scripts / upstart /systemd er et meget vigtig program:
Det er det eneste program kernen starter op automatisk.
Programmet har PID (Process ID) nummer 1, og starter alle andre programmer op før du kan logge ind, evt. bruge din desktop med det samme uden at logge ind.

Jeg er ikke så glad for systemd.
Det er primært fordi at den ikke overholder UNIX filosofien om den kun skal en ting - og gøre den ene ting godt.
Problemet er at store programmer der forsøger at gøre for mange ting på en gang bliver meget mere kompleke end flere små programmer, der gør nøjagtig kun 1 ting.

Læs eventuelt mere i "The Art of UNIX Programming", der er en gratis on-line bog (på engelsk): http://www.faqs.org/docs/artu/, mere specifikt er stedet i bogen jeg referer til det her sted: http://www.faqs.org/docs/artu/ch01s06.html -> "Rule of Composition: Design programs to be connected with other programs.".
Bogen er skrevet af Eric Steven Raymond, der også skrev "The cathedral and the bazaar"

Nå, men jeg er heller ikke den eneste der ikke er alt for begejstret for systemd, som beskrives her:
"Systemd: Harbinger of the Linux apocalypse - It might not be the end of the world, but the design of systemd and the attitudes of its developers have been counterproductive"
http://www.infoworld.com/d/data-center/systemd-harbinger-of-the-linux-apocalypse-248436
... der med ordene "A schism and war of egos is unfolding within the Linux community right now, and it is drawing blood on both sides" blandt andet referer til: https://lkml.org/lkml/2014/8/12/459.

Iøvrigt fik en af systemd udvikleren max høvl (hint: "I'm f*cking tired of your code. ...") af Linus Thorvalds for at komme med en path til kernen der reparer en fejl i systemd - og i bonus blev hans adgang til at sende kildekode til kernen suspenderet:

Jeg fandt infoworld linket i nyeste nummer (#88) af Full Circle Magazine: http://fullcirclemagazine.org/2014/08/29/full-circle-88-is-out-now/, der som bekendt er helt gratis :) - og bedst af alt - ikke spammer din email adresse

Hvad synes du om systemd?

/Lars

Edit1:
Der var lige en ekstra artikel om systemd:
"Choose your side on the Linux divide - The battle over systemd exposes a fundamental gap between the old Unix guard and a new guard of Linux developers and admins"
http://www.infoworld.com/d/data-center/choose-your-side-the-linux-divide-248950
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
Brugeravatar
NickyThomassen
Admin
Indlæg: 3652
Tilmeldt: 5. mar 2010, 19:58
IRC nickname: nicky
Geografisk sted: 192.168.20.42

Re: Nogen er ikke særlig glade for: systemd

Indlæg af NickyThomassen »

Ligesom med forsøgene på at erstatte X, så ser jeg heller ikke nogen grund til at erstatte INIT. Begge typer af software har bevist deres værdi igennem rigtig mange år, og for at være ærlig, så stoler jeg ikke på en programmør som siger, at han eller hun kan gøre det bedre.

Og lige med INIT, så forstår jeg ikke at en reducering i boot-tid på 10-15 sekunder, kan retfærdiggøre så stor en ændring. Faktisk forstår jeg slet ikke at hastighed kan være et mål i sig selv, for hvis computeren ikke kan starte, så er det hele lidt ligegyldigt, syntes jeg.

Problemet er nok, som artiklerne også lidt hentyder, at de nuværende udviklere begynder at være yngre end softwaren. Oversimplificeret sagt, så er min teori, at de nuværende udviklere / programmørere ikke længere forstår software som X og INIT. Men i stedet for at lære den at kende, så vil de hellere lave deres egen software, som løser den samme opgave. Og i dén process, glemmer de Linux' rødder hos UNIX, og smider 50 års erfaring på porten.

I alle andre sammenhænge tror jeg, at man ville kalde sådan en gruppe folk for amatører. Men hvad ved jeg, ifølge dem er jeg bare en konservativ sysadmin der ikke ønsker forandring, eller forstår problemet.

Det ærger mig altid, at se så mange kræfter blive brugt på noget, som strengt taget ikke er nødvendigt. Både med X og INIT, men også alle de konflikter der efterfølgende opstår, fordi nogle få mener de har svaret.
Brugeravatar
NickyThomassen
Admin
Indlæg: 3652
Tilmeldt: 5. mar 2010, 19:58
IRC nickname: nicky
Geografisk sted: 192.168.20.42

Re: Nogen er ikke særlig glade for: systemd

Indlæg af NickyThomassen »

https://bbs.archlinux.org/viewtopic.php?pid=1149530#p1149530
3) it allows dbus/udev to go back to doing the task they are meant to do: both udev and dbus are currently (mis)-used to start daemons/long-running services on demand. In the case of dbus this is by design, but in the case of udev it is not. Either way, it is not what those daemons were built to do, so in keeping with the UNIX principle of one task per daemon, it is great that we can now let systemd (whose job it is to manage daemons) take this over. That is, udev and dbus can both signal systemd to start a certain daemon, and it will behave like if it was started in any other way (you have the logs, status etc). One problem that this solves is the inherent race-condition in some daemons (I think bluetoothd was guilty of this at some point) allowing both being started as soon as possible on boot (say by putting it in DAEMONS), and to be started on-demand by dbus. Systemd makes sure that both these things can happen, and if they do happen at the same time you will only end up with one instance of the daemon as expected.

Postet uden kommentar.
zob
Redaktør
Indlæg: 4430
Tilmeldt: 6. jan 2009, 22:01
Geografisk sted: København

Re: Nogen er ikke særlig glade for: systemd

Indlæg af zob »

Jeg har slet ikke energi til at sætte mig ind i omfanget af at indføre systemd. Det virker dog umiddelbart som et alvorligt indgreb som burde skabe mere opmærksomhed end de ramaskrig der var omkring skiftene fra KDE 3->4, Gnome 2->3 eller ubuntus skift til unity, som jo trods alt bare kunne udskiftes uden det store besvær. Det lyder umiddelbart også som problematisk at gøre op med det gamle unix princip om at ét program skal gøre én ting.

Når det så er sagt er det så ikke overraskende så mange distroer der har tilvalgt systemd? Så vidt jeg ved er det kun slackware og måske gentoo (??), i hvert fald Funtoo, der ikke har planlagt skift til systemd. Man må jo også have lidt tillid til alle de meget dygtige mennekser der har vurderet at systemd er vejen frem. Jeg ved godt det ikke er det bedste argument i verden, men jeg har svært ved at forstå hvorfor alle beslutningstagerne og udviklerne bag de største distroer skulle tage fejl. Er der nogen der kan give mig et tip om hvordan det kan ske?

http://en.wikipedia.org/wiki/Systemd#Adoption
martin joergensen
Indlæg: 293
Tilmeldt: 12. maj 2014, 18:29
Geografisk sted: Kolding

Re: Nogen er ikke særlig glade for: systemd

Indlæg af martin joergensen »

RHEL 7 kører Systemd
Debian besluttede at køre Systemd, Ubuntu følger efter.
Systemd er fremtiden

Jeg har hellere ikke sat mig ned i de dybe detaljer omkring opstart processor, men har hørt denne diskussion omkring upstart vs systemd på Linux Action show og Linux Unplugged mange gange og de er kun store fortaler for SystemD.

Det bliver jo en del nemmere at administrere services på server, det er jo altid spændene at høre om nye tiltag i OpenSource :D
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Nogen er ikke særlig glade for: systemd

Indlæg af AJenbo »

lath skrev:Det er primært fordi at den ikke overholder UNIX filosofien om den kun skal en ting - og gøre den ene ting godt.
Problemet er at store programmer der forsøger at gøre for mange ting på en gang bliver meget mere kompleke end flere små programmer, der gør nøjagtig kun 1 ting.

Når jeg høre det argument skyldes det oftest at folk refere til systemD projektet og ikke servicen. Det svare lidt til at sige Gnome ikke høre til noget sted pga. det både har et program til at brænde dvd'er og et til pdf fremvisning.

NickyThomassen skrev:Men i stedet for at lære den at kende, så vil de hellere lave deres egen software, som løser den samme opgave. Og i dén process, glemmer de Linux' rødder hos UNIX, og smider 50 års erfaring på porten.

SystemV (som er 30 år gamelt) har det problem at det er serielt og ikke rigtig har opsætning for relationer. For mig virker det mere som at de drager en konklusion ud fra de sidste 30 års erfaring og tager det nødvendige skridt for at komme videre med udviklingen. De fleste maskiner i dag har efterhånden mere end en kerne på cpu'en :)
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: Nogen er ikke særlig glade for: systemd

Indlæg af lath »

AJenbo skrev:
lath skrev:Det er primært fordi at den ikke overholder UNIX filosofien om den kun skal en ting - og gøre den ene ting godt.
Problemet er at store programmer der forsøger at gøre for mange ting på en gang bliver meget mere kompleke end flere små programmer, der gør nøjagtig kun 1 ting.

Når jeg høre det argument skyldes det oftest at folk refere til systemD projektet og ikke servicen. Det svare lidt til at sige Gnome ikke høre til noget sted pga. det både har et program til at brænde dvd'er og et til pdf fremvisning
.

Jeg referer lige netop til programmet og ikke projektet, så det er et stråmandsargument.
Gnome og et DVD/CD brænder program er: flere programmer, og systemd er det modsatte: alt i et program.

AJenbo skrev:
NickyThomassen skrev:Men i stedet for at lære den at kende, så vil de hellere lave deres egen software, som løser den samme opgave. Og i dén process, glemmer de Linux' rødder hos UNIX, og smider 50 års erfaring på porten.

SystemV (som er 30 år gamelt) har det problem at det er serielt og ikke rigtig har opsætning for relationer. For mig virker det mere som at de drager en konklusion ud fra de sidste 30 års erfaring og tager det nødvendige skridt for at komme videre med udviklingen. De fleste maskiner i dag har efterhånden mere end en kerne på cpu'en :)


Om noget kører serielt eller ej - jeg er ligeglad - bare det virker.
Kompleksiteten stiger enormt, når man forsøger at køre noget i parallel, der har afhængigheder til at noget er startet før noget andet.
"... komme videre med udviklingen" lyder som om at noget skal skiftes ud bare fordi det er gammelt, også selv om det stadig fungerer fint.

Den sidste artikel i mit første indlæg peger meget fint på at der er en forskel på de yngre og ældre udviklere/sysadmins:
Det er den her artikel:
"Choose your side on the Linux divide - The battle over systemd exposes a fundamental gap between the old Unix guard and a new guard of Linux developers and admins"
http://www.infoworld.com/d/data-center/choose-your-side-the-linux-divide-248950

Jeg er næsten sikker på at jeg kommer til at skifte til Slackware Linux, NetBSD eller FreeBSD/PC-BSD - mest et BSD system.
Lige nu er jeg igang med at afprøve Slackware Linux på min Netbook computer.

Jeg har ikke noget imod at X skiftes ud med f.eks. MIR, da det er en simplificering.

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Nogen er ikke særlig glade for: systemd

Indlæg af AJenbo »

lath skrev:
AJenbo skrev:
lath skrev:Det er primært fordi at den ikke overholder UNIX filosofien om den kun skal en ting - og gøre den ene ting godt.
Problemet er at store programmer der forsøger at gøre for mange ting på en gang bliver meget mere kompleke end flere små programmer, der gør nøjagtig kun 1 ting.

Når jeg høre det argument skyldes det oftest at folk refere til systemD projektet og ikke servicen. Det svare lidt til at sige Gnome ikke høre til noget sted pga. det både har et program til at brænde dvd'er og et til pdf fremvisning
.

Jeg referer lige netop til programmet og ikke projektet, så det er et stråmandsargument.
Gnome og et DVD/CD brænder program er: flere programmer, og systemd er det modsatte: alt i et program.

Læs 1 og 10:
http://webcache.googleusercontent.com/search?q=cache:AJ1jz3FYWUwJ:0pointer.de/blog/projects/the-biggest-myths.html+&cd=1&hl=da&ct=clnk&gl=dk&client=ubuntu
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Nogen er ikke særlig glade for: systemd

Indlæg af AJenbo »

lath skrev:
AJenbo skrev:
NickyThomassen skrev:Men i stedet for at lære den at kende, så vil de hellere lave deres egen software, som løser den samme opgave. Og i dén process, glemmer de Linux' rødder hos UNIX, og smider 50 års erfaring på porten.

SystemV (som er 30 år gamelt) har det problem at det er serielt og ikke rigtig har opsætning for relationer. For mig virker det mere som at de drager en konklusion ud fra de sidste 30 års erfaring og tager det nødvendige skridt for at komme videre med udviklingen. De fleste maskiner i dag har efterhånden mere end en kerne på cpu'en :)


Om noget kører serielt eller ej - jeg er ligeglad - bare det virker.
Kompleksiteten stiger enormt, når man forsøger at køre noget i parallel, der har afhængigheder til at noget er startet før noget andet.

Det nuværende systemV har problemer hvor den kan komme til at starte en service 2 gange, og efterlade begge kørende hvor der så opstår konflikter, hvis programmet både er defineret som en service og ondemand. Dette problem løse systemD ved at have styr på afhængigheder.
Et anden god ting er at systemD er i stand til at buffere i/o for services så programmer der skal logget noget ikke hænger og venter på at servicen starter op.
Den kan lave mere fin justeret håndtering af cgroups.

lath skrev:"... komme videre med udviklingen" lyder som om at noget skal skiftes ud bare fordi det er gammelt, også selv om det stadig fungerer fint.

Det var da en stårmand om noget. Hvis et system har nogle grundlæggende problemer der ikke kan løses uden at omskrive største delen af programmet og bryde al kompatibilitet er det nogle gange bedst at starte på at skrive næste version fra bunden med en bedre plan.

lath skrev:Jeg er næsten sikker på at jeg kommer til at skifte til Slackware Linux, NetBSD eller FreeBSD/PC-BSD - mest et BSD system.
Lige nu er jeg igang med at afprøve Slackware Linux på min Netbook computer.

Har du nogle er faringer med systemD andet end på det ideologiske plan? Din begrundelse ser ud til at være at du ikke stoler på systemD pga. den virker mere kompleks end systemV, ud fra sammen betræktning burde du så ikke også skifte til OpenBSD frem for Linux?

Må jeg i øvrigt også have lov at pointere at Ubuntu tilbage i 2010 skiftede systemV ud med Upstart hvilket nettop håndtere opstarten parallelt hvilket var og er en af de største faktorer for hvorfor Ubuntu var i stand til at skære opstarts tiden så drastisk ned. Du sider altså i dag med et system som allerede har denne "farlige" kompleksitet.

Så vidt jeg kan se er systemD også tilgængeligt i Slackware, dog ikke slået til som standard.

lath skrev:Jeg har ikke noget imod at X skiftes ud med f.eks. MIR, da det er en simplificering.

X udføre heller ikke på nogen måde kun 1 opgave.
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: Nogen er ikke særlig glade for: systemd

Indlæg af lath »

AJenbo skrev:
lath skrev:
AJenbo skrev:
lath skrev:Det er primært fordi at den ikke overholder UNIX filosofien om den kun skal en ting - og gøre den ene ting godt.
Problemet er at store programmer der forsøger at gøre for mange ting på en gang bliver meget mere kompleke end flere små programmer, der gør nøjagtig kun 1 ting.

Når jeg høre det argument skyldes det oftest at folk refere til systemD projektet og ikke servicen. Det svare lidt til at sige Gnome ikke høre til noget sted pga. det både har et program til at brænde dvd'er og et til pdf fremvisning
.

Jeg referer lige netop til programmet og ikke projektet, så det er et stråmandsargument.
Gnome og et DVD/CD brænder program er: flere programmer, og systemd er det modsatte: alt i et program.

Læs 1 og 10:
http://webcache.googleusercontent.com/search?q=cache:AJ1jz3FYWUwJ:0pointer.de/blog/projects/the-biggest-myths.html+&cd=1&hl=da&ct=clnk&gl=dk&client=ubuntu/quote

Som der står nederst på siden, så er det hans egne holdninger.

Der ud over, så er der en pæn tegning (via wikipedia -> systemd ):
Billede
Det ses tydeligt at systemd gør alt for mange ting.

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Nogen er ikke særlig glade for: systemd

Indlæg af AJenbo »

Når jeg kigget på det billede så ser jeg en masse veldefinerede enkelt opgaver der hver i sær håndteres af forskellige programmer der alle høre under systemD paraplyen.

En af de rigtige gode ting ved systemD er i øvrigt at det er grundigt dokumenteret.

Som der står nederst på siden, så er det hans egne holdninger.

Jeg tror det meste i denne debat handler om folks holdning.
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Nogen er ikke særlig glade for: systemd

Indlæg af AJenbo »

NickyThomassen skrev:Og lige med INIT, så forstår jeg ikke at en reducering i boot-tid på 10-15 sekunder, kan retfærdiggøre så stor en ændring. Faktisk forstår jeg slet ikke at hastighed kan være et mål i sig selv, for hvis computeren ikke kan starte, så er det hele lidt ligegyldigt, syntes jeg.

Boot tiden er bestemt heller ikke det primær mål med systemD, det handler faktisk også i høj grad om at gøre systemet mere robust, tidsvarende og mere kraftfuldt ved at gøre brug af de funktioner der er tilgængelig i en moderne Linux kerne.

NickyThomassen skrev:Det ærger mig altid, at se så mange kræfter blive brugt på noget, som strengt taget ikke er nødvendigt. Både med X og INIT, men også alle de konflikter der efterfølgende opstår, fordi nogle få mener de har svaret.

X-s driver arkitektur er et bæst at vedligeholde, et af formålene ved Wayland og Mir er at gøre driverne generiske baseret på åbne standarder som OpenGL. X-s model har i flere tilfælde vist sig at være snæversynet og ved næsten hver ny udgivelse er der blevet ændret ved måden det fungere på i en sådan grad at tidligere drivere ikke længere er kompatible. Grundet måden X fungere er der også opstået betydelige sikkerhedsproblemer (ironisk nok kan nogle af disse undgås ved at bruge systemD frem for systemV). Største delen af udviklerne på Wayland er også dem der vedligeholder X og hvis ikke de forstår hvordan X fungere syndes jeg ikke det kan gå hurtigt nok med at komme væk fra det.
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: Nogen er ikke særlig glade for: systemd

Indlæg af lath »

AJenbo skrev:Når jeg kigget på det billede så ser jeg en masse veldefinerede enkelt opgaver der hver i sær håndteres af forskellige programmer der alle høre under systemD paraplyen.

En af de rigtige gode ting ved systemD er i øvrigt at det er grundigt dokumenteret.

Som der står nederst på siden, så er det hans egne holdninger.

Jeg tror det meste i denne debat handler om folks holdning.

Ja, det handler i høj grad om holdninger til software design.
For mig er det at jeg ikke på nogen måde synes at systemd er designet godt.

systemd er for mig en rigtig god ide, der blev designet rigtig dårligt.

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
thj01
Indlæg: 2667
Tilmeldt: 21. nov 2006, 10:06
Geografisk sted: Fredericia

Re: Nogen er ikke særlig glade for: systemd

Indlæg af thj01 »

Måske er problemet at koden efterhånden er så obskur at ingen af de gamle der kender koden er aktive mere. Og nogle gange er det bedre at starte forfra.

Derudover så findes der garanteret instruktionssæt i CPU og chipsæt idag, som kan forbedre og sikre programmerne bedre.

Jeg ved for lidt om teknikken til at jeg kan udtale mig klogt om det, men jeg ved at computere i dag udvikler sig med en kollosal hastighed, og at der måske også lægger nogle langt mere simple systemer lige om hjørnet - som f.eks. Googles chromeOS. Jeg glæder mig ihvertfald til et cloudlignende system baseret på f.eks. Ubuntu, hvor det reelt set bare startet nogle få enheder op og giver adgang til browseren.

Og så bør vi nok huske lærdommen fra Formel 1. Igennem de sidste 10 år har man svækket specifikationerne på bilerne - men de bliver ikke langsommere. Og nogle gange er den bedste måde at forbedre kode på, at starte forfra.
Forfatter til Ubuntuguiden: http://www.vidas.dk/guides/ubuntuguiden.html

Kører LTS udgaverne.

"It's always easy if you know how to do it."
Jimmyfj
Indlæg: 1712
Tilmeldt: 19. jul 2007, 19:35
Geografisk sted: Nordjylland

Re: Nogen er ikke særlig glade for: systemd

Indlæg af Jimmyfj »

For mig at se er det misinformation at påstå, at systemd ikke overholder UNIX-princippet med ét program, ét job, rigtig godt udført.

sysvinit/upstart er den nuværende PID 1, en rolle som systemd så overtager, og overtager med glans.

I stedet for at de forskellige processer står og venter på at den, eller den proces skal starte op, fyre systemd det hele af i parallel load. Men ikke nok med det. Systemd loader ikke unødige processer.

Har du ikke en Bluetooth-dongle koblet til din computer loades bluetoothd ikke, før du tilslutter en enhed, der bruger bluetoothd.

Systemd = færre kørende processer = mindre ressource-forbrug på systemet. Forklar mig lige, hvordan det kan være en ulempe?

Clouds og store server-farme har alvorlig brug for systemd i tilfælde af nede-tid. Er systemd sikker, og forsvarlig nok til Linux-servere, så forklar mig lige, uden at blive konservativt nostalgisk, hvorfor systemd ikke også kan være det på desktop/laptop-siden?

EN daemon, som har det job at kontrollere alle andre daemons gør jo også kun ET job: Den kontrollerer alle andre daemons, og gør det tilmed ud fra en ubeskrivelig vel dokumenteret ramme. Hvori består afvigelsen fra UNIX-traditionen?

ENESTE forskel på sysvinit/upstart og systemd er, at det var teknisk/økonomisk udfordrende at lade sysvinit loade parallelt, som systemd. Jeg er ikke sikker på det, men hardwaren for 30 år siden var måske ikke det mest optimale at køre parallel load på. Kun et gæt, ikke nogen jeg ved.
"OM 100 ÅR ER ALTING GLEMT !"


Ubuntu - Dev-ed.
Linux User # 448500