reposync
reposync 命令用于将远程的yum存储库同步到本地目录,并使用yum来检索软件包,可以指定外网源(repo id)的软件包同步到本地文件中。
安装 reposync
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 | 删除已不在仓库中的本地软件包 |
创建本地存储目录
mkdir -p /repo/kylin/aarch_64/
同步 repo 文件中软件包到本地,aarch_64目录下自动创建以 repoid 命名的目录
reposync -n --repoid=ks10-adv-os --repoid=ks10-adv-updates -p /repo/kylin/aarch_64/
kylin_aarch64.repo 文件
###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 删除已不在仓库中的本地软件包
reposync -n -c /opt/kylin_aarch64.repo --delete --repoid=ks10-adv-os -p /repo/kylin/aarch_64
创建本地索引文件
createrepo 命令用于创建 yum 源(软件仓库),即为存放于本地特定位置的众多 rpm 包建立索引,描述各包所需依赖信息,并形成元数据。
安装createrepo
dnf install createrepo
/repo/kylin/arrch_64 目录下执行 createrepo . 命令
cd /repo/kylin/aarch_64/ks10-adv-os
createrepo .
-g 指定组依赖xml文件(推荐)
下载组依赖xml文件
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
创建本地索引文件
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/
注意:组依赖xml文件从官网wget下载,如不指定组依赖文件则无法使用使用groupinstall,通过"dnf grouplist"命令进行组列表验证。
rsync 目录数据同步
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
server {
listen 8080;
server_name 127.0.0.1;
root /var/www/html;
location / {
autoindex on;
}
}
软链接
sudo ln -s /repo/kylin/ /var/www/html/kylin
ln-s 源文件 目标文件 ,源文件是要链接的文件,目标文件是链接后的文件名或路径。使用-s选项表示创建符号链接,如果不加-s选项,则默认创建硬链接。
yum repo 文件
备份repo文件
cp kylin_aarch64.repo kylin_aarch64.repo.bak
vim kylin_aarch64.repo
[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为签名公钥的存放路径。