Bericht: stretch mit anderem Init-System

Smalltalk
breakthewall
Beiträge: 507
Registriert: 30.12.2016 23:48:51

Re: Bericht: stretch mit anderem Init-System

Beitrag von breakthewall » 23.03.2018 12:54:16

Ignorance of fundamental operating system concepts
Dieses Argument stinkt schon nach religiös angehauchtem Fanatismus. Als könne es nur einen einzigen Weg geben. Was somit im Geiste weniger nicht vorstellbar ist, darf auch nicht sein. Und was einer über 50 Jahre alten Unix-Philosophie zuwider läuft, die heutige Anforderungen nicht ansatzweise auf dem Schirm hatte, kann erst recht nicht angehen. Um mehr geht es idR. nicht. So wird man zumindest von der großen Masse nicht ernst genommen.

RobertDebiannutzer
Beiträge: 265
Registriert: 16.06.2017 09:52:36

Re: Bericht: stretch mit anderem Init-System

Beitrag von RobertDebiannutzer » 25.03.2018 23:37:15

@guennid: Und rootless X lässt Du einfach?
Das mit dem autologin mittels getty* in inittab aus dem Artikel finde ich praktisch, das mache ich vielleicht auch.

@breakthewall: Sag' ich ja.
Zu Unix: Das wurde da ja gar nicht namentlich angesprochen. Ich zweifele auch daran, ob jeder wirklich darüber informiert ist, was "Unix" ausmacht.** Obwohl man ja den Begriff eines "unixoiden" Betriebssystems oft hört.
Als ich kürzlich mal nachschaute, was "Unix" eigentlich genau bedeutet, war ich total überrascht, was da alles dahintersteckt, was über "do one thing and do it well" hinausgeht, - s. z.B.:
https://en.wikipedia.org/wiki/Unix_philosophy
oder auch in Deutsch: https://de.wikipedia.org/wiki/Unix-Philosophie

Cgroups sind etwas kompliziert. Mal sehen, ob ich da noch etwas mehr dahinter komme, auch dahingehend, was die jetzt genau mit X machen. Wenn jemand da zufällig bereits eine Quelle kennt: Natürlich immer gerne her damit... :wink:

*getty ist übrigens in stretch ein Link zu agetty.
Apropos: Was bedeuten eigentlich Nummern wie 38400 in einer inittab-Zeile wie:

Code: Alles auswählen

1:2345:respawn:/sbin/getty 38400 tty1
**Ich meine damit nicht Dich, sondern das ist eine generelle Überlegung, die mir kam, weil es mir so ging.

RobertDebiannutzer
Beiträge: 265
Registriert: 16.06.2017 09:52:36

Re: Bericht: stretch mit anderem Init-System

Beitrag von RobertDebiannutzer » 17.04.2018 10:27:30

Vor einigen Tagen habe ich jetzt doch mal systemd, libpam-systemd und polkit ganz runtergenommen (gemeinsam mit den Paketen, die nur Abhängigkeiten von diesen Programmen sind, so wie systemd-shim o.ä.).
Ich bin eh nicht so der Nutzer von grafischen root-Programmen und polkit war noch das letzte, was mich daran gehindert hat, libpam-systemd und damit auch systemd zu entfernen.

Jetzt bin ich aber auf ein komisches Problem gestoßen:

Also erstmal wollte pulseaudio nicht laufen. Das habe ich nach einiger googelei durch Entfernen von folgendem Schnipsel in "~/.config/pulse/default.pa" gelöst.

Code: Alles auswählen

### If autoexit on idle is enabled we want to make sure we only quit
### when no local session needs us anymore.
.ifexists module-console-kit.so
load-module module-console-kit
.endif
.ifexists module-systemd-login.so
load-module module-systemd-login
.endif
Nun ist wieder alles fein, außer firefox (Release, nicht ESR aus den Paketquellen), wenn er im default-Profile von firejail "0.9.52-2~bpo9+2" läuft.
Will ich dann z.B. ein Video auf youtube hören, meldet mir Firefox, dass ich doch bitteschön die erforderliche pulseaudio-Software installieren soll.
Lasse ich firefox ohne firejail laufen, besteht das Problem nicht!
Vor dem Entfernen von systemd und libpam-systemd (und damit logind) ging aber alles, auch mit dem (gleichen!) firejail-Profil und dem gleichen firefox.
Was ist denn hier los? 8O

