【问题标题】:apt tools can't resolve host nameapt工具无法解析主机名
【发布时间】:2013-09-27 09:04:57
【问题描述】:

我正在尝试从运行 Debian 的本地虚拟机运行 apt-get update,以从本地网络上另一台服务器(通过 VPN)上设置的本地 apt-repository 中提取软件包。

所有其他工具都能够完美地解析托管 apt 存储库的本地服务器的主机名。但是,当我运行 sudo apt-get update 时,我不断收到以下错误消息:

Ign https://[someserver.com/] dev Release.gpg
Ign https://[someserver.com/] dev Release
Err https://[someserver.com/] dev/main amd64 Packages

Err https://[someserver.com/] dev/main amd64 Packages

Ign https://[someserver.com/] dev/main Translation-en_GB
Ign https://[someserver.com/] dev/main Translation-en
Err https://[someserver.com/] dev/main amd64 Packages
  Couldn't resolve host '[someserver.com'
W: Failed to fetch https://[someserver.com/dists/dev/main/binary-amd64/Packages]/  
    Couldn't resolve host '[someserver.com'

E: Some index files failed to download. They have been ignored, or old ones used instead.

当我 ping 'someserver.com' 时,它恢复正常。如果我尝试在命令行上通过 wget 检索 Packages 列表,则检索成功;似乎只有 apt 无法解析主机名。

实际上我将 someserver.com 更改为 google.com 进行测试,它返回说 Couldn't resolve '[google.com'

顺便说一句。出现在错误消息中的主机名之前的方括号是否重要?我注意到,当我恢复使用官方公共 debian 存储库时,日志消息中的主机名周围根本没有方括号,并且更新成功完成。

我的sources.list 文件中的repo 条目如下:

deb https://username:hex-encoded-password@someserver.com/ dev main

任何帮助将不胜感激。

【问题讨论】:

  • 如果您从 sources.list linbe 中删除用户名和密码,它是否正确解析主机名?
  • 是的。但随后它返回一个 401 错误,如下所示:
  • 那么用户名:密码规范与主机名冲突。根据 Debian 文档 (debian-administration.org/article/…),该语法是合法的,因此密码可能包含错误字符(例如,密码有一个“@”,而 apt 在解析之前对其进行解码)。多年前,当我不得不对 APT 存储库进行密码保护时,我跳过了 HTTP 身份验证。 SSH 方法更可靠。
  • 是的,密码中确实有几个特殊字符。如果不对密码进行编码,运行 apt-get 会导致分段错误:D ...现在看来,即使使用编码仍然存在问题,或者按照您的建议让系统管理员通过 SSH 启用对存储库的访问。除非没有其他尝试,否则下一步可能是通过将密码更改为不带特殊字符的密码来进行测试。
  • 你可以尝试一些有点疯狂的东西,比如本地隧道或代理,然后为你执行 HTTP 身份验证。示例:stackoverflow.com/questions/16527046/…。我认为转义(未编码的)特殊密码字符(\ 或 \\ 或 \\)不起作用。

标签: linux debian hostname apt


【解决方案1】:

好的 - 所以问题是我的密码中包含几个特殊字符,[ 和其他内容。我将它更改为常规的字母数字值,嘿,现在从存储库中提取它绝对没问题。

再次感谢 mkfs 的帮助。

【讨论】:

    猜你喜欢
    • 2017-03-26
    • 2013-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-13
    • 1970-01-01
    相关资源
    最近更新 更多