protonscr

cannot install on external hard disk (no exec permission even if I have them)

steamclosed duplicatereviewed
ValveSoftware/steam-for-linux#3812 · opened 2015-04-25 by portaloffreedom · updated 2018-11-18 · 5 comments · github
Pportaloffreedom 2015-04-25 github

The issue is that I cannot install my games on the external hard drive any more. The hard drive is NTFS formatted, and mounted with executable permissions. Still, all of a sudden all the games installed there disappeard (they are uninstalled now) and I cannot install anything any more on that disk. I receive this error message (more or less this, it's translated from Italian): "The new folder of the steam library must be on a filesystem mounted with executable permissions".

Now, the disk is INDEED mounted with executable permissions. I even tried to create a stupid executable there and execute it, and it's working.

This is the mount output for that disk:

/dev/sdb1 on /run/media/matteo/Pointer Poing type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,group_id=0,allow_other,blksize=4096,uhelper=udisks2)

NB:

  • The drive is mounted on a path where there is a space, so that could be an issue.
  • The drive is mounted with ntfs-3g on fuse, and is using a usermapping file to have personalized permission for any file/folder.
?ghost 2015-04-25 github

I have a similar problem (steam client beta), if I want to add a folder "X", that was previously already a steam library folder and thus has the directory "SteamApps" in there. Trying to add "X" also fails with the execute permission message and the console detail:
sh: /X/steamapps/.steam_exec_test.sh: No such file or directory

If I rename the contained folder "SteamApps" to "steamapps", the client recognizes the folder and the installed games.

So I guess this is some sort of case-sensitivity issue, where "SteamApps" is accepted for a known steam folder (because it doesn't trigger the folder must be empty message), but not used for the executable test?

@portaloffreedom: Does renaming the "SteamApp" folder to the lowercase version restore things?

Attaching strace shows, that the existing SteamApps (case doesn't matter) folder is recognized, the
.steam_exec_test.sh file is being created in there and gets access rights modified. But when executing, the lowercase folder name is always used, which doesn't exist. Thus the test fails. Ironically, even if this execution fails, the correct file is removed at the end.

[pid 17714] access("/tmp/w//steamapps/.steam_exec_test.sh", F_OK) = -1 ENOENT (No such file or directory)
[pid 17714] access("/tmp/w//steamapps/.steam_exec_test.sh", F_OK) = -1 ENOENT (No such file or directory)
[pid 17714] access("/tmp/w//SteaMapPs/.steam_exec_test.sh", F_OK) = -1 ENOENT (No such file or directory)
[pid 17714] open("/tmp/w//SteaMapPs/.steam_exec_test.sh", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 82
[pid 17714] access("/tmp/w//steamapps/.steam_exec_test.sh", F_OK) = -1 ENOENT (No such file or directory)
[pid 17714] access("/tmp/w//steamapps/.steam_exec_test.sh", F_OK) = -1 ENOENT (No such file or directory)
[pid 17714] access("/tmp/w//SteaMapPs/.steam_exec_test.sh", F_OK) = 0
[pid 17714] chmod("/tmp/w//SteaMapPs/.steam_exec_test.sh", 0700) = 0
[pid 18173] execve("/bin/sh", ["sh", "-c", "\"/tmp/w//steamapps/.steam_exec_test.sh\""], [/* 91 vars */]) = 0
[pid 18173] execve("/tmp/w//steamapps/.steam_exec_test.sh", ["/tmp/w//steamapps/.steam_exec_test.sh"], [/* 95 vars */]) = -1 ENOENT (No such file or directory)
[pid 18173] stat("/tmp/w//steamapps/.steam_exec_test.sh", 0x7ffcfca21de0) = -1 ENOENT (No such file or directory)
[pid 18173] stat("/tmp/w//steamapps/.steam_exec_test.sh", 0x7ffcfca21dc0) = -1 ENOENT (No such file or directory)
[pid 18173] write(2, "sh: /tmp/w//steamapps/.steam_exec_test.sh: No such file or directory\n", 69) = 69
[pid 17714] access("/tmp/w//steamapps/.steam_exec_test.sh", F_OK) = -1 ENOENT (No such file or directory)
[pid 17714] access("/tmp/w//steamapps/.steam_exec_test.sh", F_OK) = -1 ENOENT (No such file or directory)
[pid 17714] access("/tmp/w//SteaMapPs/.steam_exec_test.sh", F_OK) = 0
[pid 17714] unlink("/tmp/w//SteaMapPs/.steam_exec_test.sh") = 0
Pportaloffreedom 2015-04-25 github

@htto OMG yes! Renaming the "SteamApp" folder to the lowercase version does indeed fixed the issue for me! Thanks! :D

Still, I wouln't say this issue is solved

PPlaque-fcc 2015-04-25 github

This issue ain't resolved. It's a duplicate of those like #3777 and
#3679, at least.

Ggdrewb-valve maintainer 2015-04-27 github

Duplicate of #3649.

Jjh97uk 2018-11-18 github

This issue is still (unfortunately) alive and well.

Nothing extracted yet.