OT: Warum hat eigentlich gefühlt so ziemlich jedes Progamm eine eigene Syntax für Konfigurationsdateien? (s. pulse-Schnipsel) Man könnte das doch alles im shell-script-Stil machen und nur Eigenes anfügen, wo es aufgrund von speziellen Funktionen nötig ist.

Benutzeravatar
MartinV
Beiträge: 599
Registriert: 31.07.2015 19:38:52
Wohnort: Hyperion
Kontaktdaten:

Re: Bericht: stretch mit anderem Init-System

Beitrag von MartinV » 17.04.2018 12:31:43

Ich habe diese Tage mit elogind in docker Containern experimentiert und bekomme es jetzt zum Laufen. Wenn Du Programme mit systemd-logind Abhängigkeit zum laufen bringen willst, ist elogind ein guter Ersatz. Es geht dabei vor allem um Session Management. (Consolekit erfüllt(e) auch diesen Zweck, wird aber nicht mehr gepflegt. Es gibt ein Consolekit2, das noch in Entwicklung ist.)
RobertDebiannutzer hat geschrieben: ↑ zum Beitrag ↑
17.04.2018 10:27:30
Will ich dann z.B. ein Video auf youtube hören, meldet mir Firefox, dass ich doch bitteschön die erforderliche pulseaudio-Software installieren soll.
Lasse ich firefox ohne firejail laufen, besteht das Problem nicht!
Bekommst Du eine Ausgabe von "pax11publish -d"? Kannst Du das auch in firejail ausführen?
Von docker Containern weiß ich, daß ich pulseaudio über TCP oder mit Bereitstellen vom pulse unix socket isolierten Programmen zur Verfügung stellen kann.
RobertDebiannutzer hat geschrieben: ↑ zum Beitrag ↑
17.04.2018 10:27:30
OT: Warum hat eigentlich gefühlt so ziemlich jedes Progamm eine eigene Syntax für Konfigurationsdateien?
https://xkcd.com/927/
*getty ist übrigens in stretch ein Link zu agetty.
Apropos: Was bedeuten eigentlich Nummern wie 38400
Das ist die BAUD Rate von deinem Analogmodem, auf das Du den Telefonhörer legst, wenn Du ins Internet gehst. :mrgreen:
Die Angabe der BAUD Rate ist sinnvoll für echte Terminals aus den 70er Jahren, aber bei einer virtuellen Konsole ziemlich sinnfrei.
Zuletzt geändert von MartinV am 17.04.2018 14:22:49, insgesamt 1-mal geändert.
Die Vernunft kann einem schon leidtun. Sie verliert eigentlich immer.

tobo
Beiträge: 573
Registriert: 10.12.2008 10:51:41

Re: Bericht: stretch mit anderem Init-System

Beitrag von tobo » 17.04.2018 13:34:13

RobertDebiannutzer hat geschrieben: ↑ zum Beitrag ↑
17.04.2018 10:27:30
[...] was mich daran gehindert hat, libpam-systemd und damit auch systemd zu entfernen.
Und dein X läuft noch immer rootless?

guennid
Beiträge: 12110
Registriert: 31.10.2002 19:15:35
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: bei Marburg

Re: Bericht: stretch mit anderem Init-System

Beitrag von guennid » 17.04.2018 16:44:47

@guennid: Und rootless X lässt Du einfach?
Irgendwie missverständlich formuliert. Wenn du meinst: "Lässt du /usr/lib/xorg/Xorg mit Root-Rechten laufen?" ist die Antwort: Ja.

In diesem Zusammenhang hätte ich eine Frage: Wird wayland von systemd abhängig sein?

Benutzeravatar
MartinV
Beiträge: 599
Registriert: 31.07.2015 19:38:52
Wohnort: Hyperion
Kontaktdaten:

Re: Bericht: stretch mit anderem Init-System

