问题标签 [xattr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
macos - Snow Leopard 中的旧 Mac 扩展属性
去年,我不得不从 OS 9 左右转换旧的 Mac 字体,以便有人在 PC 上使用。我发现当时字体数据存储在扩展属性 com.apple.ResourceFork 中。实际文件大小将在终端中显示为 0。我可以通过简单地使用 xattr -p com.apple.ResourceFork font > font.ttf 打印出该扩展属性的值来解决这个问题。
现在有了 Snow Leopard 和 HFS+ 文件压缩,情况发生了变化。如果您现在尝试打印出旧式扩展属性,您将只得到十六进制而不是值。除非使用 -x 选项指定,否则新的扩展属性不会出现任何十六进制。这是一个例子:
在 ResourceFork 上运行 xattr -p 将输出十六进制,在隔离区运行它会得到 ASCII。显然,Apple 改变了他们处理扩展属性的方式,也许他们忘记了仍然保留 OS 9 字体的人。
我在这里遗漏了什么,还是我只是编写一个脚本将十六进制转换为 ASCII?
file - 删除扩展属性:失败
从 shell 脚本中,我正在尝试删除扩展属性
setfattr -x security.selinux file.txt
file.txt 的模式为 777,但我收到“权限被拒绝错误”。
我怎样才能解决这个问题?
linux - 定位扩展属性
是否有一种简单的方法可以为 updatedb(或 locate)编写一种包装脚本或补丁,以便 locate 也可以找到用户定义的扩展属性(标签)(假设在 ext3 文件系统中,使用 user_xattr 选项挂载)?
macos - 如何查询所有 Finder 别名的目标?
Mac OSX 10.6
我有一些别名指向错误的卷。我想在我的整个层次结构中搜索这样的别名。它们是别名,而不是符号链接,所以我不能只做find / -type l -ls | grep badVolumeName
.
别名似乎有一个 com.apple.ResourceFork,但是用它查询它xattr
会给我二进制数据。有没有办法将别名的目标转储为文本,以便我可以 grep 查找错误的卷名?或者还有什么方法可以做到这一点?
c# - C# xattr 文件属性
我正在创建一个跨平台软件,我想知道是否有任何(简单的)方法可以在 C# 中读取/写入 Unix(Mac OSX/Linux)扩展文件属性。我刚刚阅读了有关xattr
命名空间的信息,但我还没有找到有关 C# 实现或此功能绑定的任何信息。
PS到目前为止我发现的唯一东西是python-xattr库,但我不想使用它,因为:
- 我不想强制用户安装 Python(已经有 Mono/.NET 依赖项需要处理)
- 通过使用 Python,我会降低性能(编译 C#,而解释 Python)
- 我不想依赖/依赖外部工具(如果可能的话),因为它不安全
linux - 不支持 Xattrs
我正在尝试对XATTRs
. 我在启用所有 XATTR 的情况下重新编译了我的内核。
现在,当我包含 xattrs 的标题时:
我收到一个错误no such file or directory。我使用的是 UBUNTU 11.10 64 位系统,但我不明白为什么不支持 XATTR?
macos - 打印 xattr 十六进制输出的字符串表示
我正在尝试编写一个脚本来从使用 xattr 在 OS X 上通过 Safari 下载的磁盘映像中提取原始下载 URL,以便我可以重命名它们,但仍然可以轻松获取它们的原始名称以供参考。
此命令打印下载给定文件的 URL 的十六进制表示,例如:
给
URL 从第 14 个字节开始(如果我计算正确的话)并且以 NULL 结尾。如何格式化此字符串,以便获得如下字符串输出:
http://adcdownload.apple.com/Mac_OS_X/mac_os_x_10.6.1_build_10b504/0415073a.dmg
(不用担心,除非您登录 ADC,否则此链接无效)
...本质上,Finder 将在“获取信息”中显示相同的内容。我尝试将 xattr 的输出通过管道传输到 xxd,但我不确定如何指定偏移量,以便字符串从正确的位置开始。
linux - FUSE 文件系统上的 Linux 功能
我有一个 FUSE 文件系统,我在其中编写了getxattr
和setxattr
这样的代码:
和
我已经对此进行了测试,除了功能之外它工作得很好:当我使用 setcap 为程序设置功能并运行它时,程序无法执行特权工作。尽管 getcap 返回了我之前设置的功能。
有人可以告诉我一种跟踪问题的方法或给我一些关于正在发生的事情的指示吗?
macos - 复制 Mac com.apple.ResourceFork 扩展属性导致“参数列表太长”
我正在尝试使用 OSX“xattr”实用程序将扩展属性从一个文件复制到另一个文件。背景是我们正在构建一个备份工具,文件/结构必须保留所有属性、ACL 等……除了资源分叉等大属性外,一切正常。使用下面的方法,小属性可以正常工作。在 OS X 10.7.5 上尝试这个是我正在做的:
首先,我使用“ls -l@”识别文件的属性。结果如下:
现在我导出属性(com.apple.ResourceFork 是导致问题的原因之一):
我现在想使用以下命令将此属性应用于另一台 Mac 上的文件副本:
这导致:
我想我知道它为什么会发生……资源分叉数据太长了,不适合争论。我还没有确定它开始突破的阈值,但我怀疑它与 ARG_MAX 有关。xargs 在这里没有帮助,因为它不是几个较小的参数,而是一个非常大的参数。
这么多问题:
- 有没有办法让 xattr 接受这个大值?以某种方式通过标准输入将其输入?手册页没有显示它,但我不是专家,也许有一些创造性的方法可以做到这一点
- 谁能告诉我使用常用命令行工具应用大型扩展属性的正确方法?
- 如果没有库存命令行工具,对 3rd 方工具有什么建议吗?
java - Java 用户定义文件属性视图
当我向文件添加新UserDefinedFileAttributeView
属性时,Java 将这些信息存储在哪里?目录中没有其他文件,当我查看文件属性时,该文件没有任何新属性或详细信息。
我的代码: