likun7981 / hlink

批量、快速硬链工具(The batch, fast hard link toolkit)
https://hlink.likun.me
MIT License
633 stars 59 forks source link

新版本问题收集 #44

Closed likun7981 closed 2 years ago

likun7981 commented 2 years ago

新版本的说明和体验 见 :https://github.com/likun7981/hlink/pull/42

新版本大家有问题都回复到下面

jiaruili2020 commented 2 years ago

环境:win10 (AMD平台PC) 终端:cmd hlink版本:npm i -g hlink@next 报错: hlink

尝试使用了Nodejs v12.20.0和v16.13.2 也尝试了hlink和hlink@next,也尝试了其他盘符,都报了这个错

likun7981 commented 2 years ago

环境:win10 (AMD平台PC) 终端:cmd

@jiaruili2020 win 10 请安装 git bash 使用,windows 自带的cmd 不支持

ayd13swb commented 2 years ago

win11,用cmd和putty还有git bash都一样,群晖装的node v14,v12也试了,同样。

用的命令是hlink -i=mkv,mp4 "/volume1/download/movie" "/volume1/media/movie"

生成了设置文件,删除了白名单内的内容,hlink设置的是6层目录,关闭了缓存。当然,默认的设置开始就试了,更改后没有变化。

另外,无论如何,已捐赠,谢谢作者。

[HLINK ERROR]: Error: Command failed with exit code 1 (EPERM): ln /volume1/download/movie/黑衣人合集/黑衣人·全球追缉.Men.In.Black·International.2019.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS/Men.In.Black·International.2019.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS.mkv /volume1/media/movie/黑 衣人合集/黑衣人·全球追缉.Men.In.Black·International.2019.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS at makeError (/usr/local/lib/node_modules/hlink/node_modules/execa/lib/error.js:59:11) at Function.module.exports.sync (/usr/local/lib/node_modules/hlink/node_modules/execa/index.js:187:17) at /usr/local/lib/node_modules/hlink/lib/index.js:141:61 at step (/usr/local/lib/node_modules/hlink/lib/index.js:52:23) at Object.next (/usr/local/lib/node_modules/hlink/lib/index.js:33:53) at /usr/local/lib/node_modules/hlink/lib/index.js:27:71 at new Promise () at __awaiter (/usr/local/lib/node_modules/hlink/lib/index.js:23:12) at /usr/local/lib/node_modules/hlink/lib/index.js:80:65 at Array.forEach () { command: 'ln /volume1/download/movie/黑衣人合集/黑衣人·全球追缉.Men.In.Black·International.2019.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS/Men.In.Black·International.2019.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS.mkv /volume1/media/movie/黑衣人合集/黑衣人·全球追缉.Men.In.Black·International.2019.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS', exitCode: 1, exitCodeName: 'EPERM', stdout: '', stderr: "ln: failed to create hard link '/volume1/media/movie/黑衣人合集/黑衣人·全球追缉.Men.In.Black·International.2019.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS/Men.In.Black·International.2019.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS.mkv' => '/volume1/download/movie/黑衣人合集/黑衣人·全球追缉.Men.In.Black·International.2019.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS/Men.In.Black·International.2019.BluRay.1080p.x265.10bit.2Audio.MNHD-FRDS.mkv': Invalid cross-device link", failed: true, timedOut: false, isCanceled: false, killed: false, signal: undefined } [HLINK INFO]: 硬链创建完毕... 总数 179 条 [HLINK INFO]: 成功 0 条 [HLINK INFO]: 失败 148 条 [HLINK INFO]: 跳过 31 条 [HLINK INFO]: 跳过之前的创建记录 0 条, 如果需要重新创建,请在删除或编辑文件 /root/.hlink/cache.json

qzbeta commented 2 years ago

跨盘

ayd13swb commented 2 years ago

跨盘

没有呀,命令里不都是volume1么,我是raid0的两块硬盘。

qzbeta commented 2 years ago

同一个存储池不代表系统定义就是同一个盘。

qzbeta commented 2 years ago

群晖btrfs格式下,不同共享文件夹就算不同盘。

ayd13swb commented 2 years ago

群晖btrfs格式下,不同共享文件夹就算不同盘。

已经创建成功了。另外问一下,新版本的监听模式,是不是直接把命令敲进去就行,hlink rm -w /path/to/dir。不用改什么路径之类的吧?这个命令我没理解错,是监听源文件,如果源文件删除了,则删除硬链接?

另外,我是不是把创建硬链接的命令直接复制到计划任务中,这样就能新增的源文件之后,自动创建硬链接了?

如果都没错的话,我把创建和监听都放在同一个计划任务里,用回车换行,是不是就能达到全自动根据源文件创建和删除硬链接这个操作了?

