问题标签 [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.

0 投票
0 回答
111 浏览

linux - anaconda3 安装错误:引发异常(“dst 存在:%r”% dst)

我正在尝试在 CIFS 驱动器(在我的情况下为 Azure 文件共享)中安装 anaconda3,但我不断收到此错误:

我一直在努力解决这个错误,但我无法接近任何解决方案。

这也是我将 Azure 文件共享安装到我的系统的方式(如果此信息有帮助):

0 投票
0 回答
285 浏览

python - xattr 出现问题,“没有名为 'pkg_resources' 的模块”

我在 MacOS 上使用 Python 已经有一段时间了,最​​近,在尝试执行 MacOS 的 xattr 时,xattr -cr <file>我总是遇到这个错误:

我做了很多研究并尝试重新安装 setuptools 和 pip,但我仍然遇到同样的错误。如果有人能引导我找到解决方案,我将不胜感激。提前致谢。

0 投票
1 回答
163 浏览

python - 为什么必须是“用户”。使用 os.setxattr() 设置文件的 xattr 时,是否要在名称前添加?

我正在保存我猜想可能被视为 JSON 序列化文件上的元数据的数据:

我可以通过以下方式取回字节值:

我可以让它工作的唯一方法是把user.我想要使用的键/名称放在前面。为什么是这样?

0 投票
0 回答
63 浏览

node.js - 使用空格添加元数据属性 - Unix shell 命令

我正在尝试在 Node.js 应用程序中更改文件的元数据属性,问题是我需要在属性值中使用空格。我尝试了以下方法(使用 \ 添加空白),但没有奏效:

在下面的示例中,音乐流派应该是Hip Hop

exec('xattr -w com.apple.metadata:kMDItemMusicalGenre "Hip\ Hop" PATH-TO-FILE')

我还尝试删除引号 (") 或使用模板文字来包装脚本,但它们都不起作用。请你帮我找出如何解决这个问题吗?提前谢谢你。

0 投票
1 回答
35 浏览

c - 如何使用我在浏览目录中的文件时编写的可执行文件

我编写了一个可执行文件来检查xattr tags. 我想在目录的所有文件上使用该可执行文件,这意味着我想在该目录中找到的每个文件以及其中目录的每个文件上执行它......等等。

xattr executable和我用来在目录中递归导航的程序如下所示:

xattr program从终端单独使用时,效果非常好。用于递归获取目录中所有文件的程序在没有forkand的情况下可以正常工作exec。但是,当我使用它们时,程序显示重复,执行 xattr 程序但没有找到标签,就像它刚刚执行,但没有完成,有些文件没有显示......

这是我可以拥有的输出示例:

该程序似乎挂在我的终端...

我在这里想要实现的是能够xattr在目录中的每个文件上执行我的程序,第一个第二个程序被调用。我很难让它与forkand一起使用execv

请问你能帮帮我吗?

谢谢。

0 投票
1 回答
389 浏览

linux - 将 xargs 输出格式化为 grep

我有一个正在尝试优化的脚本xargs。当前版本使用findwith-exec调用命令:

find -type f -iname "*.mp4" -print0 -printf '\n' -exec getfattr -d --absolute-names {} \;

之后,我可以使用以下方式进行管道传输grep

grep -z -P user\.md5\=\"$input_search_hash\"

过滤结果,同时保持整个输出-z

我需要从每个文件“保留”返回的整个输出getfattr,因为我需要具有匹配扩展属性的文件名,然后将其传递sed给以提取它。如果我需要在扩展属性中grep搜索具有多个匹配项的文件,也存在顺序有多个命令的情况。问题是输出:

find -type f -iname "*.mp4" -print0 | xargs -0 getfattr -d --absolute-names

未以grep会以这种方式过滤的方式格式化。这确实适用于该-exec方法。我可以将附加选项传递给xargs或传递一些附加命令,这些命令将格式化输出以使 grep 正确复制 grep 的行为-exec?我猜在喂食之前我需要某种换行符才能grep喜欢-printf '\n'-exec方法中的功能。我只是getfattr用来“搜索”扩展属性,而不是grep根本不需要输出,但它无法通过提供 xattr 名称和值来做到这一点。

例子

输入来自find命令,它是任意目录结构中的视频文件列表。getfattr对于每个文件,每个命令的输出如下:

如果我尝试使用该方法grep的输出,例如质量值为“10”,我将得到如下结果:find+

所有找到的文件find都被返回,并且要从中搜索的字符串grep,在这个例子user.quality="10"中,被突出显示,但其他文件 test.mp4 和 test2.mp4 仍然有输出打印 post-grep。换句话说,find可能会找到 1000 个 mp4 文件,其中可能有 20 个有user.quality="10"条目,但即使申请grep搜索该字符串仍会返回 1000 个文件名(在 之后sed)。

使用时不会发生这种情况\;。我唯一能摆脱的grep就是:

这是预期的行为。

0 投票
0 回答
217 浏览

smb - 写入扩展文件属性适用于 SMB,但不适用于本地

我有一个将扩展属性写入文件的节点程序(fs-xattr)。这适用于通过 SMB 连接的远程计算机,但如果我尝试在计算机本身上运行该命令,则会显示未启用扩展属性。

中小企业如何做到这一点?也许它有一个后备?

细节

  • 我需要扩展属性的机器是 Synology RS2414rp+ DSM 6.2。
  • 如果我通过 SMB 连接,则从 macos 可以写入和读取扩展文件属性。
  • 如果我 ssh 进入 Synology 框,我无法将扩展属性写入文件
  • Synology 上的 fstab 在卷上没有 user_xattr

次要问题

我找不到关于如何在 Synology 机器上启用 user_xattr 的明确答案。我想了解第一个问题,但我相信启用 user_xattr 也可以解决我的问题。

谢谢您的帮助。

0 投票
1 回答
147 浏览

java - Java UserDefinedFileAttributeView 空

我正在尝试使用 Files.NIO 的 UserDefinedFileAttributeView 来读取和写入文件的自定义属性(一个哈希和两个字符串属性),以便在媒体服务器中使用。我正在运行带有 APFS 的 macOS 10.15.4,它绝对支持 xattr(我可以从命令行读取和写入它们),但是当我尝试从 Java 访问属性时得到一个 NPE:

尝试写入会产生相同的错误。我错过了什么/我应该做些什么不同的事情?理想情况下,这段代码至少可以在 macOS 和 Windows 之间移植(Linux 可能需要专门启用 xattr,所以没什么大不了的)。

谢谢!

0 投票
1 回答
628 浏览

dreamweaver - 如何从显示扩展属性的文件中删除锁定

我在macos mojave上。我的系统上有一个文件被 Dreamweaver 锁定。我将文件复制到另一个目录以在另一个用户签出该文件时对其进行处理,但锁已与文件一起复制。所以我的系统上有一个文件在沙盒之外,我无法写入也无法删除。须藤没有帮助。我注意到它具有扩展属性并试图清除它但它不起作用。如何清除扩展属性或删除文件?

0 投票
0 回答
108 浏览

python - 在 macOS Catalina 和 Python 2 下打开没有 xattr 的文本文件会出现“不允许操作”

在运行 macOS Catalina 10.15.6 的机器上,我一直无法让 Python(在这种情况下是 Python 2)打开一些文件。我把问题归结为以下几点。我有两个明显相同的文本文件,但 xattr 不同。Python 愿意打开一个而不是另一个。这是我的代码:

这是输出:

您可能认为缺少 xattr on 使file2.txt我的计算机相信 file2.txt 是有毒的并且不能被信任,但 Emacs 非常乐意打开它。

“如果你删除com.apple.maclfromfile1.txt怎么办?”,你问。好吧,事实证明 macOS 不允许您这样做,但有一个解决方法。如果我这样做了,我也会失去file1.txt用 Python 阅读的能力。

我无法读取的文件是在没有恶意的情况下创建的——例如,在 Emacs 中创建的文件就得到了这种处理。我在想:

  1. 这里发生了什么?扩展属性真的是罪魁祸首吗?
  2. 如何让 Python 读取我计算机上的其他程序乐于阅读的这些良性文件?