上一篇群晖篇开始之前给大家介绍了hlink的基本功能。
这篇就先简单展示一下hlink硬链+TMM刮削的效果。
红框为PT做种源文件目录,蓝框为hlink自动硬链以后,经过TMM刮削整理的媒体目录。
就算不用TMM进行重命名整理。
hlink也会自动把散落在源根目录下的单个文件,放入独立的文件夹里面。
是不是非常整洁,强迫症必备。
顺便说几个小技巧。
老规矩。话不多说,unraid下安装hlink使用教程马上开始。
hlink安装需要nodejs环境,第一步我们给unraid安装nodejs环境。
来到nodejs官网下载界面
我这里选择linux X64版本(其他系统类似,选择合适自己的版本)
下载文件为node-v14.17.0-linux-x64.tar.xz
下载完成后把安装文件放入unraid里,我这里直接拖入unraid共享盘。(我之前已经安装过v14.16.1版本,所以有旧版安装包,请无视。)
我这里unraid内文件实际路径是 /mnt/user/unraid/nodejs/node-v14.17.0-linux-x64.tar.xz
路径按自己的实际路径来就行,不要死记照抄。
下面我们打开unraid控制台,解压安装nodejs。
进入刚刚保存安装包的目录,命令如下(根据你的实际安装包存放路径填写)。
cd /mnt/user/unraid/nodejs/
解压安装nodejs,命令如下(根据你的实际安装包名称填写)
tar -xvf node-v14.17.0-linux-x64.tar.xz
等待解压安装完成。完成后可以输入ls命令查看解压安装是否成功。有安装包同名文件夹存在就OK。
最后我们要把nodejs变为全局可用,输入并执行下面两条软连接命令即可。
ln -s /mnt/user/unraid/nodejs/node-v14.17.0-linux-x64/bin/npm /usr/local/bin/
ln -s /mnt/user/unraid/nodejs/node-v14.17.0-linux-x64/bin/node /usr/local/bin/
(注意路径部分是我们自定义安装nodejs的实际路径,根据个人情况自己填写,可以在unraid索引界面查看。)
完成nodejs环境的安装以后,我们就可以安装hlink程序了。
输入安装命令安装hlink,并等待安装完成。
npm install -g hlink
安装完成以后就可以使用hlink了
由于hlink的安装路径没有加入系统环境变量里面,不能直接用hlink "源路径" "目标路径"这个命令来运行。
我们要使用hlink程序,直接指定hlink的绝对路径(安装路径)就可以了。
安装hlink完成后,我们查看安装结果就可以看到hlink的安装路径。如图红框处。
所以使用hlink的命令就是
/mnt/user/unraid/nodejs/node-v14.17.0-linux-x64/bin/hlink "源路径" "目标路径"
路径部分建议用半角""标注,可以避免路径内文件夹名称有空格导致命令识别错误。
测试一下运行情况。
我这里源路径为/mnt/user/unraid/media/test1,目标路径为/mnt/user/unraid/media/test2。
hlink安装路径为/mnt/user/unraid/nodejs/node-v14.17.0-linux-x64/bin/hlink
因此hlink运行命令如下
/mnt/user/unraid/nodejs/node-v14.17.0-linux-x64/bin/hlink "/mnt/user/unraid/media/test1" "/mnt/user/unraid/media/test2"
完美运行
以上就是unraid下hlink安装和基本使用方法。
以后所有使用hlink的命令,都要加上你hlink软件的绝对路径。
我这里就是/mnt/user/unraid/nodejs/node-v14.17.0-linux-x64/bin/hlink
教程之后的部分将用hlink命令指代/mnt/user/unraid/nodejs/node-v14.17.0-linux-x64/bin/hlink,以免太过冗长。
自己使用的情况下请根据自身实际路径来执行,注意不要弄错。
进阶功能
软件功能可以在SSH输入hlink命令 --help查看
一般我们只需要用到白名单或者黑名单功能就好了。
要使用黑名单模式,必须把hlink默认使用的白名单配置参数去除。
首先我们生成配置文件。
执行
hlink命令 -g
就可以生成hlink配置文件hlink.config.js
我这里默认生成路径为/root/hlink.config.js
接下来要编辑hlink.config.js配置文件
执行命令
vi /root/hlink.config.js
可以看到默认配置文件内容如上图。
图上includeExtname部分为hlink默认硬链的格式。
这里要把includeExtname项默认的内容都删掉,否则excludeExtname黑名单模式不生效。
删掉includeExtname内容就可以实现全内容硬链(hlink命令 "源路径" "目标路径")、白名单硬链(hlink命令 -i=xxx "源路径" "目标路径")、黑名单硬链(hlink命令 -e=xxx "源路径" "目标路径")三种模式手动控制。
(按 i 键,进入编辑模式)
修改完成保存配置文件即刻生效。
(按 esc 退出编辑模式,键入 :wq 保存编辑)
这里我们要多加一步操作,把修改好的hlink.config.js配置文件复制到一个自定义路径,具体原因之后再说。
我这里复制到/mnt/user/unraid/nodejs/hlink/hlink.config.js
执行复制命令
cp /root/hlink.config.js /mnt/user/unraid/nodejs/hlink/hlink.config.js
这样我们就配置好hlink配置文件了,后面正式开始使用hlink。
黑白名单使用方法如下
白名单功能命令为-i,可以指定仅需要硬链接的格式。比如我只需要硬链接.MKV格式的文件。则命令如下(以使用部分的命令为例),注意空格。
hlink命令 -i=mkv "/mnt/user/unraid/media/test1" "/mnt/user/unraid/media/test2"
如果需要多个格式类型,则在-i=后写入,以半角逗号隔开,比如需要连接.MKV、.MP4、.MOV格式,则命令如下(以使用部分的命令为例),注意空格。
hlink命令 -i=mkv,mp4,mov "/mnt/user/unraid/media/test1" "/mnt/user/unraid/media/test2"
运行参考图
想全自动执行的话,在unraid的User Scripts插件里添加你需要的硬链接命令,设定自己需要的时间间隔,定时自动执行就可以了。
设置好以后,hlink就可以后台全自动硬链接,无需人工干预。
你只需要让你的媒体库(emby、jellyfin、plex、video station)自动读取刮削目标文件夹内容就可以啦。
不论怎样刮削改名改变文件夹层级,都完全不会影响PT做种。
特别注意!
因为unraid系统的特性。
重启以后系统环境变量会重置。
hlink生成配置文件的默认目录也会被重置清空。
所以我们要把前边配置过的软连接命令配置成开机自动执行脚本。
还要在开机自动执行脚本中,把前面复制到自定义路径的配置文件链接到默认生成目录。
这样每次开机才能正常使用hlink命令。
可以在User Scripts插件里加入以下命令。
ln -s /mnt/user/unraid/nodejs/node-v14.17.0-linux-x64/bin/npm /usr/local/bin/
ln -s /mnt/user/unraid/nodejs/node-v14.17.0-linux-x64/bin/node /usr/local/bin/
ln -s /mnt/user/unraid/nodejs/hlink/hlink.config.js /root/hlink.config.js
配置为开机启动即可。
最后补充:
如果有想直接使用
hlink "源路径" "目标路径"
这个命令的同学
可以多做一条软链,配置一下系统环境变量。
ln -s /mnt/user/unraid/nodejs/nodejs/bin/hlink /usr/local/bin/hlink
软链接命令一起加入开机启动。
以后hlink就可以不用加一长串绝对路径了。
仅供参考~
如果有使用上的问题,请加入反馈QQ群。
完结 撒花