【linux命令】通过命令reposync同步repo到本地

通过命令reposync同步repo到本地

使用场景:一个服务器集群,只有一台服务器能连接外网,连接外网那台服务器就把外网源的包全部同步下来放在本地,集群中其他服务器就以这台服务器为包库使用 yum 安装,当然,同步完包之后还需要使用 createrepo 来生成 repodata。

命令reposync用法如下:

-h, --help
# 显示帮助信息

-c CONFIG, --config=CONFIG
# 指定配置文件(默认为/etc/yum.conf)

-a ARCH, --arch=ARCH
# 指定arch

--source
# 同时下载src和rpm文件.

-r REPOID, --repoid=REPOID
# 指定要查询的repo id,可以指定多次(默认为全部启用)。

-e CACHEDIR, --cachedir CACHEDIR
# 存储元数据的目录。

-t, --tempcache
# 使用临时目录存储/访问yum-cache。

-d, --delete
# 删除存储库中不再存在的本地包。

-p DESTDIR, --download_path=DESTDIR
# 指定下载路径:默认为当前目录。

--norepopath
# 不要将重命名添加到下载路径中。只能在同步单个存储库时使用(默认是添加重命名)。

-g, --gpgcheck
# 下载后删除GPG签名检查失败的包。如果至少有一个包被删除,退出状态为“1”。

-u, --urls
# 只列出要下载的内容的url,不要下载。

-l, --plugins
# 启用yum插件支持。

-m, --downloadcomps
# 同时下载comps.xml。

--download-metadata
# 下载所有非默认元数据。

-n, --newest-only
# 每个repo只下载最新的包。

-q, --quiet
# 输出尽可能少的信息。

--allow-path-traversal
# 允许同步存储在repo目录之外的包。这些包是在元数据中通过使用绝对路径或上一级“..”系统引用的并且出于安全原因通常会在reposync中跳过。
# 注意:使用此选项有潜在的安全隐患,因为通过提供恶意repodata,攻击者可以使reposync写入任意位置运行该文件系统的用户可以访问的文件系统。

 

示例:

#1. 同步整个源到指定目录
[root@V10SP1-1 pac]# reposync -p /root/pac
 
# 2. 同步指定源到指定目录
[root@V10SP1-1 pac]# reposync  --repoid=ks10-adv-updates -p /root/pac/
 
# 3. 更新同步过的源
[root@V10SP1-1 pac]# reposync -n --repoid=ks10-adv-updates -p /root/pac

 

参考资料

1. reposync命令详解--reposync同步aliyunyum库到本地

 

posted @ 2021-11-09 21:13  苏格拉底的落泪  阅读(158)  评论(0)    收藏  举报