使用 proxychains4 进行 zypper update 在后续软件包的下载中卡住

此前的话题 一样,现在使用了 proxychains4,确实可以进入正式的下载软件包阶段,但依然会稳定在下面的包下载过程报错。但相比不使用 proxychains 已经有了很大区别,说明 proxychains 确实起了作用,求问接下来该如何解决。

➜  ~ sudo proxychains4 zypper -vvv up
[proxychains] config file found: /etc/proxychains.conf
[proxychains] preloading /usr/lib64/libproxychains4.so
[proxychains] DLL init: proxychains-ng 4.16
Verbosity: 3
Initializing Target
Refreshing service 'NVIDIA'.
Refreshing service 'openSUSE'.
Checking whether to refresh metadata for repo-non-free (15.6)
...
310 packages to upgrade, 16 new, 2 to remove.

Package download size:    1.48 GiB

Backend:  classic_rpmtrans
Continue? [y/n/v/...? shows all options] (y): 
[proxychains] DLL init: proxychains-ng 4.16
[proxychains] DLL init: proxychains-ng 4.16
(Use arrows or pgUp/pgDown keys to scroll the text by lines or pages.)
committing
Retrieving: gdm-schema-45.0.1-150600.6.3.2.noarch (update-sle (15.6))                                                          (1/326),  59.3 KiB    
Retrieving: http://cdn.opensuse.org/update/leap/15.6/sle/noarch/gdm-schema-45.0.1-150600.6.3.2.noarch.rpm ----------------------------------------[\][proxychains] Strict chain  ...  127.0.0.1:7890  ...  127.0.0.1:7890  ...  OK
Retrieving: http://cdn.opensuse.org/update/leap/15.6/sle/noarch/gdm-schema-45.0.1-150600.6.3.2.noarch.rpm ....................................[error]
Download (curl) error for 'http://cdn.opensuse.org/update/leap/15.6/sle/noarch/gdm-schema-45.0.1-150600.6.3.2.noarch.rpm':
Error code: Curl error 52
Error message: Empty reply from server

Abort, retry, ignore? [a/r/i/...? shows all options] (a): 
Problem occurred during or after installation or removal of packages:
Installation has been aborted as directed.
Please see the above error message for a hint.

好吧,又试了一次就回到之前那个帖子的状态了,好像 proxychains 也没有用处,刚才只是网络突然特别好了,可能用德国的仓库就是不太行吧。放弃 SUSE 了,老实用回 mint。

你都用了什么 repo?没国内镜像么

代理质量太差了吧

应该不太可能,用的花钱的,而且至少一年以上了,我的 Linux Mint 的镜像源一点没改,都是硬用美国的源,更新一点事儿没有。以及 docker 的更新也没问题。要是关了代理就不行。就这个德国的源不知为什么非常费劲

参见我在国外论坛上发的,里面有用到的 repo。国内的镜像包含的只有一点,我用镜像才更新 4 个包,但启用现在的全部 repo 有 300 多个包

我平时用代理更新也得断上几次

@sswybd

ZYPP_MEDIA_CURL_DEBUG=2 zypper…

看一下请求头和服务器返回信息呗

$ su
$ export ZYPP_MEDIA_CURL_DEBUG=2
$ proxychains4 -f src/proxychains.conf zypper up chromium
[proxychains] config file found: src/proxychains.conf
[proxychains] preloading /usr/local/lib/libproxychains4.so
[proxychains] DLL init: proxychains-ng 4.17-git-4-gce07eaa
正在检索: chromium-133.0.6943.53-1.1.x86_64 (repo-oss)                                                                                  (1/1), 121.5 MiB    
正在检索: chromium-133.0.6943.53-1.1.x86_64.rpm ---------------------------------------------------------------------------------------------------------[\][proxychains] Strict chain  ...  127.0.0.1:65533  ...  cdn.opensuse.org:80  ...  OK
正在检索: chromium-133.0.6943.53-1.1.x86_64.rpm ---------------------------------------------------------------------------------------------[| (4.9 KiB/s)][proxychains] Strict chain  ...  127.0.0.1:65533  ...  ftp.riken.jp:80  ...  OK
[proxychains] Strict chain  ...  127.0.0.1:65533  ...  opensuse-mirror-gce-ap.susecloud.net:80  ...  OK
[proxychains] Strict chain  ...  127.0.0.1:65533  ...  mirrors.163.com:80  ...  OK
[proxychains] Strict chain  ...  127.0.0.1:65533  ...  free.nchc.org.tw:80  ...  OK
[proxychains] Strict chain  ...  127.0.0.1:65533  ...  mirror.nyist.edu.cn:80  ...  OK
正在检索: chromium-133.0.6943.53-1.1.x86_64.rpm ................................................................................<92%>========[- (9.0 MiB/s)]
[proxychains] Strict chain  ...  127.0.0.1:65533  ...  ftp.riken.jp:80  ...  OK
[proxychains] Strict chain  ...  127.0.0.1:65533  ...  opensuse-mirror-gce-ap.susecloud.net:80  ...  OK
正在检索: chromium-133.0.6943.53-1.1.x86_64.rpm ..........................................................................................[完毕 (6.8 MiB/s)]

正在检查文件冲突: ....................................................................................................................................[完毕]
[proxychains] DLL init: proxychains-ng 4.17-git-4-gce07eaa
couldnt find configuration file: No such file or directory
(1/1) 正在安装:chromium-133.0.6943.53-1.1.x86_64 .....................................................................................................[错误]
安装 chromium-133.0.6943.53-1.1.x86_64 失败:
错误: Subprocess failed. Error: RPM 失败: 命令退出,状态 1。

我试了一下最新的 proxychains4,下载包的过程是没有问题的,但是安装时候会出错,去掉 proxychains4 再跑一遍 zypper 命令用缓存好的就可以了。

看起来不是主服务器的问题,问题可能在于代理连接质量太差了…顺便 src 和 debug 我记得 nju 等是有同步的。毕竟加上了体积会过大其他站点排除掉也正常。其实可以看一下你的代理的落地 ip 然后找一下临近的站点,要不每次都得走一次 CDN。顺便 proxychains4 更新时可能会导致比如 nvidia 的包安装后执行脚本卡住,最好先 up 带一个 --download-only 选项先下载一遍,然后再执行一次 up 不带其他选项走缓存更新(这次不要加 proxychains)