ToB企服应用市场:ToB评测及商务社交产业平台

标题: 在银河麒麟V10 SP2服务器上搭建本地私有yum源 [打印本页]

作者: 郭卫东    时间: 2024-6-21 13:17
标题: 在银河麒麟V10 SP2服务器上搭建本地私有yum源
前言

离线环境安装软件比较繁琐,像nginx,必要利用源码编译,各种配置。在局域网内搭建私有yum源,可以使局域网内所有服务器利用yum命令快速安装软件,节省大量运维工作。
源文件制作一次即可,其他内网环境配置私有yum源,直接从第3章开始看。
服务器环境

CPU: 飞腾 arm64,即aarch64
系统:Kylin v10 sp2

1 拉取官方的repo数据

在可以访问公网的服务器上查看其默认的repo配置文件
  1. vim /etc/yum.repos.d/kylin_aarch64.repo
复制代码
可以看到麒麟官方的yum软件下载地点和默认的堆栈标识,可以看到启用的堆栈有两个,分别是ks10-adv-os和ks10-adv-updates


假如拉取源文件的服务器和准备利用该yum源的服务器系统和CPU架构都雷同,就不必要改什么,假如差别,baseurl就必要改成对应的地点,例如我们在x86的服务器上下载arm的,就必要改为“https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/aarch64/”
我们只必要下载ks10-adv-os对应的base堆栈即可满足一般利用,updates的堆栈文件太多太大,有必要的话可以下载利用。
创建源文件存储的目录
  1. mkdir -p /data/repo
复制代码
执行命令指定repoid为ks10-adv-os下载其对应的源文件
  1. reposync --repoid ks10-adv-os -p /data/repo/
复制代码
执行上述命令会出现如下界面

等待软件同步完毕,在/data/repo路径下可以看到自动创建了/ks10-adv-os/文件夹,里面的/Packages/文件夹下就是下载的软件包文件

2 生成对应的repodata元数据

同步完毕后安装createrepo组件,这个是用来创建堆栈元数据的
  1. yum install -y createrepo
复制代码
为repo堆栈数据生成对应的repodata元数据,其中-o指定repodata元数据存储的路径,-v指定软件包所在路径
  1. createrepo -o /data/repo/ks10-adv-os/ -v /data/repo/ks10-adv-os/Packages/
复制代码
生成完成后,在/ks10-adv-os/文件夹下可以看到生成的/repodata/文件夹,里面是生成的元数据


在后续利用中,提示文件校验失败,下载文件http://ip:port/ks10-adv-os/packages/xxx失败等问题,因此,我们把/Packages/下的所有文件移动到/ks10-adv-os/下
  1. mv /data/repo/ks10-adv-os/Packages/* /data/repo/ks10-adv-os/
复制代码
压缩文件
  1. tar -zcvf ks10-adv-base.tar.gz ks10-adv-base/
复制代码
3 在内网服务器配置本地yum源堆栈

3.1 上传准备好的源文件

在内网服务器创建/data/repo/目录
  1. mkdir -p /data/repo
复制代码
将压缩好的源文件上传到内网服务器的/data/repo/目录下,解压
  1. tar -zxvf ks10-adv-base.tar.gz
复制代码

3.2 配置本地源

把刚才拷贝到内网的文件夹配置为本地软件源
修改服务器yum源配置文件
  1. vim /etc/yum.repos.d/kylin_aarch64.repo
  2. ###Kylin Linux Advanced Server 10 - os repo###[ks10-adv-os.repo]name=ks10-adv-os.repobaseurl=file:///data/repo/ks10-adv-os/enabled=1gpgcheck=0
复制代码
清算yum缓存
  1. yum clean all
复制代码
创建新的缓存
  1. yum makecache
复制代码
查看当前的yum源配置,看看是不是我们配置的yum源
  1. yum repolist
复制代码
4 发布yum源服务

可以利用httpd或者nginx发布yum源服务,这样局域网内其他服务器才可以从私有yum源下载安装包。
4.1 利用httpd发布yum源

安装httpd服务用于发布yum源
  1. yum install -y httpd
复制代码
配置httpd服务
  1. mv /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/repo.conf
复制代码
repo.conf文件内容修改
修改端口为80,修改Servername为本机的IP地点,修改DocumentRoot为源文件的根目录 /data/repo,Directory设置 为源文件的根目录 /data/repo
  1. <VirtualHost *:80>
  2.       Servername 192.168.16.106--本机的IP地址
  3.       DocumentRoot /data/repo--存放软件的目录
  4. <Directory /data/repo>
  5. Require all granted
  6. Options Indexes FollowSymLinks
  7. </Directory>
  8. </VirtualHost>
复制代码
文件设置完成后重启httpd并设置开机启动
  1. systemctl restart httpd && systemctl enable httpd
复制代码
放开防火墙限制(假如关闭防火墙,则不用设置)
  1. [root@yum-harbor ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
  2. success
  3. [root@yum-harbor ~]# firewall-cmd --reload
  4. success
复制代码
出现success表示防火墙设置乐成。
此时浏览器访问http://192.168.16.106,可以看到我们的yum源堆栈,即发布乐成

4.2 利用nginx发布yum源

安装nginx服务用于发布yum源
  1. yum install -y nginx
复制代码

修改nginx配置文件
  1. vim /etc/nginx/nginx.conf
复制代码
增长如下server配置
  1. server {
  2.     listen 81;
  3.     server_name _;
  4.     charset utf-8,gbk;
  5.     location / {
  6.         root /data/repo;
  7.         autoindex on;
  8.         autoindex_localtime on;
  9.         autoindex_exact_size off;
  10.     }
  11.     error_page 404 /404.html;
  12.         location = /40x.html {
  13.     }
  14.     error_page 500 502 503 504 /50x.html;
  15.         location = /50x.html {
  16.     }
  17. }
复制代码

此时浏览器访问http://192.168.16.106:81,可以看到我们的yum源堆栈,即发布乐成(服务器防火墙没关的话必要开放端口)

5 在其他服务器上配置利用私有yum源

修改服务器yum源配置文件
  1. vim /etc/yum.repos.d/kylin_aarch64.repo
复制代码
  1. [ks10-adv-os]
  2. name = Kylin-base - Os
  3. baseurl = http://192.168.16.106/ks10-adv-base/
  4. gpgcheck = 0
  5. enabled = 1
复制代码

清算yum缓存
  1. yum clean all
复制代码
创建新的缓存
  1. yum makecache
复制代码
查看当前的yum源配置,看看是不是我们配置的yum源
  1. yum repolist
复制代码

此时,即可利用yum命令愉快的安装软件了,可以看到,我们安装的软件以及所有依靠都来自我们的私有yum源


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4