Steam-Bibliothek auf separater Disk

KRambo

Lieutenant
Registriert
Apr. 2004
Beiträge
921
Hallo,

ich verwende Debian 12 und habe Steam als Flatpak (user-based) installiert - die letzte Version 1.0.0.79 aus dem Stable-Zweig. Nun möchte ich die Steam-Bibliothek aus Platzgründen auf eine separate Disk (in einem ZFS Pool) verlagern und habe diese Disk deshalb in den Pfad /usr/games gemountet. Das funktioniert soweit auch völlig problemlos. Problem ist nur, dass ich diesen Ordner in Steam nicht auswählen kann bzw. dann gar nichts passiert.

Für diese Vorgehensweise habe ich im Netz einige "Anleitungen" gefunden, damit Flatpak auf diesen Ordner zugreifen darf muss man einen Override definieren. Deshalb habe ich folgendes im Terminal eingegeben:
flatpak override --filesystem=/usr/games --user com.valvesoftware.Steam

Dieser Override wird auch richtig ausgegeben, wenn ich folgendes eingebe:
flatpak override --show --user com.valvesoftware.Steam

Nun wechsle ich zu Steam, gehe in die Settings, zu Storage und möchte oben ein neues "Drive" hinzufügen. Also "Add Drive", dann ploppt der Ordnerauswahl-Dialog auf, ich wechsle in den Pfad /usr/games und klicke rechts oben auf "Auswählen". Der Dialog geht zu, geändert hat sich aber gar nichts. Keine Erfolgsmeldung, keine Fehlermeldung, gar nichts. Als Bibliothek wird immer noch der Standardpfad unter /home/user/.var/app/... angezeigt. Was übersehe ich hier bzw. mache ich falsch?
 
Hab ich schon ausprobiert. Der Override wird in Flatseal einwandfrei angezeigt, ansonsten bin ich aber auch damit nicht weitergekommen. Benötigt man vielleicht für die separate Disk zusätzliche Berechtigungen im Flatpak?
 
zusätzlich dazu sollte dein benutzer zugriff auf /usr/games haben. Ich finde das btw einen recht ungewöhnlichen ort aber da kenn ich mich ggf zu wenig aus.

im terminal mit cd /usr/games den ordner betreten und dann ls -la ausführen zeigt an wer der besitzer ist und wie die berechtigungen aussehen (ggf hier posten und benutzernamen ggf anonymisieren)
 
KRambo schrieb:
Problem ist nur, dass ich diesen Ordner in Steam nicht auswählen kann bzw. dann gar nichts passiert.
So hatte ich das damals gelöst. Du beendest den Steam-Launcher, dann:
Code:
mv ~/.local/share/Steam /usr/games/
Nach dem nächsten Start von Steam beschwert sich der Launcher, dass das ursprüngliche Installationsverzeichnis (.local/share/Steam) nicht gefunden werden konnte. Anschließend kannst du das neue Verzeichnis in Steam auswählen.
 
Zuletzt bearbeitet:
frazzlerunning schrieb:
Hast du in Flatseal der Steam-App auch die Rechte erteilt?

Siehe Hier Punkt 2.
Ja, das hab ich schon gemacht. Ist egal ob mit Flatseal oder über das Terminal, das Ergebnis ist dasselbe:
1718024279542.png


netzgestaltung schrieb:
zusätzlich dazu sollte dein benutzer zugriff auf /usr/games haben. Ich finde das btw einen recht ungewöhnlichen ort aber da kenn ich mich ggf zu wenig aus.

im terminal mit cd /usr/games den ordner betreten und dann ls -la ausführen zeigt an wer der besitzer ist und wie die berechtigungen aussehen (ggf hier posten und benutzernamen ggf anonymisieren)
Der Ordner /usr/games war bereits vorhanden, daher mein Gedanke es da abzulegen - gibt es bessere Alternativen? Grundsätzlich hat dieser Ordner "root" als Besitzer und Gruppe hinterlegt, was so natürlich nicht funktionieren kann, daher habe ich den Besitzer und Gruppe durch meinen Benutzer ausgetauscht und einen Unterordner "steam" erstellt, wo mein Benutzer ebenfalls als Besitzer und Gruppe definiert ist - damit klappt der Zugriff mit meinem Benutzer problemlos, also Schreib- und Leserechte sind vorhanden. Das Ergebnis in Steam ist aber dasselbe.

Pummeluff schrieb:
So hatte ich das damals gelöst. Du beendest den Steam-Launcher, dann:
Code:
mv ~/.local/share/Steam /usr/games/
Nach dem nächsten Start von Steam beschwert sich der Launcher, dass das ursprüngliche Installationsverzeichnis (.local/share/Steam) nicht gefunden werden konnte. Anschließend kannst du das neue Verzeichnis in Steam auswählen.
Danke, das werde ich bei Gelegenheit ausprobieren. Gemeint ist aber vermutlich eher der Ordner ~/.var/app/com.valvesoftware.Steam/.local/share/Steam, oder?
 
