请不要把任何和邀请码有关的内容发到 NAS 节点。

邀请码相关的内容请使用 /go/in 节点。

如果没有发送到 /go/in,那么会被移动到 /go/pointless 同时账号会被降权。如果持续触发这样的移动,会导致账号被禁用。
lialosiu
V2EX  ›  NAS

大佬们 NAS 搜索文件都是怎么解决的

  •  
  •   lialosiu · Aug 22, 2022 · 4993 views
    This topic created in 1534 days ago, the information mentioned may be changed or developed.

    我现在的配置是洋垃圾超微板子,带硬盘 3x3T ,2x16T

    硬盘大,小文件多,linux 下跑搜索简直痛苦面具拉满...

    试了下各种搜索工具都不尽人意,始终达不到 everything 那种搜啥出啥的感觉,甚至建索引都要跑好久好久....

    然后新增文件还经常不能实时搜索到...

    linux 下就没哪个文件系统有能实现搜啥出啥的吗(

    21 replies  •  2026-09-08 19:00:05 +08:00
    dilu
    dilu
    Aug 22, 2022
    1
    装个黑裙吧 别给自己带痛苦面具了
    BeautifulSoap
    BeautifulSoap
    Aug 22, 2022
    2
    我 NAS 用 Samba 挂载到 Windows ,然后直接用 everything 对挂载的盘做定期的全盘索引(其实只要是在装了 everthing 的系统里操作挂载的盘,everthing 都能实时索引到的)

    我虽然一个盘 14T 大,但每次索引基本几分钟就结束了并不慢(小文件实在太多了的话另说)
    delectate
    delectate
    Aug 22, 2022
    3
    ssh 进去,然后 tree 列出来所有文件。把 txt 拉到本地,正则查找文件。
    ngv2
    ngv2
    Aug 22, 2022
    4
    mlocate
    BeautifulSoap
    BeautifulSoap
    Aug 22, 2022
    5
    > linux 下就没哪个文件系统有能实现搜啥出啥的吗

    没有,linux 的文件系统从原理上就根本不支持不扫全盘就建文件索引找文件。linux 下无论什么查找工具,归根结底到头来都是扫全盘
    ngv2
    ngv2
    Aug 22, 2022
    6
    @BeautifulSoap
    mlocate
    虽然本质上也是扫全盘,但这个工具会定期扫并且把改动存到数据库里
    查找是不需要扫盘的,只需要查库

    另外还有 rlocate locate 之类的工具
    BeautifulSoap
    BeautifulSoap
    Aug 22, 2022 via Android
    7
    @ngv2 啊,我还以为 lz 想问的是 linux 下有没有像 Windows 下的 everything 这种不用扫全盘就能建全盘索引,并且所有文件操作实时收录的软件。如果接受定期扫全盘的话,的确 linux 下工具选择挺多的
    nkidgm
    nkidgm
    Aug 22, 2022
    8
    群晖的全局搜索很快的
    ScepterZ
    ScepterZ
    Aug 22, 2022
    9
    我直接装了 Windows ,自然获取了 everything 的那种感觉(
    wudaye
    wudaye
    Aug 22, 2022
    10
    何必呢,win server 多方便
    tpxcer
    tpxcer
    Aug 22, 2022
    11
    直接命令行进去搜的
    zcloud
    zcloud
    Aug 23, 2022
    12
    你 Windows 安装 everything 。然后 everything 这样设置就好了。
    Windows 映射网络驱动器 映射 NAS 中的磁盘。
    然后打开 everything 。
    工具→选项→索引→文件夹→添加文件夹(选择刚才映射的磁盘即可) 即可。
    lialosiu
    lialosiu
    OP
    Aug 23, 2022
    13
    @BeautifulSoap 我想要的就是类似 everything 这种不用全盘扫的...

    主要是几十 T 的硬盘,全盘扫一遍几个小时没了,扫的时候还 io 拉满,响应巨慢....

    试过群晖了,并没什么卵用,还是要全盘扫。然而我 nas 上一大堆小文件,甚至还有好多项目的 node_module 之类的(

    而且重点是索引更新不及时....

    怀念起当年 windows server 一把梭的时候了,存储空间一拉,smb 一开,everything 一装,甚至还能客户机搜索 nas 上的 everything (
    lialosiu
    lialosiu
    OP
    Aug 23, 2022
    14
    @BeautifulSoap 我很好奇为啥 linux 下林林总总这么多文件系统,就没人设计一个能快速索引文件的,就很怪(
    TerranceL
    TerranceL
    Aug 23, 2022
    15
    换个思路,尝试整理一下硬盘?
    lialosiu
    lialosiu
    OP
    Aug 23, 2022
    16
    @TerranceL 几十 T ,整理要命的(
    aloxaf
    aloxaf
    Aug 23, 2022
    17
    @lialosiu #13

    考虑用 lolcate-rs ,然后设定不需要索引的文件夹,并根据数据冷热建立多个数据库?

    > 我很好奇为啥 linux 下林林总总这么多文件系统,就没人设计一个能快速索引文件的,就很怪(
    因为这个需求太小众了?其实现在有了 fanotify ,理论上也可以实现和 everything 类似的实时索引的工具,但是并没有人去做……
    ellermister
    ellermister
    Aug 23, 2022
    18
    @lialosiu
    我也希望知道 linux 代替 every thiny 的软件,搜文件太痛苦了,现在只能用目录区分,自己一个一个找。
    或者用网盘程序挂 WEBDAV ,存储之后在软件 /数据库里面差。没有找到更好的方案。
    Overfill3641
    Overfill3641
    Aug 23, 2022
    19
    Everything 确实很厉害,尤其文件列表可以把离线硬盘所有文件都弄好直接搜索。
    chess99
    chess99
    Sep 8
    20
    你提到的小文件、node_modules 和扫盘时 IO 拉满,也是我做 nas-find 的原因: https://github.com/chess99/nas-find

    现在是 NAS 本地用 plocate 维护文件名索引,inotify 收到创建、删除、改名后合并更新;可以排除 .git 、node_modules 这类目录。电脑只请求搜索结果,Windows 客户端再通过 SMB 打开原文件,不用每台电脑各扫一次共享。

    先说明取舍:首次建索引和恢复、兜底校验还是要检查目录,不是完全免扫描,也不保证每次变化秒级出现。我主要想解决的是“文件变化不频繁,却一直有多余索引动作”。
    chess99
    chess99
    Sep 8
    21
    @zcloud 我的 everything 没法选择映射的磁盘 (Z:),不过可以手动填入,用 UNC 路径 \\NAS_IP\共享名
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2648 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 76ms · UTC 15:07 · PVG 23:07 · LAX 07:07 · JFK 10:07
    ♥ Do have faith in what you're doing.