榨干这台 NAS 第 003 话-硬链接

榨干这台 NAS 第 003 话-硬链接

💡 原文中文,约4300字,阅读约需11分钟。
📝

内容提要

本文介绍NAS中PT下载的硬链接应用。硬链接使同一文件可在多个目录以不同名称存在,删除任一链接不影响其他且不占额外空间,便于做种同时整理媒体库。文章讲解用ln命令及hLink工具创建硬链接,包括Docker安装、配置pathsMapping路径映射、创建任务,并建议设置定时任务、按媒体类型分类配置。

🔎

延伸解读

硬链接与软链接的本质区别

文章用网吧快捷方式的比喻引出软链接,但硬链接与之有本质不同:软链接只是指向源文件的路径,删除源文件后即失效;硬链接则与源文件共享同一份数据,删除任意一个链接都不影响其他链接继续使用,只有全部删除后文件才真正被清除。同时,多个硬链接和源文件只占用一份存储空间,这对NAS用户节省容量非常关键。

PT做种与媒体库整理的矛盾如何化解

PT下载完成后需要长期做种,而做种要求文件不能改名或移动目录结构,这与后期刮削整理媒体库的需求直接冲突。硬链接提供了一种折中方案:在下载目录保留原始文件用于做种,同时在媒体库目录创建硬链接并按规范命名和分类。这样既不影响做种,又能让刮削工具正常识别,且不额外占用空间。

hLink配置中的路径映射易错点

使用hLink时,pathsMapping中填写的路径必须是容器内的路径,而非宿主机路径。文章以自身为例,宿主机/mnt/user映射为容器/share,因此源路径和目标路径都要相应改写。如果直接照搬宿主机路径,硬链接任务将无法正确执行。此外,源路径和目标路径的共同父目录必须映射进容器,否则hLink无法访问。

自动化与分类配置的实用建议

文章建议为hLink任务设置定时执行,例如每小时一次,这样新下载完成的文件会自动创建硬链接,无需手动操作。同时,由于电影、电视剧等不同类型媒体通常分文件夹保存,需要为每种类型创建独立的配置,分别设置对应的pathsMapping。若某些文件不需要硬链接,可在exclude中添加规则排除。

❓

Q&A

NAS 上 PT 下载后为什么要用硬链接?

PT 下载后需要长期做种,但做种要求文件不能改名或修改目录结构,这会影响媒体库的刮削整理。硬链接可以让同一文件在多个目录以不同名称存在,删除任一链接不影响其他且不占额外空间,从而兼顾做种和媒体库整理。

硬链接和软链接有什么区别?

软链接相当于 Windows 快捷方式,删除源文件后软链接失效;硬链接删除源文件后仍可正常使用,只有删除所有源文件和硬链接后文件才真正删除。多个硬链接和源文件只占用一份空间。

如何用 ln 命令创建硬链接?

使用 ln 命令,格式为:ln 源文件路径 目标硬链接路径。例如:ln /Downloads/qBittorrentDownloads/media/movie/不能说的秘密/不能说的秘密2.mp4 /media/movie/不能说的秘密2(2034)/不能说的秘密2(2034).mp4。

hLink 的 Docker 安装命令是什么?

安装命令为:docker run -d --name hlink -e HLINK_HOME=$YOUR_HLINK_HOME_DIR -p 9090:9090 -v $YOUR_NAS_VOLUME_PATH:$DOCKER_VOLUME_PATH likun7981/hlink:latest。需要将源文件和硬链接文件的共同父目录映射进容器。

hLink 的 pathsMapping 路径映射怎么配置?

pathsMapping 填写容器内的绝对路径,需根据启动容器时的目录映射参数修改。例如宿主机路径 /mnt/user 映射为容器内 /share,则源路径 /mnt/user/UNRAID/downloads/qBittorrentDownloads/Media/Movie 应改为 /share/UNRAID/downloads/qBittorrentDownloads/Media/Movie,目标路径类似。

使用 hLink 时有哪些需要注意的点?

可以为任务设置定时任务,一般每小时执行一次;根据电影、电视剧等不同类型创建不同配置;不想硬链接的文件可在 exclude 中添加规则;qBittorrent 中勾选“为不完整的文件添加扩展名 .!qB”以避免未下载完成的文件被硬链接。

🏷️

标签

➡️

继续阅读