Beitrag von MartinV » 17.04.2018 17:12:46

guennid hat geschrieben: ↑ zum Beitrag ↑
17.04.2018 16:44:47
Wird wayland von systemd abhängig sein?
Nein.
Es braucht derzeit lediglich ein XDG_RUNTIME_DIR, daß gewöhnlich von dbus angelegt wird. Kann man aber auch manuell anlegen. Zukünftig soll auch diese Notwendigkeit wegfallen. XDG_RUNTIME_DIR wird benötigt, um dem Unix Socket WAYLAND_DISPLAY einen Platz zu geben. Zukünftig soll man aber in WAYLAND_DISPLAY einen absoluten Pfad angeben können; derzeit ist nur der Socketname erlaubt.

Edit: Eine Abhängigkeit von udev oder eudev besteht auch.
Zuletzt geändert von MartinV am 21.04.2018 13:40:09, insgesamt 1-mal geändert.
Die Vernunft kann einem schon leidtun. Sie verliert eigentlich immer.

RobertDebiannutzer
Beiträge: 265
Registriert: 16.06.2017 09:52:36

Re: Bericht: stretch mit anderem Init-System

Beitrag von RobertDebiannutzer » 17.04.2018 18:29:23

Der Reihe nach:

@MartinV, 1. Beitrag:
Du hast elogind für stretch kompiliert und unter stretch zum Laufen gebracht? Geht das so einfach?
Welche Schritte hast Du außer dem Kompilieren vornehmen müssen?
Wenn das alles problemlos klappen würde, könnte man daraus dann ja vielleicht auch ein lokales Paketchen machen, welches libpam-systemd bereitstellt...
Allerdings natürlich nur unter der Vorraussetzung, dass man damit nicht in "Don't break Debian" tappt und sich sozusagen selbst ins Bein schießt... :?

"pax11publish -d" erzeugt bei mir keine Ausgabe, weder mit noch ohne firejail. Was heißt das?

Danke übrigens wegen der Auklärung bezüglich der BAUD Rate.

bzgl. OT: :mrgreen:


@tobo:
Ja, jetzt eben mit den genannten Modifikationen an der X-binary (/usr/lib/xorg/Xorg), also "chown :input" und "chmod g+s". (Und ich bin in der video-Gruppe.)
Ich finde es sehr wichtig, dass X rootless laufen kann. Mir scheint das wichtiger, als die Wahl des init-Systems oder so, denn schließlich wird ja immer gesagt, wie groß, unübersichtlich und wirr der X-Code sei - da würde ich mich unwohl fühlen, den mit root-Rechten laufen zu lassen...

Möglicherweise ist auch schon "chown :input" und "chmod g+s" aus Sicherheitsgründen unsicherer als das, was (e)logind macht? Mal sehen, ob ich das irgendwann noch herausfinden werde...


@guennid:
Stimmt, war missverständlich. Hast es aber richtig verstanden.
Aber ist Dir das nicht zu unsicher, X mit root-Rechten zu versehen?

DebianWeston z.B. hängt nicht von systemd ab, nur von der library Debianlibsystemd0, aber die hängt nicht von systemd als init-System oder von systemd als Paket ab.


@MartinV, 2. Beitrag:
Debianudev wurde bei Debian ja eh schon in ein separates Paket ohne systemd-Abhängigkeiten gesteckt.

Benutzeravatar
MartinV
Beiträge: 599
Registriert: 31.07.2015 19:38:52
Wohnort: Hyperion
Kontaktdaten:

Re: Bericht: stretch mit anderem Init-System

Beitrag von MartinV » 17.04.2018 18:44:56

