Echte Chroot auf einer systemd Maschine

7

Ich versuche mich daran zu gewöhnen systemd, denn es scheint der Weg zu sein, den Debian geht.

Ich möchte Xorg auf einer chrootOn-Hardware ausführen , anstatt ein Netzwerk zu verwenden (was die kanonische Methode in einem Container zu sein scheintsystemd ), da ich keinen X-Server auf meinem Hostsystem installieren möchte. Ich möchte, dass der Host ein dünnes, wartungsarmes Betriebssystem ist.

Nach meinem Verständnis wird das systemd-nspawnvirtualisiert /devund erlaubt daher keinen Zugriff auf Hardware.

Das Ausführen eines Standards chrootscheint in der Praxis gut zu funktionieren, obwohl ich nicht sicher bin, ob es dabei subtile Probleme geben wird.

Abgesehen davon, dass der Gast direkten Zugriff auf die Hardware hat, ist es eine schlechte Idee, eine "echte" Chroot auf einem Systemd-Computer auszuführen ? Wenn ja, welche Probleme wird es verursachen?

Wenn es eine schlechte Praxis ist, gibt es eine Möglichkeit, dies zu tun systemd-nspawn; wie eine "unsichere" Flagge? Ich finde keine auf der manSeite, aber laut dieser Seite gibt es eine --share-systemFlagge; das funktioniert bei mir nicht.

Transistor1
quelle
Nein. Es ist dasselbe wie auf einer Maschine ohne System.
CameronNemo
@ CameronNemo danke. Poettering spricht darüber, wie systemd eine PID-Isolierung durchführt, und ich habe mich gefragt, ob dies Probleme mit einer herkömmlichen Chroot verursachen könnte.
Transistor1

Antworten:

4

Die Systementwickler sind ziemlich dagegen, nspawnden Zugriff auf echte Hardware zuzulassen , wie dieses Zitat von Poettering sagt:

So wie wir es sehen, geht es bei Containern wirklich nur darum, Zugriff auf virtualisierte Umgebungen zu erhalten, dh / dev sollte größtenteils leer sein (modulo / dev / null, / dev / random und friends), und der Container sollte wirklich niemals Zugriff auf physische Umgebungen erhalten Hardware. Dadurch können Sie dann natürlich keinen X-Server im Container ausführen.

Andere Containerlösungen unterstützen die Weitergabe von Hardware vom Host zum Container. Wir glauben nur, dass dies für das einfache Tool, das nspawn ist und bleiben soll, etwas unscharf ist.

Eine "Standard" -Installation von Arch Linux basiert auf einem System und das Wiki sagt nichts darüber aus, dass ein traditionelles chrootSystem schlecht ist. Angenommen, ein traditionelles System chrootentspricht Ihren Anforderungen auf einem Nicht- systemdSystem, dann sollte es auf einem systemdSystem in Ordnung sein. Es kann Situationen geben, in denen die zusätzliche "Virtualisierung" von nspawnhilfreich ist, aber es kann Fälle geben, in denen sie einschränkend ist.

StrongBad
quelle
1
Vielen Dank. Das ist eine Art Eindruck, den ich hatte - ich hatte auch nichts davon gesehen, dass ein traditionelles chrootWesen schlecht ist, aber ich habe auch nichts davon gesehen, dass es in Ordnung ist. Hier spricht Poettering darüber, wie systemdeine PID-Isolierung funktioniert, und ich habe mich gefragt, ob dies Probleme mit einer traditionellen Chroot verursachen könnte. Der Fokus des Artikels liegt darauf, wie chrootkaputt und nspawnbesser ist, aber es war mir unklar, ob er sagte "Tu es überhaupt nicht".
Transistor1
... auch die Tatsache, dass Pakete wie schrootnicht als widersprüchlich aufgeführt sind, systemdist wahrscheinlich ein Indikator dafür, dass es in Ordnung ist, wollte aber nur eine solidere Bestätigung erhalten.
Transistor1