Linux (openSuSE) steam library on secondary harddrive

Do what Zoltan said instead. It's pretty much foolproof.

By the way, that situation should be recoverable. If you boot into recovery mode (or boot as normal it should put you in maintenence mode) you can go back to the fstab file and remove what you added, or revert to the previous save, which should be fstab~ :

cp fstab~ fstab

Was too late at that point, but thanks for the tip

Nope, you can set it in Yast as well, the Yast partition manager is the same in Gnome and KDE.
I just gave the Gnome solution because I have Gnome installed here on my system and I can look at it when posting what to click, but all the GUI does is just add a simple entry line to /etc/fstab, and to be honest, that's the way I do it myself, I edit fstab directly, because it's faster, but then I've been using linux as main OS since 1996, so I'm used to it.

I just wanted to short-circuit the thing that was going on by proposing the GUI solution, because to be honest, that's the way forward. It's a problem of experienced linux users, they are used to disregard the GUI options, especially if they've been using linux since before there were any GUI options lolz... but I kinda want to go against that, I think by focusing on the GUI options (which are excellent in OpenSuSE by the way), the threshold is lower, and the understanding of what's happening is more gradual, because what use is it to you to have someone tell you what to enter in terminal, without understanding what it does?

Well, all that is required, is that your system is instructed to mount that 3TB drive at boot. The way the system gets that instruction, is by reading the /etc/fstab file at boot. That fstab file is basically a simple text file with a list of partitions that need to be mounted at start, and their mounting options. It's quite easy to edit manually, but you can also edit it indirectly by using the GUI settings managers that are available, like Gnome disks (which is really easy to use, Gnome is OSX-like, very simple interface), or like Yast partition manager or Gparted (which both are also on your system by default). Linux offers many ways to approach the same problem, you just select the GUI that suits you best.

Just to clarify something here, the error stated that the mount options were incorrect, not the permissions on a file or directory. Filesystems can be mounted exec or noexec, noexec meaning that files in that filesystem may not be executed as a program. This is a security feature and commonly used on filesystems that should never have executables run from, or untrusted filesystems. If you look at the output of mount you will see several filesystems with the noexec option, for example on my system /proc, /sys, /dev/pts, /run, and a bunch of filesystems under /run just to name a few.

I don't run openSuSE nor KDE, but if I had to take a guess, I would wager that the automounter treats the drives as untrusted by default, and mounts them noexec (probably nosuid as well). As others have suggested, explicitly specifying the mount options for this drive by adding it to fstab in some way or another should resolve the issue. To test before making fstab edits, you can look at the output of mount and verify that noexec is in the list of options in parenthesis at the end of the line for the filesystem. Manually umount then mount the filesystem elsewhere to see if Steam accepts it with the noexec option removed. And to reiterate, the filesystem should be added to fstab through a gui tool or by hand editing in order for the options to persist across reboots. You can also test the fstab entry by running umount <mountpoint> then mount <mountpoint> as root or using sudo. Mount will read fstab to determine how to mount the filesystem, and you should get an error if there is a mistake in the edit to fstab.

1 Like

It appears I can only select to not mount at system startup, or am I missing something?

Mounts at startup by default. The checkbox to not mount at startup probably adds the noauto option.

Are you sure? Because I have to give it permission to mount everytime I boot up (and only if I click on the drive)

Can you post your fstab to pastebin or something and provide a link? Your screenshot shows UUID selected but you entered a label not a UUID, so I'm not sure if the program just determines the UUID from the label or if something went awry.

To elaborate, the drive will not be in fstab by default. Using that yast tool will add it to fstab. It will not mount at boot unless it is in fstab. When you click it and it asks for your password, that is an automounter in your desktop environment doing the mounting. Once the mount is in your fstab correctly, you won't have to enter a password to access it.

This is what you're looking for right?

Yeah. I don't see your external in there, did you not finish with the YaST tool?

If you don't mind using the console, we can get this set up pretty quickly.

sudo lsblk -o uuid,mountpoint,fstype,label,name

This command will let you find the UUID and fstype for the partition.

Then make a directory where you want the filesystem to be mounted. For example to mount to /data, you would need to make that directory. You probably also want to make sure you have permission to read/write files in there as a regular user.

sudo mkdir /data
sudo chmod 777 /data

Now you just add a line to fstab as follows:

UUID=uuidFromFirstColumn    /data    fstypeFromThirdColumn    defaults  1  2

That should all be on the same line, in case the formatting gets weird. The first and third column refer to the output of the lsblk command used above.

One thing you might want to change since this is an external, is instead of defaults use nofail to prevent errors from being reported if the drive is unplugged at boot. This is optional and maybe you would want errors to be thrown anyway.

Check that you have done the changes correctly by unmounting the filesystem if it is currently mounted, then use the command

sudo mount -a

to mount all the filesystems in fstab. If you get any errors, double check fstab and try again. If you can't figure it out, post back and we'll see what happened. After the mount completes without errors, you should be able to install your games there.

Is this correct?

Yes, you will want to add that line to /etc/fstab using a text editor of course.

Instead of ntfs use ntfs-3g though! And the documentation for ntfs-3g suggests to use 0 0 instead of 1 2 at the end of that line. Sorry, ntfs is weird :/

Yes it is weird, since it somehow worked :D I can select that directory in steam and it gets mounted on startup. Which begs the question why did it work? :D

I suppose the ntfs support in your distro could be handled a bit differently than how it is documented for mine. I really don't do a lot with ntfs, and I don't have openSuSE installed anywhere, so I don't know for sure. Great that it works though!

I probably did something wrong the first time, but that worked. Thank you!

ahh this is a much easier way of doing it. one more reason i'm starting to love Gnome 3 and finding it hard to go to any other gui !

try nuculus:users , I believe all user accounts belong to the "users" group

Or just click "mountable by user" in the KDE config GUI, and it will automount with perms.

But I 100% agree that you can't beat the precision and control of a proper CLI configuration.