LINUX.ORG.RU

История изменений

Исправление annulen, (текущая версия) :

У меня всё аналогично, и куча AppImage’й запускается

$ eix -e sys-fs/fuse
[I] sys-fs/fuse
     Available versions:  
     (0)    2.9.9-r2
     (3)    3.16.2^t
       {examples static-libs +suid test ABI_MIPS="n32 n64 o32" ABI_S390="32 64" ABI_X86="32 64 x32"}
     Installed versions:  2.9.9-r2(22:31:57 31.05.2024)(-examples -static-libs) 3.16.2(3)^t(16:52:05 31.05.2024)(suid -test ABI_MIPS="-n32 -n64 -o32" ABI_S390="-32 -64" ABI_X86="64 -32 -x32")
     Homepage:            https://github.com/libfuse/libfuse
     Description:         An interface for filesystems implemented in userspace

fusermount при этом от слота (0):

$ equery b `which fusermount`
 * Searching for /usr/bin/fusermount ... 
sys-fs/fuse-2.9.9-r2 (/usr/bin/fusermount)

Из интереса решил попробовать запустить твой бинарник. Вроде бы вот это оно? Результат получился такой же: fuse: failed to exec fusermount: Permission denied

Однако --appimage-extract отработал без вопросов. Создаётся каталог squashfs-root, в котором надо запускать AppRun.

Решил разобраться, почему Permission denied. Вот что говорит strace:

...
open("/usr/bin/fusermount3", O_RDONLY|O_LARGEFILE) = -1 EACCES (Permission denied)
access(NULL, X_OK)                      = -1 EFAULT (Bad address)
open("/usr/bin/fusermount", O_RDONLY|O_LARGEFILE) = -1 EACCES (Permission denied)
access(NULL, X_OK)                      = -1 EFAULT (Bad address)
...

Т.е. он пробует и новую версию, и старую, но никакую не может открыть. А разгадка проста:

-rws--x--x 1 root root 39648 мая 31 22:31 /usr/bin/fusermount
-rws--x--x 1 root root 39656 мая 31 16:52 /usr/bin/fusermount3

Обе запрещены на чтение не от рута. Это, по-видимому, какая-то гентушная фишка ставить бинарники с правами --x, я на такое уже нарывался со сломанным find_program() в cmake, пытающимся делать то же самое. Но AppImage тоже не прав, надо было stat использовать.

Исправление annulen, :

У меня всё аналогично, и куча AppImage’й запускается

$ eix -e sys-fs/fuse
[I] sys-fs/fuse
     Available versions:  
     (0)    2.9.9-r2
     (3)    3.16.2^t
       {examples static-libs +suid test ABI_MIPS="n32 n64 o32" ABI_S390="32 64" ABI_X86="32 64 x32"}
     Installed versions:  2.9.9-r2(22:31:57 31.05.2024)(-examples -static-libs) 3.16.2(3)^t(16:52:05 31.05.2024)(suid -test ABI_MIPS="-n32 -n64 -o32" ABI_S390="-32 -64" ABI_X86="64 -32 -x32")
     Homepage:            https://github.com/libfuse/libfuse
     Description:         An interface for filesystems implemented in userspace

fusermount при этом от слота (0):

$ equery b `which fusermount`
 * Searching for /usr/bin/fusermount ... 
sys-fs/fuse-2.9.9-r2 (/usr/bin/fusermount)

Из интереса решил попробовать запустить твой бинарник. Вроде бы вот это оно? Результат получился такой же: fuse: failed to exec fusermount: Permission denied

Однако --appimage-extract отработал без вопросов. Создаётся каталог squashfs-root, в котором надо запускать AppRun.

Решил разобраться, почему Permission denied. Вот что говорит strace:

...
open("/usr/bin/fusermount3", O_RDONLY|O_LARGEFILE) = -1 EACCES (Permission denied)
access(NULL, X_OK)                      = -1 EFAULT (Bad address)
open("/usr/bin/fusermount", O_RDONLY|O_LARGEFILE) = -1 EACCES (Permission denied)
access(NULL, X_OK)                      = -1 EFAULT (Bad address)
...

Т.е. он пробует и новую версию, и старую, но никакую не может открыть. А разгадка проста:

-rws--x--x 1 root root 39648 мая 31 22:31 /usr/bin/fusermount
-rws--x--x 1 root root 39656 мая 31 16:52 /usr/bin/fusermount3

Обе запрещены на чтение не от рута. Это, по-видимому, какая-то гентушная фишка ставить бинарники с правами --x, я на такое уже нарывался со сломанным find_program() в cmake, пытающимся делать то же самое. Но AppImage тоже не прав, надо было stat использовать.

Исходная версия annulen, :

У меня всё аналогично, и куча AppImage’й запускается

$ eix -e sys-fs/fuse
[I] sys-fs/fuse
     Available versions:  
     (0)    2.9.9-r2
     (3)    3.16.2^t
       {examples static-libs +suid test ABI_MIPS="n32 n64 o32" ABI_S390="32 64" ABI_X86="32 64 x32"}
     Installed versions:  2.9.9-r2(22:31:57 31.05.2024)(-examples -static-libs) 3.16.2(3)^t(16:52:05 31.05.2024)(suid -test ABI_MIPS="-n32 -n64 -o32" ABI_S390="-32 -64" ABI_X86="64 -32 -x32")
     Homepage:            https://github.com/libfuse/libfuse
     Description:         An interface for filesystems implemented in userspace

fusermount при этом от слота (0):

$ equery b `which fusermount`
 * Searching for /usr/bin/fusermount ... 
sys-fs/fuse-2.9.9-r2 (/usr/bin/fusermount)

Из интереса решил попробовать запустить твой бинарник. Вроде бы вот это оно? Результат получился такой же: fuse: failed to exec fusermount: Permission denied

Однако --appimage-extract отработал без вопросов. Создаётся каталог squashfs-root, в котором надо запускать AppRun.

Решил разобраться, почему Permission denied. Вот что говорит strace:

...
open("/usr/bin/fusermount3", O_RDONLY|O_LARGEFILE) = -1 EACCES (Permission denied)
access(NULL, X_OK)                      = -1 EFAULT (Bad address)
open("/usr/bin/fusermount", O_RDONLY|O_LARGEFILE) = -1 EACCES (Permission denied)
access(NULL, X_OK)                      = -1 EFAULT (Bad address)
...

Т.е. он пробует и новую версию, и старую, но никакую не может открыть. А разгадка проста:

-rws--x--x 1 root root 39648 мая 31 22:31 /usr/bin/fusermount
-rws--x--x 1 root root 39656 мая 31 16:52 /usr/bin/fusermount3

Обе запрещены на чтение не от рута. Это, по-видимому, какая-то гентушная фишка ставить бинарники с правами --x, я на такое уже нарывался с bubblewrap. Но AppImage тоже не прав, надо было stat использовать.