RobertDebiannutzer hat geschrieben: ↑ zum Beitrag ↑
17.04.2018 18:29:23
Du hast elogind für stretch kompiliert und unter stretch zum Laufen gebracht?
Hm, nein. Ich habe ein devuan ascii docker Image mit elogind zum Laufen gebracht. Unter debian stretch habe ich noch keine Versuche gemacht. Man könnte es mal darauf ankommen lassen, stretch in einer VM zu installieren und ihm das elogind-Paket von devuan unterzujubeln.
elogind im docker container unter einem systemd host war eine Herausforderung für sich, siehe: https://github.com/elogind/elogind/issues/52
RobertDebiannutzer hat geschrieben: ↑ zum Beitrag ↑
17.04.2018 18:29:23
Wenn das alles problemlos klappen würde, könnte man daraus dann ja vielleicht auch ein lokales Paketchen machen, welches libpam-systemd bereitstellt...
Es gibt ein Paket libpam-elogind.
RobertDebiannutzer hat geschrieben: ↑ zum Beitrag ↑
17.04.2018 18:29:23
udev wurde bei Debian ja eh schon in ein separates Paket ohne systemd-Abhängigkeiten gesteckt.
Bist Du sicher, daß es ohne systemd Umgebung läuft? udev war seinerzeit, vor eudev, der größte Problempunkt für devuan.
RobertDebiannutzer hat geschrieben: ↑ zum Beitrag ↑
17.04.2018 18:29:23
"pax11publish -d" erzeugt bei mir keine Ausgabe, weder mit noch ohne firejail. Was heißt das?
Pulseaudio trägt einige Daten in die X Server Umgebungsvariablen ein, so daß andere Programme pulseaudio leichter finden können. Das scheint es bei Dir nicht gemacht zu haben. Beispielausgabe bei mir:

Code: Alles auswählen

$ pax11publish -d
Server: {1b453596804544d385d72d36f5482faf}unix:/run/user/1000/pulse/native
Cookie: 567cd4f792b44a2b161658bb272d97e446528d3e2ac166971c14225caee7810e170712a992e2a3b36b53f23029cf73243fbe109ed034a5b672fa17ef5df55795916781f0c8ea16b7e782692cba865d53c5fb2a4cca03a9ed14929691867760485913ffc681bdadc93757e572694f74c0c5a699391fb54010aa557b58a63ae2b7960ed42b9096751d060ff980c06ef565faaa458d0104756c0ba8649e0511f0db19ecb899693c69e5fbb3c46600079c3709fbb87d3d73f19a82dcd0a34b19a3e2586ac4448bb0756c422286b8d22780ae40f6b10d7cc5e93e6a48a8546c5db275696b23ec84da4373483625fa1337f3876f629b82f094e7995d4a85d869a0a6a0
Versuch mal,mit "pax11publish -e" die Daten in den X server einzutragen. "man pax11publish" kann Dir ein paar Hintergründe erzählen.
Die Vernunft kann einem schon leidtun. Sie verliert eigentlich immer.

tobo
Beiträge: 573
Registriert: 10.12.2008 10:51:41

Re: Bericht: stretch mit anderem Init-System

Beitrag von tobo » 17.04.2018 18:47:49

RobertDebiannutzer hat geschrieben: ↑ zum Beitrag ↑
17.04.2018 18:29:23
@tobo:
Ja, jetzt eben mit den genannten Modifikationen an der X-binary (/usr/lib/xorg/Xorg), also "chown :input" und "chmod g+s". (Und ich bin in der video-Gruppe.)
Nochmal gezielt: Du hast ein rootless-X, mit sysvinit als init-System und ohne installiertes libpam-systemd?

RobertDebiannutzer
Beiträge: 265
Registriert: 16.06.2017 09:52:36

Re: Bericht: stretch mit anderem Init-System

Beitrag von RobertDebiannutzer » 17.04.2018 18:59:10

@tobo: Ja!

@MartinV:
MartinV hat geschrieben: ↑ zum Beitrag ↑
17.04.2018 18:44:56
Bist Du sicher, daß es ohne systemd Umgebung läuft? udev war seinerzeit, vor eudev, der größte Problempunkt für devuan.
Jedenfalls erscheint bei mir ein Prozess "systemd-udevd" und init listed auch beim booten den Start von udev mit "OK".
Der Prozess heißt systemd-udevd, aber das Paket wurde bei Debian eben aus systemd extrahiert.
Bei apt-file oder hier: https://packages.debian.org/stretch/amd64/udev/filelist kannst Du Dir die Liste der Dateien anschauen, die im Paket Debianudev enthalten sind.
Außerdem: Wenn das Paket udev keine systemd-Abhängigkeit hat, hat es keine systemd-Abhängigkeit. Alles andere wäre ja ein Bug in der Liste der Abhängigkeiten.
pax11publish studier' ich mal...

