`tlmgr update` 失败,提示“设备的 ioctl 不合适”

`tlmgr update` 失败,提示“设备的 ioctl 不合适”

尝试运行tlmgr update --self,但失败并显示以下错误消息:

/usr/local/texlive/2016/bin/x86_64-linux/tlmgr: open tlpdb(http://ctan.math.washington.edu/tex-archive/systems/texlive/tlnet/tlpkg/texlive.tlpdb) failed: Inappropriate ioctl for device at /usr/local/texlive/2016/tlpkg/TeXLive/TLPDB.pm line 358.

现在我该怎么办?我正在使用 Ubuntu 14.04,并使用从 tug.org 安装了 TeXLive ./install-tl

答案1

我查看了源文件,发现此错误是在wget无法下载包数据库时发出的。我正在使用存储库ftp://tug.org/historic/systems/texlive/2017/tlnet-final,似乎存在间歇性不可用的情况(服务器过载或连接不稳定)。这与配置无关wget(正如@chbrown所暗示的),只是过一段时间再试一次就可以了。

答案2

该消息很神秘,但我在 TeXLive 2018 中遇到了同样的问题。我使用opensnoop(= dtrace) 来监视正在打开的文件tlmgr,并注意到它正在读取我的~/.wgetrc配置文件,该文件有自定义设置header设置user_agent

我删除了该文件,重新运行tlmgr,一切顺利:)。YMMV,因为我不知道“设备的不适当 ioctl”与执行 HTTP 请求有什么关系。

总结:删除您的~/.wgetrc

相关内容