Hlink是一款专为批量创建硬链接而设计的工具,全称为hard link。它能够帮助用户快速生成文件的硬链接,在确保PT(Private Tracker)保种的同时,支持影视资源的刮削操作,例如自动获取电影海报和元数据。通过Hlink,用户可以高效管理媒体库,避免因文件移动或重命名导致的上传中断。
常见问题解答
本部分解答用户可能存在的疑问,内容结合个人理解提供参考信息,并非绝对标准答案。
硬链接定义与原理
硬链接本质上是同一个文件在文件系统中的多个目录项指向,多个硬链接共享相同的inode(索引节点)。简单来说,它相当于一个文件的“多个名称”,所有链接都指向相同的数据块。
硬链接的核心特性
• 文件的多个名称:硬链接作为文件的另一种名称,与原文件共享相同的inode和数据块。删除任何一个硬链接不会导致文件丢失,除非所有链接均被删除。
• 相同的内容一致性:所有硬链接与原文件共享相同内容,任一链接上的修改会同步反映到其他链接上。
• 限于同一文件系统:硬链接无法跨文件系统创建,例如不能在不同硬盘分区间建立链接。
• 不适用于目录:硬链接不能用于目录,以避免文件系统出现循环引用问题。
软链接详解
软链接是一种特殊文件类型,保存指向另一个文件或目录的路径信息。可以理解为文件的“快捷方式”,它不直接指向inode,而是通过路径间接引用目标。
软链接的主要特点
• 路径指向机制:软链接保存目标文件的路径,如果目标被删除或移动,软链接将失效成为“断链”。
• 支持跨文件系统:软链接可以跨不同文件系统使用,因为它基于路径而非inode。
• 可链接目录:软链接常用于创建目录的快捷访问方式。
• 独立inode结构:软链接拥有自己的inode,与目标文件分离,修改软链接不会影响原文件。
硬链接与软链接的区别对比
硬链接适用于同一文件系统内创建链接,修改链接文件不影响源文件。软链接则适合跨文件系统场景,提供类似快捷方式的灵活性。
为何选择硬链接:NAS用户实用场景
从NAS用户角度出发,影视资源通常放入媒体库进行自动刮削和播放。但PT下载工具要求文件不能改动以维持上传做种状态。刮削操作(如移动文件或重命名)会破坏做种条件。硬链接通过生成另一目录解决此问题:用户可自由执行刮削操作,不影响PT做种,且存储空间仅计算一份文件大小。
详细安装步骤:Docker Compose配置
使用Docker Compose快速部署Hlink工具,以下是配置文件示例:
services:
hlink:
image: likun7981/hlink:latest
container_name: hlink
volumes:
- /vol1/1000/docker/hlink:/data
- /vol1/1000/docker/test:/test
ports:
- "9090:9090"
environment:
- PUID=0
- PGID=0
- UMASK=0
- HLINK_HOME=/data
参数说明(更多设置请参考官方文档):
/data
:容器内配置文件存储路径。/test
:测试文件存放目录。PUID
和PGID
:用户权限设置(根据实际环境调整)。HLINK_HOME
:指定容器内配置文件路径。
实际操作指南:配置与运行硬链接任务
在浏览器中输入 http://NAS的IP:9090
访问Hlink的Web界面。
界面简洁,主要分为任务列表和配置列表两大功能区。
首先创建新配置:点击“创建配置”按钮。
填写配置名称和可选描述信息。
建议创建两个目录:Source
存放原始数据,Hlinks
用于硬链接输出。
输入路径时,务必使用容器内的绝对路径(非NAS系统路径)。
设置包含的文件后缀列表,默认值已覆盖常见影视格式,可后续调整。
其他参数保持默认,点击“确定”保存配置。
配置生效后,创建新任务:填写任务名称,类型默认为硬链接。
hlink prune
命令的作用:正向场景下,源文件删除后自动清理多余硬链接;反向场景下,硬链接删除时可配置自动移除源文件(需结合计划任务)。 选择配置文件,点击“确定”启动任务。
点击“运行任务”执行操作。
日志显示任务成功完成。
Source
文件夹存放已刮削的影视资源。
Hlinks
文件夹包含硬链接生成的视频文件,可直接导入Emby等媒体库进行刮削。
设置定时任务(如每10分钟执行一次)确保持续同步。
使用体验与总结评价
尽管Hlink当前仅支持硬链接功能,但其整体体验流畅高效。配置过程基于文件修改,但WebUI界面大幅简化了操作。未来若能提供全图形化配置并加入软链接支持,将进一步提升用户友好性。
综合推荐:⭐⭐⭐(根据个人需求评估) 使用便捷度:⭐⭐⭐(表现良好) 部署复杂度:⭐⭐(操作简单)