首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >本地回购更新

本地回购更新
EN

Unix & Linux用户
提问于 2018-10-24 12:07:47
回答 3查看 1.9K关注 0票数 1

我在/var/www/html/centos/7目录中有一个本地存储库。在这里,来自centos的所有rpm包都会被下载。我将创建一个crontab,用于每1周更新一次本地存储库。

我想知道repocreate --update是这么做的吗?还是我应该再次从centos回购公司下载所有的软件包?

如果我应该从centos下载软件包,有没有办法跳过下载的包(正如我前面提到的,它们在/centos/7目录中),而只从centos下载新的(更新的)包?

更新

我已经找到了解决办法,但对我不起作用。我创建了一个新的目录centos7 7/repo,并下载了一些文件来检查rsync --忽略--现有的目录是否有效。但是每当我运行下面的命令时,我就会得到一个错误

代码语言:javascript
复制
failed to connect to ftp.linux.org.tr (193.140.100.100): Connection timed out (110)

rsync: failed to connect to ftp.linux.org.tr (2001:a98:11::100): Network is unreachable (101)

rsync error: error in socket IO (code 10) at clientserver.c(125) [Receiver=3.1.2]

该命令是:

代码语言:javascript
复制
rsync -avz --ignore-existing rsync://ftp.linux.org.tr/centos/7/os/x86_64/ /var/www/html/centos7/repo/

我也尝试过来自https://centos.org/download/mirrors/的其他镜像(这个站点中也有rsync位置)。但他们都没用。有人能验证rsync镜像是否有效吗?可能我无法通过873端口的防火墙。

我是否可以通过端口80使用这个rsync,或者有其他方法来完成这个任务?(我尝试了zsync,但它需要一个zsync文件。)

EN

回答 3

Unix & Linux用户

回答已采纳

发布于 2018-10-30 07:49:43

repoquery查询为您的系统配置的存储库中的每个包,然后将列表提供给xargs,以便将所有包(新的包不是现有的包)下载到服务器。

代码语言:javascript
复制
repoquery -a | xargs repotrack -a x86_64 -p .

如果没有任何限制rsync守护进程端口的防火墙规则,则rsync解决方案也能工作。

代码语言:javascript
复制
rsync -avz --ignore-existing rsync://ftp.linux.org.tr/centos/7/os/x86_64/ /var/www/html/centos7/repo/
票数 0
EN

Unix & Linux用户

发布于 2018-10-28 13:31:44

如果rsync有问题,则可以使用储存库c。它可以从系统中配置的repo下载所有软件包(或--只有最新版本的\ -n)。因此,脚本中的最后命令如下:

代码语言:javascript
复制
/usr/bin/reposync --repoid=updates --download_path=/var/www/html/centos7/repo/updates --newest-only
/usr/bin/createrepo /var/www/html/centos7/repo/updates
票数 2
EN

Unix & Linux用户

发布于 2018-10-28 12:43:44

您也可以尝试以下支持rsync的镜像

http://mirror.nl.leaseweb.net/centos/

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/477504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档