我正在尝试让脚本正常工作,但是在尝试使用 setfattr 设置文件属性的特定行上遇到问题。
有问题的行是
ret=os.system('setfattr -n "user.dummy" -v "dummy" /apachelogs/data/file')
Run Code Online (Sandbox Code Playgroud)
该位置的 fstab 输出如下。
/dev/sdb1 /apachelogs reiserfs user,noauto,rw,exec,suid,user_xattr 0 2
Run Code Online (Sandbox Code Playgroud)
返回错误信息:
setfattr: /apachelogs/data/file: Operation not supported
Run Code Online (Sandbox Code Playgroud)
谁能给我一些关于我可能做错的事情的建议?我的 google-fu 只是告诉我,当有人没有在第一个变量上添加 user 前缀时,通常会出现问题。
干杯。
值得尝试的事情。
我知道这听起来很愚蠢,但请确保该目录/apachelogs/data存在。还要确保该文件存在,/apachelogs/data/file并且您有权操作它。
在尝试从 Python 执行上述命令之前,我会确认上述命令可以直接在 shell 中运行。
请尝试以下操作:
$ cd /apachelogs/data
$ touch foobar
Run Code Online (Sandbox Code Playgroud)
现在添加扩展属性:
$ setfattr -n user.foo -v bar foobar
$ getfattr -d foobar
# file: foobar
user.foo="bar"
Run Code Online (Sandbox Code Playgroud)