Oh, my old nemesis, mounting secondary drives under Linux.

mihnt@kbin.social to Linux@kbin.social – 40 points –

Hello, last night on a whim, I pulled the cord and finally am making a push to use Linux exclusively. I am not the most knowledgeable when it comes to Linux but I can hold my own enough.

EXCEPT when it comes to mounting drives and making them work with programs. I've gotten them wiped and mounted, but steam does not see them as internal drives and at each reboot, they or any games I put on there are gone from steam. They also do not show up with their names I've given them during formatting.

Would adding them to fstab fix some of these issues? I know they would at least be mounted before I ever open steam. So maybe there is a chance?

For more info, these are two Samsung 800 series SSD drives. One 250 GB, and the other 500 GB. These are games only SSDs as it's their only job.

I am on elementary OS version 7.

Any help will be very much appreciated. Thanks for anyone who takes the time to respond.

44

You are viewing a single comment

If you want them mounted before you open steam then you should add them to fstab, it will become a condition for booting your machine.

$ ls -la /dev/disk/by-uuid/

Make sure you mount with the UUID, the UUID is permanent on a disk, unlike /dev/sdx.

blkid

Will also show you the mapping betwen UUID and disks.

So your fstab will look like this

UUID=7ca0dbbb-459d-4731-a3..... /boot ext4 defaults 1 2

Test if the uuid is correct before booting by mounting it manually in a random location like /mnt with

mount /boot

And see what happens.

When I use blkid it is showing me the UUID and PARTUUID. I'm assuming I use the UUID over the PARTUUID?

UUID.

Remember that when a disk is mentioned in fstab, if the disk is not present at boot time then your machine will return an error. If you replace/swap your steam disks remember to comment this line in /etc/fstab until you have finished your maintenance.

Yes, thanks. They are mounted up at reboot.

edit: Now steam is giving a disk write error. Permissions?

When I was setting the drives up I set them with the command line "sudo chmod ugo+wx "/where/the/drive/ismounted"".
Was this not correct? Steam itself can write files as it's already setup the folder heirarchy, but when it attempts to download any game it throws a disk write error. When I check the permissions of the folders it working in it looks like the screenshot in this post.

Maybe add the recursive option to change all dirs?

sudo chmod -R ugo+wx "/where/the/drive/ismounted"

Would that be persistent for all files/folders created after the change is made? Or just existing files/folders?

You do a

chown -R myuser:mygroup /target

then a

chmod +rwx /target

so /target belongs to you and you can do anything you want in it. Who knows, maybe steam checks that only you has the privilege to read/write in it? (to protect your credit card information, registration keys, licenses... or whatever of value that could be in these folders? That would be a possibility that you have to take into consideration when money is involved. Anyway this is a safe and clean procedure to operate with mount points.

In the future your process steam will be run as yourself, writing and reading as if it was yourself, in a folder where he has all the rights to do so. Since he can only write files and folders as yourself there should be no problem anymore. So you will be fine.

The better solution on that second command (chmod) would be

chmod -R u+rwX /target

-R : recursive, affects all files and subdirectiories
u: current user (who just took ownership of everything with the previous command)
+rwX: add read access, write access for all files and directories. Adds execute (list/traverse) access for directories only

That covers existing files/directories and anything new.

Of course, if the permissions are all screwed up now, one might have to run these with sudo!

More generally, the permissions on all new files/dirs are controlled by the umask command:

https://www.cyberciti.biz/tips/understanding-linux-unix-umask-value-usage.html

You can use mount -fav to let it verify the fstab automatically. If it goes through without errors, you can do mount -a to apply the fstab without rebooting.

it will become a condition for booting your machine.

Personally, this is what I want to avoid (particularly for slower drives, though I leave the HDD unmounted most of the time) because booting isn't as fast as it should be already (mobo firmware), and I did see some info about passwordless mounting but it doesn't seem to make post-boot startup commands work properly.

Though luckily nothing much actually needs this, if I forgot to mount the SSD and open Steam I just close it and do that (in the past sometimes I've had to re-start Steam twice for it to take effect).