guennid
Beiträge: 12110
Registriert: 31.10.2002 19:15:35
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: bei Marburg

Re: Bericht: stretch mit anderem Init-System

Beitrag von guennid » 17.04.2018 19:20:04

Aber ist Dir das nicht zu unsicher, X mit root-Rechten zu versehen?
Die letzten 15 Jahre, in denen ich mit Debian arbeite, war das Standard. Und ich denke, die Zeitspanne bis wayland produktiv zu gebrauchen sein wird (wenn's denn mal produktiv zu gebrauchen sein wird), werde ich die X-Unsicherheiten auch noch aussitzen können. :wink:

Was udev angeht: Soweit mir bekannt, wird udev seit geraumer Zeit vom systemd-Projekt gemacht. Zeigt auch die Namensänderung: systemd-udevd. Ich komme mit stretch ohne udev, bzw. mit einem equvis-dummy, aus.

systemd ist weit mehr als ein bloßes init-System.

RobertDebiannutzer
Beiträge: 265
Registriert: 16.06.2017 09:52:36

Re: Bericht: stretch mit anderem Init-System

Beitrag von RobertDebiannutzer » 17.04.2018 22:03:31

guennid hat geschrieben: ↑ zum Beitrag ↑
17.04.2018 19:20:04
Soweit mir bekannt, wird udev seit geraumer Zeit vom systemd-Projekt gemacht.
Ja gut, aber das ist ja egal, solange keine Abhängigkeiten zum restlichen systemd bestehen.
guennid hat geschrieben: ↑ zum Beitrag ↑
17.04.2018 19:20:04
Ich komme mit stretch ohne udev, bzw. mit einem equvis-dummy, aus.
Udev hat die Priorität "important", von udev hängt u.a. "initramfs-tools-core" ab, davon hängt "initramfs-tools" ab und davon hängt "linux-image-4.9.0-6-amd64 4.9.82-1+deb9u3" ab. Ich würde da lieber nicht dran fummeln, außer ich wüsste genau, was ich tue... :wink:

Apropos Kernel...
Linus Torvalds hat geschrieben:And yes, a large part of this may be that I no longer feel like I can
trust "init" to do the sane thing. You all presumably know why.
Zitat von hier: https://lkml.org/lkml/2017/7/6/577 (ganz unten)
Ich hab' allerdings noch nicht so richtig verstanden, worum es im Rest vom Text ging (nicht aus sprachlichen, sondern aus inhaltlichen Gründen). Aber immerhin fallen schonmal die Worte "suid", "namespace" und "init". Vielleicht weiß jemand mehr?

guennid
Beiträge: 12110
Registriert: 31.10.2002 19:15:35
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: bei Marburg

Re: Bericht: stretch mit anderem Init-System

Beitrag von guennid » 17.04.2018 22:30:35

von udev hängt u.a. "initramfs-tools-core" ab, davon hängt "initramfs-tools" ab und davon hängt "linux-image-4.9.0-6-amd64 4.9.82-1+deb9u3" ab. Ich würde da lieber nicht dran fummeln
Ich schon. :wink:

RobertDebiannutzer
Beiträge: 265
Registriert: 16.06.2017 09:52:36

Re: Bericht: stretch mit anderem Init-System

Beitrag von RobertDebiannutzer » 19.04.2018 23:50:43

Wegen pax11publish:
Also wenn ich "pax11publish -e" mache, habe ich zwar auch so eine Ausgabe, wie Du, MartinV, aber leider beendet sich pulse dann - will sagen, Prozess ist futsch. Keine Ahnung, wieso. In syslog ist nix, wenn ich "start-pulseaudio-x11 &" manuell versuche (statt faul mittles inplace restart von i3), erscheint: "Connection failure: Connection refused".
Leere ich das ganz mit "pax11publish -r" wieder, startet pulse auch wieder (egal ob mittels inplace restart des WM oder manuell im Terminal). :?:

Antworten