硬链接神器hlink使用教程(威联通篇)

2021-07-19 23:34:14 51点赞 135收藏 26评论

创作立场声明:所有内容均来自网络公开资料+自我研究,纯分享。如对你有帮助,请多多支持鼓励。


经过群晖篇和unraid篇的教程。

大家应该对hlink比较熟悉了。

它能近乎完美地按规则为我们创建一个“影子”媒体库。

对这个“影子”媒体库进行刮削、重命名、改变文件夹结构,都不会影响源文件夹的PT做种。

完善的黑白名单功能,可以满足我们对各类文件的硬链需求。

不管是硬链原盘、重编码视频,亦或是音频书籍。hlink都能完美胜任。

甚至还能处理PT客户端校验失败的情况。 硬链接神器hlink使用教程(威联通篇)

用过的人都说好硬链接神器hlink使用教程(威联通篇)

那么今天就来最后一篇教程,也是相对最复杂的一篇。

威联通下,使用hlink。

话不多说,马上开始。硬链接神器hlink使用教程(威联通篇)




hlink安装需要nodejs环境,第一步我们给威联通安装nodejs。

来到nodejs官网下载界面

我们这里选择linux X64版本(其他系统类似,选择合适自己的版本)

下载文件为node-v14.17.0-linux-x64.tar.xz

硬链接神器hlink使用教程(威联通篇)

下载完成后把安装文件放入威联通里,我这里直接拖入威联通共享盘。

硬链接神器hlink使用教程(威联通篇)

