我需要在Makefile中mymake.mk, 使用mkfs.vfat但这个命令是定位/ sbin目录/如何在Makefile中使用sbin命令?
$ which mkfs.vfat
/sbin/mkfs.vfat
当前用户不是根,我建我的,然后项目出现错误“命令未找到”。
如何在Makefile中使用sbin命令?
我需要在Makefile中mymake.mk, 使用mkfs.vfat但这个命令是定位/ sbin目录/如何在Makefile中使用sbin命令?
$ which mkfs.vfat
/sbin/mkfs.vfat
当前用户不是根,我建我的,然后项目出现错误“命令未找到”。
如何在Makefile中使用sbin命令?
你的问题可能是这两点:
/sbin/
他$PATH
。的第一个问题是很容易只是写的完整路径,而不是只在Makefile中的命令修改为:
target: sources …
/sbin/mkfs.vfat ……
,如果你真的想要写一个块设备,你的第二个问题只发生没有写入权限。在这种情况下,考虑你在做什么。它真的有道理吗?通常情况下,这只会在make install
的情况下有意义,并且这应该仅由用户root
执行,因此您将具有写入权限。实际上,通常只有sudo make install
才能获得该安装步骤的根访问权限。
但是,如果这是一个特殊的情况,那么你可以说sudo
添加到您的Makefile还有:
target: sources …
sudo /sbin/mkfs.vfat ……
(这将导致被要求输入密码运行的Makefile的时候。)
而且,最后一个重要的是,您可以使用该mkfs
创建一个文件,其中包含新创建的文件系统。在这种情况下,你不需要任何特殊的权限(除了写权限的文件中,您要创建:
target: sources …
/sbin/mkfs.vfat -C /path/to/my/filesystem ……
在头
PATH:=$(PATH):/sbin
某处有看起来这可能只是解决方案某些情况下,您可能需要详细说明 –