我有安装了的服务器squid-deb-proxy
。假设它的 IP 是 10.13.3.7。
我已经squid-deb-proxy-client
在其他机器上安装了(我们将它们命名为客户端)。服务器和客户端位于同一网络中并运行 Ubuntu 16.04.6 LTS。
要镜像的存储库已正确定义以/etc/squid-deb-proxy/mirror-dstdomain.acl
满足客户要求:
archive.canonical.com
archive.ubuntu.com
changelogs.ubuntu.com
cloud.r-project.org
ddebs.ubuntu.com
deb.opera.com
dl.google.com
dl.winehq.org
download.opensuse.org
downloads.sourceforge.net
download.virtualbox.org
extras.ubuntu.com
mirrors.ubuntu.com
ports.ubuntu.com
ppa.launchpad.net
private-ppa.launchpad.net
ru.archive.ubuntu.com
security.ubuntu.com
typora.io
所有客户端都有相同的存储库列表。
服务器运行正常——我看到了deb -packages 的请求TCP_MEM_HIT/200
。TCP_HIT/200
/var/log/squid-deb-proxy/access.log
昨天晚上,我从其中一个客户端下载了所有更新(运行sudo apt-get update
后跟sudo apt-get dist-upgrade
)。因此,我预计 Squid Deb 缓存中已充满标头和软件包。
今天早上,由于 WAN(ISP)维护,互联网不可用。我无法 ping 通 LAN 外的任何内容。我可以从客户端 ping 通 10.13.3.7。
因此,当我sudo apt update
在客户端上运行时,我看到以下消息:
0% [工作中]
0% [等待标题]
错误:Nhttp://archive.ubuntu.com/ubuntu 发布InRelease
连接失败 [IP: 10.13.3.7 8000]
...
W: 无法获取http://archive.ubuntu.com/ubuntu/dists/发布/InRelease 连接失败 [IP: 10.13.3.7 8000]
... W: 部分索引文件下载失败。它们已被忽略,或使用旧文件代替。
sudo apt upgrade
或也一样sudo apt install ...
:
0% [等待标题]
错误:Nhttp://archive.ubuntu.com/ubuntu西尼尔/口袋 拱 姓名 拱 版本
连接失败 [IP:10.13.3.7 8000]
E: 无法获取http://archive.ubuntu.com/ubuntu/pool/main/....deb 连接失败 [IP:10.13.3.7 8000]
E: 无法获取某些档案,也许运行 apt-get update 或尝试使用 --fix-missing?
在没有互联网的情况下工作并从本地squid-deb-proxy
缓存中获取软件包是否可以?
更新:设置没有帮助 - 我offline_mode on
明白/etc/squid3/squid.conf
503服务不可用期间某些对象出现错误apt-get update
。此外,如果我在服务器上有互联网访问权限,此选项会阻止缓存更新。
答案1
如果您的客户端尝试获取的特定 .deb 包位于之前未缓存的存储库中,则在没有互联网连接的情况下它将无法工作。也可能是需要获取的新依赖项。您应该能够检查此文件中的/etc/squid-deb-proxy/mirror-dstdomain.acl
缓存存储库/域。