【发布时间】:2015-12-20 18:12:38
【问题描述】:
在 BitBake .bbappend 文件中,我有以下内容:
SRC_URI += "file://foo.file"
do_install_append() {
install -m 000 foo.file ${D}${sysconfdir}/foo.file
}
FILES_${PN} += "${sysconfdir}/foo.file"
foo.file 是在正确的目录中创建的,但权限是-rw-------。在普通 shell 中,我可以在将权限设置为 ---------- 的文件上 install -m 000 就好了。
有没有办法使用 BitBake 删除文件所有者的读写权限?
更新:我在IMAGE_PREPROCESS_COMMAND 中运行了以下命令:
install -m 0000 ${DEPLOY_DIR_IMAGE}/foo.file ${IMAGE_ROOTFS}/home/root
ls -lah ${IMAGE_ROOTFS}/home/root >> ${IMAGE_ROOTFS}/home/root/lslog
bitbake 完成执行后,我导航到${IMAGE_ROOTFS}/home/root 并执行ls -la,我看到foo.file 上的权限是-rw-------,但是当我查看${IMAGE_ROOTFS}/home/root 里面的内容时,权限是----------。我认为这可能有助于诊断这里发生了什么。
【问题讨论】:
-
请注意,您在这里没有使用
chmod。如果您直接从 shell 使用-m 000调用它,您的install的行为如何?我的行为符合预期,但installs 有所不同。 -
刚刚从 shell 测试了
install -m 000并将权限设置为---------- -
这很有趣。这个问题实际上可能与 BitBake 相关(也许它将自己的
install定义为一个 shell 函数?),不幸的是,我不知道。
标签: linux chmod yocto bitbake openembedded