我需要在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
某處有看起來這可能只是解決方案某些情況下,您可能需要詳細說明 –