Zuletzt bearbeitet:
KRambo schrieb:
Grundsätzlich hat dieser Ordner "root" als Besitzer und Gruppe hinterlegt
Dann kann ich mir nicht vorstellen, wie das funktionieren soll. Da wird Steam mit deinen Benutzerrechten einfach nicht drauf zugreifen können.

Der Steam Ordner soll deinen Benutzer als Besitzer haben. Die /usr/ Umgebung ist glaube ich nicht für eigene Sachen. Häng die Platte lieber als zb "/home/<benutzer>/Steam" ein.
 
  • Gefällt mir
Reaktionen: KRambo
netzgestaltung schrieb:
Dann kann ich mir nicht vorstellen, wie das funktionieren soll. Da wird Steam mit deinen Benutzerrechten einfach nicht drauf zugreifen können.

Der Steam Ordner soll deinen Benutzer als Besitzer haben. Die /usr/ Umgebung ist glaube ich nicht für eigene Sachen. Häng die Platte lieber als zb "/home/<benutzer>/Steam" ein.
Der Besitzer des Ordners hat schon gepasst, aber aus irgendwelchen Gründen konnte Steam trotzdem nicht darauf zugreifen. Hab die Disk nun unter /opt/games gemountet und damit klappt es nun einwandfrei.

Danke an euch alle für die Unterstützung!
 
ich würde dir wirklich raten nicht einfach wahllos in den Ordnern in / irgendwas zu ändern ohne das du weißt, was du tust. Der Benutzerordner /home/<benutzer>/ ist genau für dich da und bei einem Backup brauchst du keinen extra Plan, wo du irgendwas an- oder abgelegt hast.
 
https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
/opt Add-on application software packages.[7]

Kann man schon so machen. Unter /opt kommen Softwarepakete, die nicht über den Paketmanager installiert werden. Steam zählt da irgendwie auch dazu.

Die Spiele im /home unter einem Configverzeichnis (./local/share/) zu installieren, finde ich unpassender.

KRambo schrieb:
Gemeint ist aber vermutlich eher der Ordner ~/.var/app/com.valvesoftware.Steam/.local/share/Steam, oder?
Nein, ich hab das gemeint, was ich geschrieben hab. Kann aber durchaus sein, dass bei Dir Steam die Speicherdaten aufgrund von flatpack in eine andere Verzeichnisstruktur packt. Ich nutze kein Flatpack.
 
Pummeluff schrieb:
Steam zählt da irgendwie auch dazu.
Das seh ich anders: Spiele in Steam werden nicht "installiert" und sind daher nicht "installierte" Programme sondern "Addons" zum Programm Steam, die in der Steam Runtime Lib ausgeführt werden. Genau so würde ich Minecraft Launcher (Java Runtime) oder andere Games-Launcher betrachten. Auch wine-bottles werden üblicherweise in ~/ angelegt.
Ergänzung ()

+ wenn er einen grund für /opt/ hätte, zb multiuser game-files(ka ob das geht) wärs ja fein bzw weiß, warum es es gerade dahin gibt, sonst kommt bald irgend ein chaos zusammen.
 
Da mein Sohn auf dem Rechner sowohl ein Linuxkonto als auch ein Steamkonto hat, hatte ich mal versucht, die Spiele für beide Nutzer zugänglich zu machen auf Dateisystemebene. Bei mir liegen die Spiele unter /opt/games. Da gibt's auch einen Steamordner.

Ich hab dann den Besitzer und die Gruppe geändert:
Code:
chown -R root:games
chmod 2775 /opt/games
chmod -R g+s /opt/games/*
Dabei hab ich die Steamdaten im Home der Nutzer belassen und nur die Spiele nach /opt/games verlagert.

Hat allerdings nicht funktioniert

Sobald der angemeldete Linuxnutzer nicht dem Eigentümer der Dateien entspricht, weigert sich Steam, das Spiel zu starten und will es neuinstallieren.

Bei Proton-Spielen, die nur per Lutris installiert wurden und nicht von Steam stammen, kann das sogar funktionieren.

Da hatte ich dann die Struktur:
Code:
/opt/games/spielxyz/user1
/opt/games/spielxyz/user2
/opt/games/spielxyz/spieldaten

In spieldaten liegen die zig GB des Spiels. Die sind dann in Unterverzeichnisse von user1 und 2 verlinkt, sodass die Savedateien aber für jeden Nutzer getrennt sind.

Allerdings hatte ich hier auch schon Probleme mit der setgid-Methode.

Eine Variante, die ziemlich aufwändig ist, aber stattdessen funktioniert:
Vor dem Start ein Skript laufen lassen, was auf alle Dateien und Verzeichnisse im Spieleverzeichnis ein chown loslässt und den Nutzer ändert.
 
Zurück
Oben