你好,我在这 6 个月内尝试更新我的桌面系统时遇到了一些问题。
抱歉,我无法判断这是否是 archive.ubuntu.com 服务器的临时问题,还是我的 squid-deb-proxy 软件包的问题。
查看 /var/log/squid-deb-proxy/access.log 和 apt upgrade 输出,我看到:
来自 apt 输出:
Ign:42 http://archive.ubuntu.com/ubuntu xenial-security/main amd64 libudev1 amd64 229-4ubuntu21.1
Ign:41 http://archive.ubuntu.com/ubuntu xenial-security/main amd64 libpam-systemd amd64 229-4ubuntu21.1
Ign:44 http://archive.ubuntu.com/ubuntu xenial-security/main amd64 udev amd64 229-4ubuntu21.1
Ign:43 http://archive.ubuntu.com/ubuntu xenial-security/main i386 libudev1 i386 229-4ubuntu21.1
Ign:46 http://archive.ubuntu.com/ubuntu xenial-security/main amd64 libsystemd0 amd64 229-4ubuntu21.1
Ign:45 http://archive.ubuntu.com/ubuntu xenial-security/main i386 libsystemd0 i386 229-4ubuntu21.1
Ign:48 http://archive.ubuntu.com/ubuntu xenial-security/main amd64 systemd-sysv amd64 229-4ubuntu21.1
Ign:47 http://archive.ubuntu.com/ubuntu xenial-security/main amd64 systemd amd64 229-4ubuntu21.1
Ign:50 http://archive.ubuntu.com/ubuntu xenial-security/universe amd64 chromium-codecs-ffmpeg-extra amd64 64.0.3282.140-0ubuntu0.16.04.1
Ign:49 http://archive.ubuntu.com/ubuntu xenial-proposed/main amd64 libapparmor1 amd64 2.10.95-0ubuntu2.8
Err:52 http://archive.ubuntu.com/ubuntu xenial-proposed/main i386 gcc-5-base i386 5.4.0-6ubuntu1~16.04.9
Connessione terminata
Err:51 http://151.99.86.73:80/data/0189f472fb16f092/archive.ubuntu.com/ubuntu xenial-proposed/main amd64 gcc-5-base amd64 5.4.0-6ubuntu1~16.04.9
403 Forbidden
来自/var/log/squid-deb-proxy/access.log:
1518428930.420 96 192.168.1.107 TCP_REFRESH_MODIFIED/302 445 GET http://archive.ubuntu.com/ubuntu/pool/main/s/systemd/libudev1_229-4ubuntu21.1_i386.deb - HIER_DIRECT/91.189.88.149 text/html
1518428931.389 32 192.168.1.107 TCP_DENIED/403 4233 GET http://151.99.86.73/data/028979686fecdd00/archive.ubuntu.com/ubuntu/pool/main/s/systemd/libpam-systemd_229-4ubuntu21.1_amd64.deb - HIER_NONE/- text/html
1518429050.519 0 192.168.1.107 TCP_DENIED/403 4212 GET http://151.99.86.73/data/00894e6ad5c1296b/archive.ubuntu.com/ubuntu/pool/main/s/systemd/libudev1_229-4ubuntu21.1_i386.deb - HIER_NONE/- text/html
1518429050.577 57 192.168.1.107 TCP_REFRESH_MODIFIED/302 448 GET http://archive.ubuntu.com/ubuntu/pool/main/s/systemd/libsystemd0_229-4ubuntu21.1_i386.deb - HIER_DIRECT/91.189.88.149 text/html
1518429170.721 68 192.168.1.107 TCP_REFRESH_MODIFIED/302 445 GET http://archive.ubuntu.com/ubuntu/pool/main/s/systemd/systemd_229-4ubuntu21.1_amd64.deb - HIER_DIRECT/91.189.88.152 text/html
1518429176.717 33 192.168.1.107 TCP_DENIED/403 4221 GET http://151.99.86.75/data/0089936cbd9662c9/archive.ubuntu.com/ubuntu/pool/main/s/systemd/libsystemd0_229-4ubuntu21.1_i386.deb - HIER_NONE/- text/html
1518429290.819 0 192.168.1.107 TCP_DENIED/403 4212 GET http://151.99.86.73/data/01891f6e2a6c5119/archive.ubuntu.com/ubuntu/pool/main/s/systemd/systemd_229-4ubuntu21.1_amd64.deb - HIER_NONE/- text/html
1518429290.875 56 192.168.1.107 TCP_REFRESH_MODIFIED/302 454 GET http://archive.ubuntu.com/ubuntu/pool/main/a/apparmor/libapparmor1_2.10.95-0ubuntu2.8_amd64.deb - HIER_DIRECT/91.189.88.152 text/html
1518429410.878 0 192.168.1.107 TCP_DENIED/403 4239 GET http://151.99.86.73/data/0189e8705841ea73/archive.ubuntu.com/ubuntu/pool/main/a/apparmor/libapparmor1_2.10.95-0ubuntu2.8_amd64.deb - HIER_NONE/- text/html
1518429410.969 91 192.168.1.107 TCP_REFRESH_MODIFIED/302 455 GET http://archive.ubuntu.com/ubuntu/pool/main/g/gcc-5/gcc-5-base_5.4.0-6ubuntu1%7e16.04.9_amd64.deb - HIER_DIRECT/91.189.88.152 text/html
1518429531.019 0 192.168.1.107 TCP_DENIED/403 4244 GET http://151.99.86.73/data/0189f472fb16f092/archive.ubuntu.com/ubuntu/pool/main/g/gcc-5/gcc-5-base_5.4.0-6ubuntu1%7e16.04.9_amd64.deb - HIER_NONE/- text/html
系统在等待数据时挂起。这是一个众所周知的问题吗?
我的配置:来自 /etc/squid-deb-proxy/mirror-dstdomain.acl.d/10-default
.dl.google.com
.ppa.launchpad.net
.downloads-distro.mongodb.org
# tutti questi sono per getdeb
.getdeb.net
.mirror.lagoon.nc
.ftp.heanet.ie
.getdeb.mirror.garr.it
.archive.getdeb.net
.getdeb.megaglest.org
.mirrors.dotsrc.org
.zulu930.server4you.de
.188.138.90.189
.ftp.yzu.edu.tw
# fine getdeb
.apt.puppetlabs.com
.deb.theforeman.org
# postgresql.org
.postgresql.org
#owncloud
.download.owncloud.org
.download.opensuse.org
#tox
.pkg.tox.chat
#variety
.151.99.86.77
来自 /etc/squid-deb-proxy/squid-deb-proxy.conf
acl allowed_networks src "/etc/squid-deb-proxy/autogenerated/allowed-networks-src.acl"
# this file contains the archive mirrors by default,
# if you use a different mirror, add it there
acl to_archive_mirrors dstdomain "/etc/squid-deb-proxy/autogenerated/mirror-dstdomain.acl"
# this contains the package blacklist
acl blockedpkgs urlpath_regex "/etc/squid-deb-proxy/autogenerated/pkg-blacklist-regexp.acl"
# default to a different port than stock squid
http_port 8000
# -------------------------------------------------
# settings below probably do not need customization
# user visible name
visible_hostname squid-deb-proxy
# we need a big cache, some debs are huge
# maximum_object_size 512 MB
# leonardo
maximum_object_size 2048 MB
# use a different dir than stock squid and default to 40G
# cache_dir aufs /var/cache/squid-deb-proxy 40000 16 256
# leonardo
cache_dir aufs /var/cache/squid-deb-proxy 100000 16 256
# use different logs
cache_access_log /var/log/squid-deb-proxy/access.log
cache_log /var/log/squid-deb-proxy/cache.log
cache_store_log /var/log/squid-deb-proxy/store.log
# tweaks to speed things up
cache_mem 200 MB
maximum_object_size_in_memory 10240 KB
# pid
pid_filename /var/run/squid-deb-proxy.pid
# refresh pattern for debs and udebs
refresh_pattern deb$ 129600 100% 129600
refresh_pattern udeb$ 129600 100% 129600
refresh_pattern tar.gz$ 129600 100% 129600
refresh_pattern tar.xz$ 129600 100% 129600
refresh_pattern tar.bz2$ 129600 100% 129600
# always refresh Packages and Release files
refresh_pattern \/(Packages|Sources)(|\.bz2|\.gz|\.xz)$ 0 0% 0 refresh-ims
refresh_pattern \/Release(|\.gpg)$ 0 0% 0 refresh-ims
refresh_pattern \/InRelease$ 0 0% 0 refresh-ims
refresh_pattern \/(Translation-.*)(|\.bz2|\.gz|\.xz)$ 0 0% 0 refresh-ims
# handle meta-release and changelogs.ubuntu.com special
# (fine to have this on debian too)
refresh_pattern changelogs.ubuntu.com\/.* 0 1% 1
# only allow connects to ports for http, https
acl Safe_ports port 80
acl Safe_ports port 443 563
# only allow ports we trust
http_access deny !Safe_ports
# do not allow to download from the pkg blacklist
http_access deny blockedpkgs
# allow access only to official archive mirrors
# uncomment the third and fouth line to permit any unlisted domain
http_access deny !to_archive_mirrors
#http_access allow !to_archive_mirrors
# don't cache domains not listed in the mirrors file
# uncomment the third and fourth line to cache any unlisted domains
cache deny !to_archive_mirrors
#cache allow !to_archive_mirrors
# allow access from our network and localhost
http_access allow allowed_networks
# And finally deny all other access to this proxy
http_access deny all
# we don't want to clash with the squid netdb state file
netdb_filename stdio:/var/log/squid-deb-proxy/netdb.state
来自 squid-deb-proxy/allowed-networks-src.acl:
# private networks
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
192.168.1.0/16
127.0.0.1
# IPv6 private addresses
fe80::/64
::1/128
# additional non-private networks can be added to the directory:
# /etc/squid-deb-proxy/allowed-networks-src.acl.d
来自 /etc/squid-deb-proxy/allowed-networks-src.acl.d/10-default
188.138.90.189/17
我不知道该怎么办。
答案1
相关部分似乎与 IP 有关151.99.86.73
Err:51 http://151.99.86.73:80/data/0189f472fb16f092/archive.ubuntu.com/ubuntu xenial-proposed/main amd64 gcc-5-base amd64 5.4.0-6ubuntu1~16.04.9 403 Forbidden
1518428931.389 32 192.168.1.107 TCP_DENIED/403 4233 GET http://151.99.86.73/data/028979686fecdd00/archive.ubuntu.com/ubuntu/pool/main/s/systemd/libpam-systemd_229-4ubuntu21.1_amd64.deb - HIER_NONE/- text/html
1518429050.519 0 192.168.1.107 TCP_DENIED/403 4212 GET http://151.99.86.73/data/00894e6ad5c1296b/archive.ubuntu.com/ubuntu/pool/main/s/systemd/libudev1_229-4ubuntu21.1_i386.deb - HIER_NONE/- text/html
1518429176.717 33 192.168.1.107 TCP_DENIED/403 4221 GET http://151.99.86.75/data/0089936cbd9662c9/archive.ubuntu.com/ubuntu/pool/main/s/systemd/libsystemd0_229-4ubuntu21.1_i386.deb - HIER_NONE/- text/html
1518429290.819 0 192.168.1.107 TCP_DENIED/403 4212 GET http://151.99.86.73/data/01891f6e2a6c5119/archive.ubuntu.com/ubuntu/pool/main/s/systemd/systemd_229-4ubuntu21.1_amd64.deb - HIER_NONE/- text/html
1518429410.878 0 192.168.1.107 TCP_DENIED/403 4239 GET http://151.99.86.73/data/0189e8705841ea73/archive.ubuntu.com/ubuntu/pool/main/a/apparmor/libapparmor1_2.10.95-0ubuntu2.8_amd64.deb - HIER_NONE/- text/html
1518429531.019 0 192.168.1.107 TCP_DENIED/403 4244 GET http://151.99.86.73/data/0189f472fb16f092/archive.ubuntu.com/ubuntu/pool/main/g/gcc-5/gcc-5-base_5.4.0-6ubuntu1%7e16.04.9_amd64.deb - HIER_NONE/- text/html
这些请求被拒绝,因为目标 ( 151.99.86.73
) 未列为允许域。将此 IP 添加到 /etc/squid-deb-proxy/mirror-dstdomain.acl.d/10-default 应该可以解决此问题。添加一行包含
151.99.86.73
您就完成了。
答案2
在 /etc/squid-deb-proxy/mirror-dstdomain.acl 上我已删除域前面的点“。”。
像这样 .archive.ubuntu.com 变成 -> archive.ubuntu.com
第一次考試很顺利。
我尝试了一段时间直到看到错误是否再次出现。
答案3
问题解决了,但原因却是个谜。
在我的/etc/squid-deb-proxy/mirror-dstdomain.acl.d/10-default
我必须添加一些 IP:
- 151.99.86.73
- 151.99.86.75
- 151.99.86.77
- 151.99.86.79
大部分都是必要的,因为有些下载archive.ubuntu.com
解决151.99.86.x/data/<exanumber>/archive.ubuntu.com/ubuntu/...
因此当出现新的错误报告151.99.86.x时,我将一个新的ip添加到acl文件中。
我想了解为什么不使用域地址(除非 151.99.86.x),我想了解是否有比在问题出现时添加一个 IP 更好的解决方案。
问候,莱昂纳多