前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >yum 本地软件仓库--reposync

yum 本地软件仓库--reposync

作者头像
Kevin song
发布2024-03-21 15:01:02
1370
发布2024-03-21 15:01:02
举报

reposync

reposync 命令用于将远程的yum存储库同步到本地目录,并使用yum来检索软件包,可以指定外网源(repo id)的软件包同步到本地文件中。

安装 reposync

代码语言:javascript
复制
dnf install dnf-plugins-core

reposync 选项参数

选项

含义

-c [file]

指定配置文件运行(默认配置文件是 /etc/yum.conf )

-q

静谧运行

-v

显示详细操作

-h

获取帮助

-b

尝试使用最佳的软件包版本

-C

只从系统缓存中运行,不更新缓存

-R [min]

最大命令等待时间

-y

所有回答都是 yes

-x [package]

排除哪些包

-n repoid=[]

只下载最新的包,相同的跳过

-p

指定下载路径

--delete

删除已不在仓库中的本地软件包

创建本地存储目录

代码语言:javascript
复制
mkdir -p /repo/kylin/aarch_64/

同步 repo 文件中软件包到本地,aarch_64目录下自动创建以 repoid 命名的目录

代码语言:javascript
复制
reposync -n --repoid=ks10-adv-os --repoid=ks10-adv-updates -p /repo/kylin/aarch_64/

kylin_aarch64.repo 文件

代码语言:javascript
复制
###Kylin Linux Advanced Server 10 - os repo###

[ks10-adv-os]
name = Kylin Linux Advanced Server 10 - Os 
baseurl = https://update.cs2c.com.cn/NS/V10/V10SP3/os/adv/lic/base/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 1

[ks10-adv-updates]
name = Kylin Linux Advanced Server 10 - Updates
baseurl = https://update.cs2c.com.cn/NS/V10/V10SP3/os/adv/lic/updates/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 1

[ks10-adv-addons]
name = Kylin Linux Advanced Server 10 - Addons
baseurl = https://update.cs2c.com.cn/NS/V10/V10SP3/os/adv/lic/addons/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 0

-c 指定 repo 文件,--delete 删除已不在仓库中的本地软件包

代码语言:javascript
复制
reposync -n -c /opt/kylin_aarch64.repo --delete --repoid=ks10-adv-os  -p /repo/kylin/aarch_64

创建本地索引文件

createrepo 命令用于创建 yum 源(软件仓库),即为存放于本地特定位置的众多 rpm 包建立索引,描述各包所需依赖信息,并形成元数据。

安装createrepo

代码语言:javascript
复制
dnf install createrepo

/repo/kylin/arrch_64 目录下执行 createrepo . 命令

代码语言:javascript
复制
cd /repo/kylin/aarch_64/ks10-adv-os
createrepo .

-g 指定组依赖xml文件(推荐)

下载组依赖xml文件

代码语言:javascript
复制
wget -P /repo/kylin/aarch_64/ks10-adv-os/repodata/ https://update.cs2c.com.cn/NS/V10/V10SP3/os/adv/lic/base/aarch64/repodata/d1b96fc05a4271e5eabef4039c47be58497f202d1b0bd6b5f2ac9100d34bf0b9-comps-v10-sp3-aarch64.xml

创建本地索引文件

代码语言:javascript
复制
createrepo -g /repo/kylin/aarch_64/ks10-adv-os/repodata/d1b96fc05a4271e5eabef4039c47be58497f202d1b0bd6b5f2ac9100d34bf0b9-comps-v10-sp3-aarch64.xml  --update --workers=10 /repo/aarch_64/ks10-adv-os/
  • --update表示更新,--workers表示线程数

注意:组依赖xml文件从官网wget下载,如不指定组依赖文件则无法使用使用groupinstall,通过"dnf grouplist"命令进行组列表验证。

rsync 目录数据同步

代码语言:javascript
复制
rsync -av --delete /repo/kylin/aarch_64/ks10-adv-os/ /repo/kylin/NS/V10/V10SP3/os/adv/lic/base/aarch64/

nginx 目录发布

cat /etc/nginx/conf.d/mirrors.conf

代码语言:javascript
复制
server {
 listen 8080;
 server_name 127.0.0.1;
 root /var/www/html;

 location / {
   autoindex on;
  }
}

软链接

代码语言:javascript
复制
sudo ln -s  /repo/kylin/   /var/www/html/kylin

ln-s 源文件 目标文件 ,源文件是要链接的文件,目标文件是链接后的文件名或路径。使用-s选项表示创建符号链接,如果不加-s选项,则默认创建硬链接。

yum repo 文件

备份repo文件

代码语言:javascript
复制
cp kylin_aarch64.repo  kylin_aarch64.repo.bak

vim kylin_aarch64.repo

代码语言:javascript
复制
[ks10-adv-os]
name = Kylin Linux Advanced Server 10 - Os 
baseurl=http://127.0.0.1/kylin/NS/V10/V10SP3/os/adv/lic/base/$basearch/
enabled=1
gpgcheck=0
[ks10-adv-updates]
name = Kylin Linux Advanced Server 10 - Updates
baseurl = http://127.0.0.1/kylin/NS/V10/V10SP3/os/adv/lic/updates/$basearch/
gpgcheck = 0
enabled = 1

gpgcheck可设置为1或0,1表示进行gpg(GNU Private Guard)校验,0表示不进行gpg校验,gpgcheck用于验证rpm包的来源是有效和安全,gpgkey为签名公钥的存放路径。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-03-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源搬运工宋师傅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档