7、 Linux 环境下如何在外置 sd 卡执行程序 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
MasterCai
V2EX    Linux

7、 Linux 境下如何在外置 sd 卡执行程序

  •  
  •   MasterCai 2020-12-18 17:11:48 +08:00 2953 次点击
    这是一个创建于 1824 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有一块嵌入式开发版,系统是 fedora 28,想要扩展容量,就插了一块 sd 卡( MS-DOS 格式)。通过mount命令挂载到了桌面上的sd文件夹,可以正常存取文件,但是如果是可执行文件不能执行。试过用 chmod 更改文件权限,无效。请教一下应该如何处理(如何在 sd 卡上直接执行二进制程序)?

    第 1 条附言    2020-12-19 10:05:15 +08:00

    感谢各位的回复,两种方法我都尝试了。

    1. 使用mount /dev/mmcblk0p1 /home/openailab/Desktop/sd/ -o dmask=000,fmask=111,umask=000命令添加参数的方法好像并没有作用,chmod 777 ./exec并不能改变文件权限(exec是可自行程序)。
    2. 最后使用的方法是sudo mkfs.ext4 /dev/mmcblk0p1格式化为ext4格式,就可以通过chmod命令改变权限了。
    18 条回复    2020-12-21 14:48:21 +08:00
    boris93
        1
    boris93  
       2020-12-18 17:15:23 +08:00 via Android
    > 但是如果是可执行文件不能执行。试过用 chmod 更改文件权限,无效。

    请避免使用这类模糊的描述。
    放出你的操作步骤,以及报错信息,这样我们才能帮到你。
    KagurazakaNyaa
        3
    KagurazakaNyaa  
       2020-12-18 17:17:57 +08:00   1
    ms-dos 格式,意思是文件系统是 fat32 ?你重新格式化为 ext4 试试吧
    ysc3839
        4
    ysc3839  
       2020-12-18 17:18:22 +08:00 via Android   1
    另外既然是扩展容量而不是临时使用,建议格式化为 ext4 或者 f2fs 文件系统。
    tinkerer
        5
    tinkerer  
       2020-12-18 17:21:44 +08:00
    不能执行会有错误提示吧, 给多点信息
    systemcall
        6
    systemcall  
       2020-12-18 18:01:58 +08:00
    ms-dos 格式好像是不支持权限的吧。最简单的方法是格式化成 jffs2 之类的格式,再来挂载
    atx
        7
    atx  
       2020-12-18 18:50:46 +08:00
    应该是文件系统问题, 我有个硬盘 NTFS 分区挂路由器上就遇到这样的问题,最后格式化成 ext4 就好了
    noe132
        8
    noe132  
       2020-12-18 19:06:26 +08:00   1
    mount 的时候设置 umask=000 这样就能运行了
    Osk
        9
    Osk  
       2020-12-18 19:49:53 +08:00 via Android
    方法一:重新格式化为 Linux 的 fs
    方法二:挂载时设置带 x 的 fmask
    Judoon
        10
    Judoon  
       2020-12-19 11:38:13 +08:00
    因为 ntfs 和 fat 之类的文件系统没有 rwx 这样的权限元信息。
    MasterCai
        11
    MasterCai  
    OP
       2020-12-19 13:49:23 +08:00
    @Judoon 原来是这样,学习了。但是 win 使用的就是 ntfs 格式,不也存在文件权限管理的情景吗,没有这种权限信息要怎么处理文件权限
    AoEiuV020
        12
    AoEiuV020  
       2020-12-19 16:15:17 +08:00
    @MasterCai 啊这不能和 win 比,完全不同的机制,win 直接看文件名后缀决定是否可执行文件的,
    事实上 linux 挂载 vfat 或者 ntfs 都可以在挂载时指定挂载成所有文件拥有 x 权限,就可以运行可执行文件了,
    MasterCai
        13
    MasterCai  
    OP
       2020-12-19 17:44:41 +0800
    @AoEiuV020 我想问的是多用户权限管理以及这个文件的读,写,执行权限的控制,这个好像在一个文件的属性里可以设置,但是如果没有这个权限信息的话是如何做到的呢?
    在挂载的时候设置权限我也试过设置 mount 命令参数"dmask=000,fmask=111,umask=000",但是没有效果呀,最后还是格式化为 ext4 格式了。
    ysc3839
        14
    ysc3839  
       2020-12-19 19:41:54 +08:00   1
    @MasterCai NTFS 是基于 ACL 的权限系统,没有 POSIX 这种权限。
    @AoEiuV020 Windows 下有执行权限,是否可执行不由文件名决定。默认所有文件都允许执行。
    AoEiuV020
        15
    AoEiuV020  
       2020-12-21 10:26:59 +08:00
    @MasterCai 没有权限信息是不可能的,不管是 win 还是 linux 都有在文件头里储存文件内容以外的信息,
    挂载的话参数是类似 file_mode=777 这样的,mask 影响的是新建文件的权限,这些不常用的参数都可以用前搜索一下的,
    julyclyde
        16
    julyclyde  
       2020-12-21 11:43:23 +08:00
    FAT 没有 x mode
    ungrown
        17
    ungrown  
       2020-12-21 12:27:52 +08:00
    NTFS 和 FAT 不一样,和 EXT 也不一样
    VFAT 就是没有权限这个说法,要不然当初 winxp 时代微软也不会推荐大家告别 FAT32 拥抱 NTFS
    NTFS 的权限系统又和 Linux 的权限是两个概念
    所以说到底还是要补充“文件系统”的相关知识
    MasterCai
        18
    MasterCai  
    OP
       2020-12-21 14:48:21 +08:00
    @AoEiuV020 @julyclyde @ungrown 感谢各位的回复,看来这个问题涉及到的知识还挺多,我再学习一下
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     888 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 21:31 PVG 05:31 LAX 13:31 JFK 16:31
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86