我这里威联通内文件实际路径是 /share/CACHEDEV1_DATA/QNAP-ESXI/nodejs/node-v14.17.0-linux-x64.tar.xz (威联通数据盘的的绝对路径是/share/CACHEDEV*_DATA/*******)

大家根据自己实际的路径来,不要死记照抄。

下面我们打开威联通SSH控制台,解压安装nodejs。

进入刚刚保存安装包的目录,命令如下(根据你的实际安装包存放路径填写)。

cd /share/CACHEDEV1_DATA/QNAP-ESXI/nodejs/

解压安装nodejs,命令如下(根据你的实际安装包名称填写)

tar -xvf node-v14.17.0-linux-x64.tar.xz

硬链接神器hlink使用教程(威联通篇)

等待解压安装完成。完成后可以输入ls命令查看解压安装是否成功。有安装包同名文件夹存在就OK。

硬链接神器hlink使用教程(威联通篇)

最后我们要把nodejs变为全局可用,输入并执行下面两条软连接命令即可。

ln -s /share/CACHEDEV1_DATA/QNAP-ESXI/nodejs/node-v14.17.0-linux-x64/bin/npm /usr/local/bin/

ln -s /share/CACHEDEV1_DATA/QNAP-ESXI/nodejs/node-v14.17.0-linux-x64/bin/node /usr/local/bin/

硬链接神器hlink使用教程(威联通篇)

(注意路径部分是我们自定义安装nodejs的实际路径,根据个人情况自己填写,可以在威联通FileStation界面查看。)

硬链接神器hlink使用教程(威联通篇)

完成nodejs环境的安装以后,我们就可以安装hlink程序了。

输入安装命令安装hlink,并等待安装完成。

npm install -g hlink

硬链接神器hlink使用教程(威联通篇)

安装完成以后我们再配置一下hlink为全局可用(参考前面的配置nodejs全局可用)。

执行软链接命令

ln -s /share/CACHEDEV1_DATA/QNAP-ESXI/nodejs/node-v14.17.0-linux-x64/bin/hlink /usr/local/bin/hlink

硬链接神器hlink使用教程(威联通篇)

这样就完成hlink安装,并且配置好了环境变量。可以正常使用hlink了。


hlink硬链接命令为

hlink "源路径" "目标路径"

路径部分使用绝对路径,并且建议用半角""标注,可以避免路径内文件夹名称有空格导致命令识别错误。


示例:

hlink "/share/CACHEDEV1_DATA/QNAP-ESXI/media/PT" "/share/CACHEDEV1_DATA/QNAP-ESXI/media/NFS"

硬链接神器hlink使用教程(威联通篇)

完美运行


以上就是威联通下hlink安装和基本使用方法。




进阶功能

软件功能可以在SSH输入命令

hlink --help

硬链接神器hlink使用教程(威联通篇)

查看

一般我们只需要用到白名单或者黑名单功能就好了。


要使用黑名单模式,必须把hlink默认使用的白名单配置参数去除。首先我们生成配置文件。

执行


hlink -g

硬链接神器hlink使用教程(威联通篇)

就可以生成hlink配置文件hlink.config.js

我这里生成路径为/share/homes/admin/hlink.config.js

然后编辑hlink.config.js配置文件

执行命令

vi /share/homes/admin/hlink.config.js

硬链接神器hlink使用教程(威联通篇)

可以看到默认配置文件内容如上图。

图上includeExtname部分为hlink默认硬链的格式。

这里要把includeExtname项默认的内容都删掉,否则excludeExtname黑名单模式不生效。

删掉includeExtname内容就可以实现全内容硬链(hlink命令 "源路径" "目标路径")、白名单硬链(hlink命令 -i=xxx "源路径" "目标路径")、黑名单硬链(hlink命令 -e=xxx "源路径" "目标路径")三种模式手动控制。

(按 i 键,进入编辑模式)

硬链接神器hlink使用教程(威联通篇)

修改完成保存配置文件即刻生效。

(按 esc 退出编辑模式,键入 :wq 保存编辑)

这里我们要多加一步操作,把hlink.config.js配置文件复制到一个自定义路径,原因跟之前的unraid一样。威联通重启以后也会重置环境变量,hlink配置文件的默认生成目录也会被重置清空。

执行复制命令

cp /share/homes/admin/hlink.config.js /share/CACHEDEV1_DATA/QNAP-ESXI/hlink/hlink.config.js

这里我把修改好的默认配置文件,复制到了/share/CACHEDEV1_DATA/QNAP-ESXI/hlink/hlink.config.js

大家请根据自己实际情况来写。

这样我们就配置好hlink配置文件了,后面正式开始使用hlink。




黑白名单使用方法如下

白名单功能命令为-i,可以指定仅需要硬链接的格式。比如我只需要硬链接.MKV格式的文件。则命令如下(以使用部分的命令为例),注意空格。

hlink -i=mkv "/share/CACHEDEV1_DATA/QNAP-ESXI/media/PT" "/share/CACHEDEV1_DATA/QNAP-ESXI/media/NFS"

如果需要多个格式类型,则在-i=后写入,以半角逗号隔开,比如需要连接.MKV、.MP4、.MOV格式,则命令如下(以使用部分的命令为例),注意空格。

hlink -i=mkv,mp4,mov "/share/CACHEDEV1_DATA/QNAP-ESXI/media/PT" "/share/CACHEDEV1_DATA/QNAP-ESXI/media/NFS"

运行参考图

硬链接神器hlink使用教程(威联通篇)

黑名单功能命令为-e,可以指定不需要硬链接的格式。比如我们不需要硬链接.nfo格式的文件。则命令如下(以使用部分的命令为例),注意空格。

hlink -e=nfo "/share/CACHEDEV1_DATA/QNAP-ESXI/media/PT" "/share/CACHEDEV1_DATA/QNAP-ESXI/media/NFS"

如果需要多个格式类型,则在-e=后写入,以半角逗号隔开,比如不需要连接.nfo、.jpg、.png、.bmp格式(这几个格式文件,进行刮削很可能会被改动,所以一定要排除。因为硬链接修改目标文件也会导致源文件同步修改,会影响做种。),则命令如下,注意空格。

hlink -e=nfo,jpg,png,bmp "/share/CACHEDEV1_DATA/QNAP-ESXI/media/PT" "/share/CACHEDEV1_DATA/QNAP-ESXI/media/NFS"

运行参考图

硬链接神器hlink使用教程(威联通篇)



想全自动执行的话,需要在威联通的crontab里添加你需要的硬链接命令,设定自己需要的时间间隔,定时自动执行就可以了。我们要用admin账户编辑crontab配置,执行命令

vim /etc/config/crontab

按i进入编辑模式

硬链接神器hlink使用教程(威联通篇)

在最后加上我们需要的hlink命令,间隔按照crontab规则写。

比如每小时执行一次,则添加的命令如下。

0 */1 * * * hlink -e=nfo,jpg,png,bmp "/share/CACHEDEV1_DATA/QNAP-ESXI/media/PT" "/share/CACHEDEV1_DATA/QNAP-ESXI/media/NFS"

示例

硬链接神器hlink使用教程(威联通篇)

(按 esc 退出编辑模式,键入 :wq 保存编辑)


执行

crontab /etc/config/crontab

应用计划任务


执行

crontab -l

检查一下计划任务是否已生效

硬链接神器hlink使用教程(威联通篇)

确认生效以后,hlink就可以后台全自动硬链接,无需人工干预。

你只需要让你的媒体库(emby、jellyfin、plex、video station)自动读取刮削目标文件夹内容就可以啦。

不论怎样刮削改名改变文件夹层级,都完全不会影响PT做种。




特别注意!

因为威联通系统的特性。

重启以后系统环境变量会重置。

hlink生成配置文件的默认目录也会被重置清空。

所以我们要把前面配置过的软连接命令设置成开机自动执行脚本。

还要把前面复制到自定义路径的配置文件链接到默认生成目录。

这样每次重启才能正常使用hlink命令。


SSH下执行

mount $(/sbin/hal_app --get_boot_pd port_id=0)6 /tmp/config


执行

vim /tmp/config/autorun.sh

按i进入编辑模式

硬链接神器hlink使用教程(威联通篇)

在autorun.sh中加入四条命令


ln -s /share/CACHEDEV1_DATA/QNAP-ESXI/nodejs/node-v14.17.0-linux-x64/bin/hlink /usr/local/bin/hlink

ln -s /share/CACHEDEV1_DATA/QNAP-ESXI/nodejs/node-v14.17.0-linux-x64/bin/npm /usr/local/bin

ln -s /share/CACHEDEV1_DATA/QNAP-ESXI/nodejs/node-v14.17.0-linux-x64/bin/node /usr/local/bin

ln -s /share/CACHEDEV1_DATA/QNAP-ESXI/hlink/hlink.config.js /share/homes/admin/hlink.config.js


前三条是配置环境变量的命令

第四条命令是把我们前面拷贝出来的,已经修改好的hlink配置文件,“复制”回生效路径。

修改完成保存。

(按 esc 退出编辑模式,键入 :wq 保存编辑)


给autorun.sh添加执行权限

chmod +x /tmp/config/autorun.sh




最后我们来到威联通控制台-硬件-启动时运行用户定义的进程

硬链接神器hlink使用教程(威联通篇)

可以点击autorun.sh看看我们配置的脚本是否成功。

硬链接神器hlink使用教程(威联通篇)

确认脚本正确以后,记得点击控制台的应用。

这样就完全配置好整个环境和运行计划。

愉快地用起来吧。

如果有使用上的问题,请加入反馈QQ群。




hlink教程系列到这就结束啦。

这里也不得不说一句,从三个系统的教程来看。

群晖的易用性确实是最好的。硬链接神器hlink使用教程(威联通篇)

最后的最后,感谢hlink作者为我们带来那么强大的软件。

从被拉入PT大坑,到发现做种和媒体库不能两全。

再到一怒之下写了hlink。

他只花了一个晚上。硬链接神器hlink使用教程(威联通篇)

不得不说大佬就是大佬。用上了的记得给点个⭐硬链接神器hlink使用教程(威联通篇)

完结 撒花硬链接神器hlink使用教程(威联通篇)

展开 收起
26评论

  • 精彩
  • 最新
  • ln -s /share/CACHEDEV1_DATA/QNAP-ESXI/nodejs/node-v14.17.0-linux-x64/bin/npm /usr/local/bin/
    大佬 这一部输入后弹出ln: /usr/local/bin/node: Permission denied
    文件名和目录都和文中一样,只是现在下载的NODEj版本是V16了

    校验提示文案

    提交
    我也是。。。搞了很久还不行

    校验提示文案

    提交
    这不是很明显的权限问题?请用root权限执行。

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 硬链接的空间占用判定: 大佬,我忙活了一个周末,终于设置好了硬链接。但是我现在发现自己的硬盘占用量似乎翻倍了!是不是系统判定硬链接也占用同样的存储空间呢?

    校验提示文案

    提交
    硬链接为同一inode,不占用额外空间。基础知识建议自行搜索资料学习。

    校验提示文案

    提交
    收起所有回复
  • 看完了,但我一脸懵逼,大学本科计算机专业的人会弄,如果科技如此复杂,那么对普通人来说就该放弃

    校验提示文案

    提交
  • mount $(/sbin/hal_app --get_boot_pd port_id=0)6 /tmp/config 这个命令起到什么作用?

    校验提示文案

    提交
  • 62个收藏2条评论。。

    校验提示文案

    提交
  • 谢谢楼主的教程。
    unraid上一切都正常。
    就是威联通每次重启就失效,手动硬链显示command not found,应该是autorun.sh没被执行,不知道问题出哪了。只能手动配置环境,恢复正常状态。

    校验提示文案

    提交
    请问重启以后怎么手动配置环境

    校验提示文案

    提交
    收起所有回复
  • 太牛了,一步步实践中 [棒棒哒]

    校验提示文案

    提交
  • 谢谢楼主,已经配置完了,但是出了一点问题,硬链接的电影文件夹是admin所有,需要文件夹一个个设置群组权限后,TMM才能刮削,请问这个有办法解决吗?小白一个 [内伤]

    校验提示文案

    提交
  • 卡在hlink安装的那一步了 需要科学吗

    校验提示文案

    提交
  • 小白用解压缩方式总是找不到正确路径,请问我从第三方市场安装node.js14.1插件后,后面再怎么操作?

    校验提示文案

    提交
  • 这个基本全是命令执行的……等有闲心再来搞吧先收藏

    校验提示文案

    提交
  • 这个如果硬链接了一个文件夹,那如果这个文件夹有文件新增的话,那硬链接的文件夹里面会不会也会更新

    校验提示文案

    提交
  • 大佬,请问硬链接还占用磁盘空间是怎么回事

    校验提示文案

    提交
  • 大佬可以放出一个编译好的hlink文件吗,源码不会编译呀 [喜极而泣]

    校验提示文案

    提交
  • 为什么安装hlink那一步会nmp: command not found

    校验提示文案

    提交
    已搞定,路径填错了

    校验提示文案

    提交
    兄弟,能加好友请教一下这个吗?我有一步一直报错 [尴尬]

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 请教下,如果下载回来的种子目录内已经包含好了nfo,jpg等文件,用默认模式建立了硬链接后,再用TMM刮削,会影响保种吗???

    校验提示文案

    提交
    刮削B(即非源目录)目录就行。硬连接的作用就是为了不影响源文件。

    校验提示文案

    提交
    收起所有回复
  • 请教一下,在执行In -s这一步,总是提示file exists 是什么原因啊

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
135
扫一下,分享更方便,购买更轻松