2017-02-23 83 views
0

对不起,我不是英语母语的人。chown -R在Yocto-Project食谱中不工作

我想使用Yocto-Project配方文件来安装我的web应用程序。

PR = "r0" 
PV = "1.0" 

LIC_FILES_CHKSUM = "file://COPYING;md5=d41d8cd98f00b204e9800998ecf8427e" 

SRC_URI = "\ 
    file://sources \ 
    file://COPYING \ 
" 
S = "${WORKDIR}" 

do_install() { 
    install -d ${D}${localstatedir}/www 
    cp -r ${S}/sources/* ${D}${localstatedir}/www/ 
    chown -R www-data:www-data ${D}${localstatedir}/www/ 
    chmod -R 775 ${D}${localstatedir}/www/cgi-bin 
} 

/var/www像期望仍然由root:root拥有的,而不是www-data:www-data

问题

那么,如何recusively chown/var/www目录www-data:www-data

编辑

我看过下面的介绍第9页:https://wiki.yoctoproject.org/wiki/images/e/e6/Custom_Users_Groups_in_Yocto1.1.pdf

我创建了这个配方文件来模仿这个页面。

+0

你运行该脚本根? www-data是一个有效的用户/组吗?你有没有从'chown'得到任何错误信息?变量'D'和'localstatedir'如何设置?没有这些细节,没有人能为你做出猜测。 – codeforester

+0

不,运行此脚本作为默认用户而不是root.Yes,www-data是有效的用户/组。 – jsuzu

+2

除非你是root用户,否则你不能'chown'不属于你的文件/目录。 – codeforester

回答

1

首先,chownchmod应在YP/OE食谱的工作方式你使用它们。

问题可能是您在命令的路径参数中错过了/。根据文件[1] ${D}没有尾随/

所以下面应该工作:

do_install() { 
    install -d ${D}/${localstatedir}/www 
    cp -r ${S}/sources/* ${D}/${localstatedir}/www/ 
    chown -R www-data:www-data ${D}/${localstatedir}/www/ 
    chmod -R 775 ${D}/${localstatedir}/www/cgi-bin 
} 

(如果没有,请发表您的日志bitbake的)

[1] https://www.yoctoproject.org/docs/latest/mega-manual/mega-manual.html#var-D

+0

'$ {localstatedir}'以斜杠开头。即'/ var'。 –

-1

须藤乔敦 - R的wwwdata:wwwdata在/ var/WWW /做出所需的文件夹的所有权以及其内部文件夹或文件递归

+0

不,这可能在一个正常的shell上工作,但这个问题是关于一个YP/OE配方。 – g0hl1n

+0

输入chown时显示的错误是什么 – admin123