技术解析

wget 怎么下载镜像网站的 RPM 包
0
2021-06-23 16:16:41
idczone

使用网上搜到的

wget -r -p -k -np -nc -e robots=off http://mirrors.163.com/centos/7.5.1804/updates/x86_64/Packages/

各目录都有,但网站下的 RPM 包一个都没有下,只有一个 index.html

请问要怎么使用 wget 工具完成这个要求


难道不是 wget + 完整网址?

额,什么意思?我要下载 centos 源下的所有 RPM 包,有几千个

这位老哥的意思应该是:用一个(尽可能少的) wget 命令将镜像网站上的 rpm 包全部下载

看了一眼参数
r recursive
p page-requisites
k convert links.
np no parent dir
nc 不重复下载文件
e robots off(不被 robots.txt 阻拦)
好像已经完全够要求了,点开链接一看也是 html 含一堆 rpm 包,真是不知道为啥下不来......

你能下吗?我只有一个 index.html 啊,我都试了 N 次了

搜索 wget mirror
不过这种软件源要做镜像的话应该用专门的软件。

wget 1.18 试了下,你贴的原命令能用

哈哈我误解了,把网址最后的斜杠去掉有惊喜

Yum 仅下载不安装了解一下

用 rsync 同步,现在的开源镜像基本都是用这个,效率高速度快,只传输不同部分。

yum install * 然后 d ?

谢谢,查了下是有这个 rsync:// 的协议下载的,我去了解下
这个是知道的,但是不知道怎么用 yum 下载源里的所有包,请指教

下载所有的包,还不如用 createrepo 做个本地源

不知道你目的是要包还是一定要用命令从镜像源下载,如果只是要包的很简单
http://mirrors.cn99.com/centos/7/isos/x86_64/CentOS-7-x86_64-Everything-1804.iso
iso 文件里有所有的包

这个只包含 base 源,我还要下 updates 和 epel 的

不是要先下载好包才能用这个做本地源吗?要不本地源没包呀

你可以试试这个教程用 reposync 同步源 https://blog.csdn.net/woshizhangliang999/article/details/78924972

花个几秒钟搜索一下很难吗?
Let me Google it for you: https://opennodecloud.com/howto/2013/12/02/howto-creating-local-yum-repomirror.html

亲,我的目的确实是实现本地源,但前提是先将上万个 rpm 包下载到本地,我考虑用 wget 命令可能是最简单的,但尝试多次没有成功,这才是我求助的目的,而不是问怎么实现本地源。不过还是感谢你的帮助

慢慢下载吧,单线程的。想要书的,只能自己抓虫多线程了。
packages="http://mirrors.163.com/centos/7.5.1804/updates/x86_64/Packages/" && curl $packages >>tt.html &&cat tt.html | awk -F '"' '{print $2}'|while read line; do curl -O ${packages}${line}; done

我贴的就是从下载到建源的一站式操作。
"reposync - synchronize yum repositories to a local directory"
是什么让你放着现成的方案不用,而要坚持用 wget 做镜像的?

谢谢,是无知让我这么做的,以前不知道,非常感谢

http://xyproblem.info 实例 += 1 :D

Good point. 回头抓一份汉化版放到我自己的网站上 ww

我寻求的帮助就是我在主题中说明的,并且我也很清楚我需要什么样的帮助,那位提供的方法除了下载方案不同,其它并不比我自己写的脚本方便多少,而且还有一些无法满足我建立源的地方
如果我寻求的帮助是怎么建立源,我会说明的,但很明显我不是来寻问怎么建立源这个问题

你应该找个类似 <怎样理解他人的真实需求> 的文章

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服