问题描述
用jigdo下载Debian的iso镜像,剩下最后一个文件下载不了,提示信息:
Found 0 of the 1 files required by the template
Copied input files to temporary file `debian-12.5.0-amd64-DLBD-2.iso.tmp' - repeat command and supply more files to continue
-----------------------------------------------------------------
Aaargh - 1 files could not be downloaded. This should not
happen! Depending on the problem, it may help to retry downloading
the missing files.
Also, you could try changing to another Debian or Non-US server,
in case the one you used is out of sync.
However, if all the files downloaded without errors and you
still get this message, it means that the files changed on the
server, so the image cannot be generated.
As a last resort, you could try to complete the CD image download
by fetching the remaining data with rsync.
Press Return to retry downloading the missing files.
Press Ctrl-C to abort. (If you re-run jigdo-lite later, it will
resume from here, the downloaded data is not lost if you press
Ctrl-C now.)
:
换了好几个源也搞不定。
调查
就是这个家伙:
‘./debian-12.5.0-amd64-DLBD-2.iso.tmpdir/ftp.cn.debian.org/debian/pool/main/g/golang-github-container-orchestrated-devices-container-device-interface/golang-github-container-orchestrated-devices-container-device-interface-dev_0.5.2-2_all.deb’
检查报错时的提示信息,发现了“Bad file descriptor”和“Cannot write”这样的信息,其中下载工具还自动尝试缩短(shorten)目录名。
可以访问到对应的网络文件,但是写入磁盘时出错了,判断是创建本地文件时参数过长导致失败。
解决方法
把jigdo-lite所在目录移到根目录下,改名为bd2,尽量缩短目录名长度,重试后解决。
无谓地浪费了时间,被恶心坏了。
把文件名搞得这么长,你的良心不会痛吗?