另外问一句,以后更新的话,是不是重新用一遍安装命令就可以了?

无论如何,真的非常感谢您和作者。

likun7981 commented 2 years ago

Invalid cross-device link

直接装next版本 npm i -g hlink@next

阅读下注意事项

charmingYouYou commented 2 years ago

是否考虑添加单文件硬链接功能, 打算通过tr种子完成回调自动硬链接, 但有些种子下载下来不是文件夹是个单文件, 导致目前版本不支持

likun7981 commented 2 years ago

是否考虑添加单文件硬链接功能, 打算通过tr种子完成回调自动硬链接, 但有些种子下载下来不是文件夹是个单文件, 导致目前版本不支持

欢迎mr

likun7981 commented 2 years ago

新版本已发布正式版 hlink@0.6.1

ayd13swb commented 2 years ago

请问用npm i -g hlink@next 还是npm i -g hlink@0.6.1更新?

哪里可以看是否更新成功?

小白问题,见谅

stephen909 commented 2 years ago

1.使用黑群晖任务计划(root账户下)执行命令无法保存缓存,手动删除硬链接后还会再次出现; 使用SSH root权限运行同样的命令,则可以保存缓存,手动删除后不会再硬链接,是bug还是群晖哪里没设置好? 2.hlink --help显示缓存默认开启,但是用hlink -g生成的配置文件里面,缓存默认是关闭,为何不一样呢?

jsdfhasuh commented 2 years ago

++ hlink /downloads/剧集/raw/与君初相识.恰似故人归.The.Blue.Whisper.2022.S01.1080p.WEB-DL.H265.10bit.AAC-LeagueWEB '/downloads/剧集/completed/与君初相识 (2022)/S01' INFO 开始检查配置... SUCCEED 配置检查完毕!现有配置为 INFO 源地址: /downloads/剧集/raw/与君初相识.恰似故人归.The.Blue.Whisper.2022.S01.1080p.WEB-DL.H265.10bit.AAC-LeagueWEB INFO 目标地址: /downloads/剧集/completed/与君初相识 (2022)/S01 INFO 当前运行模式: 黑名单模式 INFO 使用的配置文件: /root/hlink.config.mjs INFO 排除的后缀有: !qb INFO 硬链保存模式: 保持原有目录结构 INFO 是否开启缓存: 否

INFO 开始分析源目录.. SUCCEED 分析完毕! INFO 共计 2 个文件 INFO 不满足配置的文件 0 个 INFO 已存在硬链的文件 0 个 INFO 需要硬链的文件 2 个 INFO 开始执行... TypeError: _this.stream.cursorTo is not a function at ProgressBar.terminate (file:///usr/local/lib/node_modules/hlink/lib/progress.js:110:30) at ProgressBar.tick (file:///usr/local/lib/node_modules/hlink/lib/progress.js:24:23) at file:///usr/local/lib/node_modules/hlink/lib/bins/main/hlink.js:121:47 at step (file:///usr/local/lib/node_modules/hlink/lib/bins/main/hlink.js:32:23) at Object.next (file:///usr/local/lib/node_modules/hlink/lib/bins/main/hlink.js:13:53) at fulfilled (file:///usr/local/lib/node_modules/hlink/lib/bins/main/hlink.js:4:58) at processTicksAndRejections (internal/process/task_queues.js:95:5) ++ File_rename_TV /downloads/剧集/raw/与君初相识.恰似故人归.The.Blue.Whisper.2022.S01.1080p.WEB-DL.H265.10bit.AAC-LeagueWEB '/downloads/剧集/completed/与君初相识 (2022)/S01' '' ++ file_path=/downloads/剧集/raw/与君初相识.恰似故人归.The.Blue.Whisper.2022.S01.1080p.WEB-DL.H265.10bit.AAC-LeagueWEB ++ folder_path='/downloads/剧集/completed/与君初相识 (2022)/S01' 发现报错,但是仍然可以硬链接

likun7981 commented 2 years ago

请问用npm i -g hlink@next 还是npm i -g hlink@0.6.1更新?

哪里可以看是否更新成功?

小白问题,见谅

直接 npm i -g hlink就可以了

likun7981 commented 2 years ago

++ hlink /downloads/剧集/raw/与君初相识.恰似故人归.The.Blue.Whisper.2022.S01.1080p.WEB-DL.H265.10bit.AAC-LeagueWEB '/downloads/剧集/completed/与君初相识 (2022)/S01' INFO 开始检查配置... SUCCEED 配置检查完毕!现有配置为 INFO 源地址: /downloads/剧集/raw/与君初相识.恰似故人归.The.Blue.Whisper.2022.S01.1080p.WEB-DL.H265.10bit.AAC-LeagueWEB INFO 目标地址: /downloads/剧集/completed/与君初相识 (2022)/S01 INFO 当前运行模式: 黑名单模式 INFO 使用的配置文件: /root/hlink.config.mjs INFO 排除的后缀有: !qb INFO 硬链保存模式: 保持原有目录结构 INFO 是否开启缓存: 否

INFO 开始分析源目录.. SUCCEED 分析完毕! INFO 共计 2 个文件 INFO 不满足配置的文件 0 个 INFO 已存在硬链的文件 0 个 INFO 需要硬链的文件 2 个 INFO 开始执行... �[2K�[1A�[2K�[1A�[2K�[1A�[2K�[1A�[2K�[GTypeError: _this.stream.cursorTo is not a function at ProgressBar.terminate (file:///usr/local/lib/node_modules/hlink/lib/progress.js:110:30) at ProgressBar.tick (file:///usr/local/lib/node_modules/hlink/lib/progress.js:24:23) at file:///usr/local/lib/node_modules/hlink/lib/bins/main/hlink.js:121:47 at step (file:///usr/local/lib/node_modules/hlink/lib/bins/main/hlink.js:32:23) at Object.next (file:///usr/local/lib/node_modules/hlink/lib/bins/main/hlink.js:13:53) at fulfilled (file:///usr/local/lib/node_modules/hlink/lib/bins/main/hlink.js:4:58) at processTicksAndRejections (internal/process/task_queues.js:95:5) ++ File_rename_TV /downloads/剧集/raw/与君初相识.恰似故人归.The.Blue.Whisper.2022.S01.1080p.WEB-DL.H265.10bit.AAC-LeagueWEB '/downloads/剧集/completed/与君初相识 (2022)/S01' '' ++ file_path=/downloads/剧集/raw/与君初相识.恰似故人归.The.Blue.Whisper.2022.S01.1080p.WEB-DL.H265.10bit.AAC-LeagueWEB ++ folder_path='/downloads/剧集/completed/与君初相识 (2022)/S01' 发现报错,但是仍然可以硬链接

什么系统用的什么bash,这是进度条报错,不影响正常的硬连

likun7981 commented 2 years ago

1.使用黑群晖任务计划(root账户下)执行命令无法保存缓存,手动删除硬链接后还会再次出现; 使用SSH root权限运行同样的命令,则可以保存缓存,手动删除后不会再硬链接,是bug还是群晖哪里没设置好? 2.hlink --help显示缓存默认开启,但是用hlink -g生成的配置文件里面,缓存默认是关闭,为何不一样呢?

  1. 你可以手动用 -c 指定下配置文件路径或者 用 --openCache
  2. 这个帮助文案 有点问题,默认都是关闭的 https://github.com/likun7981/hlink/blob/master/src/bins/main/parse.ts#L95
jsdfhasuh commented 2 years ago

++ hlink /downloads/剧集/raw/与君初相识.恰似故人归.The.Blue.Whisper.2022.S01.1080p.WEB-DL.H265.10bit.AAC-LeagueWEB '/downloads/剧集/completed/与君初相识 (2022)/S01' INFO 开始检查配置... SUCCEED 配置检查完毕!现有配置为 INFO 源地址: /downloads/剧集/raw/与君初相识.恰似故人归.The.Blue.Whisper.2022.S01.1080p.WEB-DL.H265.10bit.AAC-LeagueWEB INFO 目标地址: /downloads/剧集/completed/与君初相识 (2022)/S01 INFO 当前运行模式: 黑名单模式 INFO 使用的配置文件: /root/hlink.config.mjs INFO 排除的后缀有: !qb INFO 硬链保存模式: 保持原有目录结构 INFO 是否开启缓存: 否 INFO 开始分析源目录.. SUCCEED 分析完毕! INFO 共计 2 个文件 INFO 不满足配置的文件 0 个 INFO 已存在硬链的文件 0 个 INFO 需要硬链的文件 2 个 INFO 开始执行... �[2K�[1A�[2K�[1A�[2K�[1A�[2K�[1A�[2K�[GTypeError: _this.stream.cursorTo is not a function at ProgressBar.terminate (file:///usr/local/lib/node_modules/hlink/lib/progress.js:110:30) at ProgressBar.tick (file:///usr/local/lib/node_modules/hlink/lib/progress.js:24:23) at file:///usr/local/lib/node_modules/hlink/lib/bins/main/hlink.js:121:47 at step (file:///usr/local/lib/node_modules/hlink/lib/bins/main/hlink.js:32:23) at Object.next (file:///usr/local/lib/node_modules/hlink/lib/bins/main/hlink.js:13:53) at fulfilled (file:///usr/local/lib/node_modules/hlink/lib/bins/main/hlink.js:4:58) at processTicksAndRejections (internal/process/task_queues.js:95:5) ++ File_rename_TV /downloads/剧集/raw/与君初相识.恰似故人归.The.Blue.Whisper.2022.S01.1080p.WEB-DL.H265.10bit.AAC-LeagueWEB '/downloads/剧集/completed/与君初相识 (2022)/S01' '' ++ file_path=/downloads/剧集/raw/与君初相识.恰似故人归.The.Blue.Whisper.2022.S01.1080p.WEB-DL.H265.10bit.AAC-LeagueWEB ++ folder_path='/downloads/剧集/completed/与君初相识 (2022)/S01' 发现报错,但是仍然可以硬链接

什么系统用的什么bash,这是进度条报错,不影响正常的硬连 一个docker容器qbittorrent 底层是Alpine Linux 3.14 Linux qbitorrent 4.4.59+ #25426 SMP PREEMPT Mon Dec 14 18:48:50 CST 2020 x86_64 Linux

likun7981 commented 2 years ago

++ hlink /downloads/剧集/raw/与君初相识.恰似故人归.The.Blue.Whisper.2022.S01.1080p.WEB-DL.H265.10bit.AAC-LeagueWEB '/downloads/剧集/completed/与君初相识 (2022)/S01' INFO 开始检查配置... SUCCEED 配置检查完毕!现有配置为 INFO 源地址: /downloads/剧集/raw/与君初相识.恰似故人归.The.Blue.Whisper.2022.S01.1080p.WEB-DL.H265.10bit.AAC-LeagueWEB INFO 目标地址: /downloads/剧集/completed/与君初相识 (2022)/S01 INFO 当前运行模式: 黑名单模式 INFO 使用的配置文件: /root/hlink.config.mjs INFO 排除的后缀有: !qb INFO 硬链保存模式: 保持原有目录结构 INFO 是否开启缓存: 否 INFO 开始分析源目录.. SUCCEED 分析完毕! INFO 共计 2 个文件 INFO 不满足配置的文件 0 个 INFO 已存在硬链的文件 0 个 INFO 需要硬链的文件 2 个 INFO 开始执行... �[2K�[1A�[2K�[1A�[2K�[1A�[2K�[1A�[2K�[GTypeError: _this.stream.cursorTo is not a function at ProgressBar.terminate (file:///usr/local/lib/node_modules/hlink/lib/progress.js:110:30) at ProgressBar.tick (file:///usr/local/lib/node_modules/hlink/lib/progress.js:24:23) at file:///usr/local/lib/node_modules/hlink/lib/bins/main/hlink.js:121:47 at step (file:///usr/local/lib/node_modules/hlink/lib/bins/main/hlink.js:32:23) at Object.next (file:///usr/local/lib/node_modules/hlink/lib/bins/main/hlink.js:13:53) at fulfilled (file:///usr/local/lib/node_modules/hlink/lib/bins/main/hlink.js:4:58) at processTicksAndRejections (internal/process/task_queues.js:95:5) ++ File_rename_TV /downloads/剧集/raw/与君初相识.恰似故人归.The.Blue.Whisper.2022.S01.1080p.WEB-DL.H265.10bit.AAC-LeagueWEB '/downloads/剧集/completed/与君初相识 (2022)/S01' '' ++ file_path=/downloads/剧集/raw/与君初相识.恰似故人归.The.Blue.Whisper.2022.S01.1080p.WEB-DL.H265.10bit.AAC-LeagueWEB ++ folder_path='/downloads/剧集/completed/与君初相识 (2022)/S01' 发现报错,但是仍然可以硬链接

什么系统用的什么bash,这是进度条报错,不影响正常的硬连

一个docker容器qbittorrent 底层是Alpine Linux 3.14 Linux qbitorrent 4.4.59+ #25426 SMP PREEMPT Mon Dec 14 18:48:50 CST 2020 x86_64 Linux

估计是bash 是不支持 这种进度条渲染,后续我优化判断下

likun7981 commented 2 years ago

新版本发布有一段时间了,为方便后续追踪,关闭此issue,有什么问题,大家新开issue哦~

Sciroccogti commented 2 years ago

估计是bash 是不支持 这种进度条渲染,后续我优化判断下

我也遇到这个问题,不过是用群晖的计划任务执行的时候遇到的,毕竟计划任务没有界面,渲染出错也可以理解。或许可以指定一个option关闭特殊渲染?

likun7981 commented 2 years ago

估计是bash 是不支持 这种进度条渲染,后续我优化判断下

我也遇到这个问题,不过是用群晖的计划任务执行的时候遇到的,毕竟计划任务没有界面,渲染出错也可以理解。或许可以指定一个option关闭特殊渲染?

目前最新版本该问题已修复~在非tty的界面,会使用简易的进度条,不会报错了