Arch - Steam isoliert laufen lassen

CyberNation_RX

Cadet 4th Year
Registriert
Jan. 2016
Beiträge
101
Moin,

Ich möchte Steam auf meinem Arch Rechner nutzen. Da ich aber mit dem Hauptsystem auf reinem 64bit bleiben möchte (also kein multilib) und Steam in einer Sandbox sein sollte suche ich nach Möglichkeiten dies zu bewerkstelligen.

Idee 1:
LXC Container: Hier gibt es einige Projekte scheint aber relativ aufwendig zu sein. :rolleyes:

Idee 2:
flatpak: isoliert ja, nutzt aber libs vom Host :(

Idee 3:
KVM/QEMU: Meine CPU kann kein VT-D :(


Hat jemand weitere Ideen zum Optimalen Setup? (oder Ergänzungen zu den dreien)
 
Und wie wäre es mit Wine? Ist dann zwar ein Windows Steam, aber Wine kommt damit eigentlich prima zurecht.
 
Hey benneque,

Wine gibt es leider nicht in reinem 64bit, somit müsste multilib aktiviert werden und man hätte wieder ein gemischtes System.
Bin aber sowieso kein Wine Freund, wirklich stable läuft das ganze nicht und es erscheint mir irgendwie ziemlich unsauber.
 
So gesehen, braucht es wohl immer 32bit Libs. Dann gibt's als Alternative nur Container oder VM, um eine komplett getrennte Umgebung zu erhalten, in der man die 32bit Libs installieren kann.
 
CyberNation_RX schrieb:
Ich möchte Steam auf meinem Arch Rechner nutzen. Da ich aber mit dem Hauptsystem auf reinem 64bit bleiben möchte (also kein multilib) und Steam in einer Sandbox sein sollte suche ich nach Möglichkeiten dies zu bewerkstelligen.
Ich werf' mal firejail in die Runde. Liefert sozusagen ein Interface zu Linux-Namespraces und seccomp.
Erstes ist nützlich, wenn Du Verzeichnisse virtualisieren willst (insbesondere wenn Du Libs etc. haben willst, die nur im "Container" zur Verfügung stehen). Letztes hilft Dir das Ganze sicher zu machen, wenn es zum Beispiel darum geht Dein System zu schützen.

Arch hat sogar ne Wiki-Seite dazu:
https://wiki.archlinux.org/index.php/Firejail
 
benneque schrieb:
So gesehen, braucht es wohl immer 32bit Libs
.... und einen 2. Kernel im Emulator, wenn man wie der Threaderöffner wert auf ein "superreines 64bit Hauptsystem" legt. Dort ist der Support fürs Ausführen schnöder 32bit-Binaries ganz sicher deaktiviert. :-)
 
CyberNation_RX schrieb:
Da ich aber mit dem Hauptsystem auf reinem 64bit bleiben möchte (also kein multilib)
Möchtest Du offensichtlich nicht, da Du Steam/32Bit installieren willst. Jegliche "Alternativmethode" wird mehr Speicherplatz verbrauchen als die Multilibs, was das ganze Vorhaben ad absurdum führt.
 
Eine vollständige Isolation kannst du nur über eine VM erreichen. Darunter leidet dann allerdings die Performance. Für steam daher eher nicht zu empfehlen.

Firejail kann zwar das auszuführende Programm isolieren, aber du müsstest multilib aktivieren.

Meiner Meinung nach ist der einfachste und sauberste Weg systemd-nspawn. Läuft mit voller Geschwindigkeit und isoliert zumindest die installierten Pakete: https://wiki.archlinux.org/index.php/Systemd-nspawn

für Sound:
https://bbs.archlinux.de/viewtopic.php?id=28976

Docker wäre auch eine Option ist aber deutlich schwerer einzurichten. Mit flatpak und LXC habe ich mich noch nicht ausreichend genug beschäftigt.

Gruß
Dirk
 
Vielleicht sollte auch erst mal geklärt werden, welche Art von Isolation gemeint ist. Für die alleinige Isolation vom eigenen Userordner oder anderen sensitiven Daten reicht auch ein simpler Userwechsel (z.B. mit 'sudo -b -u steamuser XAUTHORITY=/opt/steam/.Xauthority steam). Wobei '.Xauthority' der X-Server Auth Cookie ist, der aus dem eigenen Userordner kopiert werden muss. Der erlaubt dem Benutzer 'steamuser' Zugriff auf den X-Server (Display, usw). Das Programm 'steam' wird dann unter dem Benutzer 'steamuser' ausgeführt.
 
Zuletzt bearbeitet:
Wobei das Weiterreichen den Kekses aus Isolation sofort "Isolation" macht. Isolation zwischen verschiedenen Anwendungen, die das gleiche X-Display verwenden, gibts quasi nicht ... einer der Gründe, warum X sterben sollte.
 
Man kann auch eine zweite X-Server Instanz starten.
In dem Beispiel ging es nur um Dateirechte (Posix ACLs), bzw. das Verweigern von Dateizugriffen. In der Regel sind es ja die persönlichen Daten/Dateien, die man schützen möchte. Schadsoftware/Viren mal außen vor. Wir reden hier ja eher über Freemium-Qualitätsprogramme.

Man könnte aber auch gleich DualBoot und ein passenderes OS benutzen.
 
Zuletzt bearbeitet:
Hey, vielen Dank euch allen für die guten Vorschläge und Tipps :p

Ich habe es mit Flatpak ans laufen bekommen, welches die 32bit libs dann wohl doch mitgeliefert hat.

Firejail ist auch ein sehr guter Tipp, weiß nicht warum ich nicht eher drauf gekommen. Müsste hier mit einem vollständigen OverlayFS und Root Zugriff funktionieren. Denn Root Zugriff kann man ja nach der Aktivierung von multilib und der Installation mit --no-root wieder entfernen. Vlt. dann noch Ordner mit wichtigen Informationen blacklisten und dann dürfte es schon fast reichen. Das einzige Problem hier ist wieder die unsichere X11 Session. Firejail bietet zwar einen Xpra oder Xvfb Server um eine eigene Session zu starten aber es ist schwierig zu sagen wie gut das mit Spielen funktioniert.

Systemd-Nspawn klingt auch sehr interessant habe bisher nur drüber gelesen und kam leider noch nicht dazu es auszuprobieren.

Dual-Boot habe ich, möchte es aber dringend los werden. Ich mag es nicht Windows 10 an meine Hardware zu lassen. Habe auch alle Treiber der Platten deinstalliert die Windows nicht sehen soll.
 
Zurück
Oben