Не мог запустить программы прочь моих внешних медиа

Мой диск отформатирован к ext3/ext4, таким образом, я знаю, что это не проблема с исполнимыми полномочиями файловой системы.

У меня была эта проблема с одной программой, так для проверения его, я сделал быстрый файл удара, который просто открыл терминал и работал sudo apt-get update. При выполнении его я получаю следующее поле:

"Объем на 63 ГБ" содержит программное обеспечение, предназначенное, чтобы быть автоматически запущенным. Хотели бы Вы выполнять его?

Если я нажимаю Run, Я затем получаю другое поле:

Ой! Была проблема, запускающая это программное обеспечение. Не мог определить местоположение программы.

Есть ли какие-либо решения, которые я могу попробовать (помимо помещения программного обеспечения на моем внутреннем диске)? Я пытаюсь запустить программы прочь внешнего диска конкретно, потому что мой внутренний диск является низким на пространстве.

Я также проверил, что флажок "Allow running as executable" устанавливается, и это (на самом деле, я на самом деле не могу пометить его.)


Править: Извинения за не включая сценарий. Это - то, что находится в файле:

#! /bin/bash

gnome-terminal -e 'bash -c "sudo apt-get update; exec bash"'

У меня есть эта проблема со всем программным обеспечением, я пытаюсь работать на внешних медиа.

Вот вывод mount | grep /dev/sd:

/dev/sda1 on /var/host/media/removable/SD Card type fuseblk (rw,nosuid,nodev,noexec,relatime,dirsync,user_id=302,group_id=302,allow_other,blksize=4096)
1
задан 14 May 2017 в 01:38

1 ответ

Ваш диск смонтирован с noexec опция. AFAIK Это буквально запрещает выполняющие программы на объеме независимо от настроек на отдельных файлах. Определенные решения варьируются в зависимости от того, как Вы смонтировали объем во-первых, но с общей точки зрения необходимо или смонтировать объем без noexec опция или подкачать его явно для exec опция. Вот выборка из страницы справочника предохранителя:

OPTIONS
       Most of the generic mount options described in mount are supported (ro,
       rw, suid, nosuid, dev,  nodev,  exec,  noexec,  atime,  noatime,  sync,
       async,  dirsync). Filesystems are mounted with nodev,nosuid by default,
       which can only be overridden by a privileged user.

И соответствующая часть страницы справочника монтирования:

noexec Do  not  allow  direct  execution of any binaries on the mounted
              filesystem.  (Until recently it was  possible  to  run  binaries
              anyway  using a command like /lib/ld*.so /mnt/binary. This trick
              fails since Linux 2.4.25 / 2.6.0.)

Насколько я знаю, предохранитель не поддерживает опцию перемонтирования, таким образом, я полагаю, что необходимо размонтироваться /dev/sda1 (после того, как закрытие любых открытых файлов на устройстве) с fusermount -u "/var/host/media/removable/SD Card" и затем монтировать его снова с опциями, Вы требуете (кроме noexec) обычно использования эти mount команда. См. man mount man fuse и man fusermount для получения дальнейшей информации как считавшие необходимыми для Вашей определенной ситуации.

1
ответ дан 7 December 2019 в 15:36

Другие вопросы по тегам:

Похожие вопросы: