我用经过(标准 unix 密码管理器)并且它停止搜索链接目录,例如:
> pass find test
Search Terms: test
├── mine -> /mnt/params/.password-store/mine [recursive, not followed]
(...)
> ls -l /home/kossak/.password-store/mine 10:44:32
lrwxrwxrwx 1 kossak kossak 32 2017-01-19 /home/kossak/.password-store/mine -> /mnt/params/.password-store/mine
> ls -ld /mnt/params/.password-store/mine
drwx------ 2 kossak kossak 4096 2021-05-06 /mnt/params/.password-store/mine
文件夹mine
不是递归的,它是到不同文件夹的链接。前一段时间它还可以工作,但现在停止了。
有什么想法如何修复它吗?
我在用着:
- 通过v1.7.4
- Linux 曼扎罗
答案1
pass
显然使用tree
为pass find
命令。
对我来说,运行底层tree
命令可能会带来同样的问题:
$ tree -N -C -l --noreport -P '*test*' --prune --matchdirs --ignore-case /home/user/.password-store
/home/user/.password-store
└── symlink -> /path/to/another/dir [recursive, not followed]
您还可以看到“递归,未遵循”错误在tree
源代码中。
关于此行为表现的答案tree
说“如果在哈希表(用 saveino 和 findino 填充的哈希表)中找到符号链接指向的目录的 inode 号,它将简单地跳过它。”
我还没有找到解决方案,但我的猜测是tree
保存和查找索引节点号的代码发生了一些奇怪的事情。
和你一样,我也记得像这样的符号链接曾经在 中工作pass
,我不记得它们何时停止工作。最后tree
对任何相关的事情进行有意义的改变pass
是在2014年,tree
那么也许这是一个回归呢?
¹为了找到该tree
命令,我在set -x
链接行上方添加了tree -N -C
password-store.sh