搭建内网yum仓库

1.架构图

2.环境准备

复制一个虚拟机,修改MAC地址,ip,主机名等

[root@kylin-10-sp3 ~]# hostnamectl set-hostname kylin-sp3-cllient
[root@kylin-10-sp3 ~]# 
[root@kylin-sp3-cllient ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
[root@kylin-sp3-cllient ~]#
角色 主机名** ip****地址**
yum源服务器(私有仓库服务器) Kylin-V10-sp 10.0.0.36
内网机器 kylin-sp3-cllient 10.0.0.41

3.详细搭建流程

4. yum私有仓库服务器

4.1 下载各种软件并保存到/app/yum/目录

# 开启yum命令缓存功能
[root@Kylin-V10-sp3 ~]# vim /etc/yum.conf
[main]
gpgcheck=1
installonly_limit=3
clean_requirements_on_remove=True
best=True
skip_if_unavailable=False
# 新增下面两行
keepcache=1
cachedir=/var/cache/yum/

# 各种下载软件包 (未来需要准备好所有的软件包)
[root@Kylin-V10-sp3 /var/cache]# mkdir -p /app/yum/
[root@Kylin-V10-sp3 /var/cache]#
[root@Kylin-V10-sp3 /var/cache]# yum reinstall -y tree vim lrzsz nmap nc telnet
已重装:
  lrzsz-0.12.20-46.ky10.x86_64    nmap-2:7.92-1.p01.ky10.x86_64    telnet-1:0.17-77.ky10.x86_64    tree-1.8.0-2.ky10.x86_64    vim-enhanced-2:9.0-19.p03.ky10.x86_64   

完毕!
[root@Kylin-V10-sp3 /var/cache]#

# 复制到/app/yum/目录  find /var/cache/yum/ -name "*.rpm" |xargs cp -t /app/yum/
[root@Kylin-V10-sp3 /var/cache]# find /var/cache/yum -type f *.rpm
find: paths must precede expression: `*.rpm'
[root@Kylin-V10-sp3 /var/cache]# 
[root@Kylin-V10-sp3 /var/cache]# find /var/cache/yum -type f -name *.rpm
/var/cache/yum/ks10-adv-os-f52f2e63634844ad/packages/lrzsz-0.12.20-46.ky10.x86_64.rpm
/var/cache/yum/ks10-adv-os-f52f2e63634844ad/packages/nmap-7.92-1.p01.ky10.x86_64.rpm
/var/cache/yum/ks10-adv-os-f52f2e63634844ad/packages/tree-1.8.0-2.ky10.x86_64.rpm
/var/cache/yum/ks10-adv-updates-7a569415ba681cab/packages/telnet-0.17-77.ky10.x86_64.rpm
/var/cache/yum/ks10-adv-updates-7a569415ba681cab/packages/vim-enhanced-9.0-19.p03.ky10.x86_64.rpm
[root@Kylin-V10-sp3 /var/cache]# 
[root@Kylin-V10-sp3 /var/cache]# 
[root@Kylin-V10-sp3 /var/cache]# cp `find /var/cache/yum/ -type f -name "*.rpm"` /app/yum/
[root@Kylin-V10-sp3 /var/cache]# 
[root@Kylin-V10-sp3 /var/cache]# ll /app/yum/
总用量 7832
-rw-r--r-- 1 root root   83736  9月  8 01:05 lrzsz-0.12.20-46.ky10.x86_64.rpm
-rw-r--r-- 1 root root 6146064  9月  8 01:05 nmap-7.92-1.p01.ky10.x86_64.rpm
-rw-r--r-- 1 root root   64340  9月  8 01:05 telnet-0.17-77.ky10.x86_64.rpm
-rw-r--r-- 1 root root   52192  9月  8 01:05 tree-1.8.0-2.ky10.x86_64.rpm
-rw-r--r-- 1 root root 1664616  9月  8 01:05 vim-enhanced-9.0-19.p03.ky10.x86_64.rpm
[root@Kylin-V10-sp3 /var/cache]#

4.2 通过createrepo命令创建yum仓库的元数据

元数据:属性信息,yum仓库的元数据(仓库软件包列表,名字)

[root@Kylin-V10-sp3 /var/cache]# yum install -y createrepo
已安装:
  createrepo_c-0.16.0-3.p01.ky10.x86_64                                                      drpm-0.5.0-1.ky10.x86_64                                                     

完毕!
[root@Kylin-V10-sp3 /var/cache]# 
[root@Kylin-V10-sp3 /var/cache]# createrepo /app/yum/
Directory walk started
Directory walk done - 5 packages
Temporary output repo path: /app/yum/.repodata/
Preparing sqlite DBs
Pool started (with 5 workers)
Pool finished
[root@Kylin-V10-sp3 /var/cache]# 
[root@Kylin-V10-sp3 /var/cache]# 
[root@Kylin-V10-sp3 /var/cache]# ll /app/yum/
总用量 7836
-rw-r--r-- 1 root root   83736  9月  8 01:05 lrzsz-0.12.20-46.ky10.x86_64.rpm
-rw-r--r-- 1 root root 6146064  9月  8 01:05 nmap-7.92-1.p01.ky10.x86_64.rpm
drwxr-xr-x 2 root root    4096  9月  8 01:06 repodata
-rw-r--r-- 1 root root   64340  9月  8 01:05 telnet-0.17-77.ky10.x86_64.rpm
-rw-r--r-- 1 root root   52192  9月  8 01:05 tree-1.8.0-2.ky10.x86_64.rpm
-rw-r--r-- 1 root root 1664616  9月  8 01:05 vim-enhanced-9.0-19.p03.ky10.x86_64.rpm
[root@Kylin-V10-sp3 /var/cache]# 

4.3 启动nginx配置ngx访问/app/yum/

4.3.1 安装启动nginx

点击查看代码
# 查看是否安装nginx
[root@Kylin-V10-sp3 /var/cache]# rpm -qa |grep nginx
[root@Kylin-V10-sp3 /var/cache]# 
[root@Kylin-V10-sp3 /var/cache]# rpm -ql nginx
未安装软件包 nginx 
[root@Kylin-V10-sp3 /var/cache]#
[root@Kylin-V10-sp3 /var/cache]# cd 
[root@Kylin-V10-sp3 ~]# 
# 安装nginx
[root@Kylin-V10-sp3 ~]# yum install -y nginx
已安装:
  gperftools-libs-2.8-1.ky10.x86_64                  libunwind-1.3.1-3.ky10.x86_64                             nginx-1:1.21.5-2.p02.ky10.x86_64                          
  nginx-all-modules-1:1.21.5-2.p02.ky10.noarch       nginx-filesystem-1:1.21.5-2.p02.ky10.noarch               nginx-mod-http-image-filter-1:1.21.5-2.p02.ky10.x86_64    
  nginx-mod-http-perl-1:1.21.5-2.p02.ky10.x86_64     nginx-mod-http-xslt-filter-1:1.21.5-2.p02.ky10.x86_64     nginx-mod-mail-1:1.21.5-2.p02.ky10.x86_64                 
  nginx-mod-stream-1:1.21.5-2.p02.ky10.x86_64       

完毕!
[root@Kylin-V10-sp3 ~]# 
[root@Kylin-V10-sp3 ~]# rpm -qa |grep nginx
nginx-all-modules-1.21.5-2.p02.ky10.noarch
nginx-mod-http-xslt-filter-1.21.5-2.p02.ky10.x86_64
nginx-mod-stream-1.21.5-2.p02.ky10.x86_64
nginx-filesystem-1.21.5-2.p02.ky10.noarch
nginx-mod-http-perl-1.21.5-2.p02.ky10.x86_64
nginx-1.21.5-2.p02.ky10.x86_64
nginx-mod-http-image-filter-1.21.5-2.p02.ky10.x86_64
nginx-mod-mail-1.21.5-2.p02.ky10.x86_64
[root@Kylin-V10-sp3 ~]# 
# 关闭防火墙
[root@Kylin-V10-sp3 ~]# systemctl stop firewalld
[root@Kylin-V10-sp3 ~]# 
[root@Kylin-V10-sp3 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Sun 2024-09-08 01:18:25 -03; 3s ago
     Docs: man:firewalld(1)
  Process: 837 ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS (code=exited, status=0/SUCCESS)
 Main PID: 837 (code=exited, status=0/SUCCESS)

8月 22 20:57:57 Kylin-V10-sp3 systemd[1]: Starting firewalld - dynamic firewall daemon...
8月 22 20:57:58 Kylin-V10-sp3 systemd[1]: Started firewalld - dynamic firewall daemon.
9月 08 01:18:25 Kylin-V10-sp3 systemd[1]: Stopping firewalld - dynamic firewall daemon...
9月 08 01:18:25 Kylin-V10-sp3 systemd[1]: firewalld.service: Succeeded.
9月 08 01:18:25 Kylin-V10-sp3 systemd[1]: Stopped firewalld - dynamic firewall daemon.
[root@Kylin-V10-sp3 ~]# 
# 检查80端口
[root@Kylin-V10-sp3 ~]# ss -lntup 
Netid         State          Recv-Q         Send-Q                 Local Address:Port                  Peer Address:Port         Process                                   
udp           UNCONN         0              0                          127.0.0.1:323                        0.0.0.0:*             users:(("chronyd",pid=741,fd=6))         
udp           UNCONN         0              0                              [::1]:323                           [::]:*             users:(("chronyd",pid=741,fd=7))         
tcp           LISTEN         0              128                          0.0.0.0:22                         0.0.0.0:*             users:(("sshd",pid=854,fd=5))            
tcp           LISTEN         0              128                             [::]:22                            [::]:*             users:(("sshd",pid=854,fd=6))            
[root@Kylin-V10-sp3 ~]# 
# 检查nginx进程
[root@Kylin-V10-sp3 ~]# ps -ef | grep nginx
root        2312    1315  0 01:20 pts/0    00:00:00 grep nginx
[root@Kylin-V10-sp3 ~]# 
# 启动nginx
[root@Kylin-V10-sp3 ~]# systemctl start nginx
[root@Kylin-V10-sp3 ~]# 
[root@Kylin-V10-sp3 ~]# systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since Sun 2024-09-08 01:21:16 -03; 6s ago
  Process: 2318 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
  Process: 2319 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 2321 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
 Main PID: 2323 (nginx)
    Tasks: 2
   Memory: 9.2M
   CGroup: /system.slice/nginx.service
           ├─2323 nginx: master process /usr/sbin/nginx
           └─2324 nginx: worker process

9月 08 01:21:16 Kylin-V10-sp3 systemd[1]: Starting The nginx HTTP and reverse proxy server...
9月 08 01:21:16 Kylin-V10-sp3 nginx[2319]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
9月 08 01:21:16 Kylin-V10-sp3 nginx[2319]: nginx: configuration file /etc/nginx/nginx.conf test is successful
9月 08 01:21:16 Kylin-V10-sp3 systemd[1]: Started The nginx HTTP and reverse proxy server.
[root@Kylin-V10-sp3 ~]# 

4.3.2 检查

4.3.3 修改配置文件

找到/etc/nginx/nginx.conf server部分,修改root和增加autoindex
root /app/yum/;
autoindex on;

[root@Kylin-V10-sp3 ~]# cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf_bak
[root@Kylin-V10-sp3 ~]# 
[root@Kylin-V10-sp3 ~]# vim /etc/nginx/nginx.conf
    server {
        listen       80;
        listen       [::]:80;
        server_name  _;
        #root         /usr/share/nginx/html;
        root         /app/yum;
        autoindex on;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;
# 测试检查语法
[root@Kylin-V10-sp3 ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@Kylin-V10-sp3 ~]# 
[root@Kylin-V10-sp3 ~]# systemctl restart nginx
[root@Kylin-V10-sp3 ~]# 

4.3.4 访问与测试

成功提示: 显示/app/yum/内容

5.yum仓库的客户端

5.1 注释现有的配置

[root@kylin-sp3-cllient ~]# cd /etc/yum.repos.d/
[root@kylin-sp3-cllient /etc/yum.repos.d]# 
[root@kylin-sp3-cllient /etc/yum.repos.d]# ll
总用量 8
-rw-r--r-- 1 root root 664  8月  4  2022 epel.repo
-rw-r--r-- 1 root root 701  9月  8  2022 kylin_x86_64.repo
[root@kylin-sp3-cllient /etc/yum.repos.d]#  
[root@kylin-sp3-cllient /etc/yum.repos.d]# gzip *
[root@kylin-sp3-cllient /etc/yum.repos.d]# 
[root@kylin-sp3-cllient /etc/yum.repos.d]# ll
总用量 8
-rw-r--r-- 1 root root 254  8月  4  2022 epel.repo.gz
-rw-r--r-- 1 root root 266  9月  8  2022 kylin_x86_64.repo.gz
[root@kylin-sp3-cllient /etc/yum.repos.d]#

5.2 书写yum仓库配置文件连接内网私有仓库

# 新增yumlocal.repo文件,内容如下
[root@kylin-sp3-cllient /etc/yum.repos.d]# vim yumlocal.repo
[yumlocal]
name=yum local repo
#baseurl地址打开后要能看到repodata目录
#务必浏览器测试后再写入
baseurl=http://10.0.0.36:80/
enabled=1
gpgcheck=0
[root@kylin-sp3-cllient /etc/yum.repos.d]# 
[root@kylin-sp3-cllient /etc/yum.repos.d]# yum clean all
21 文件已删除
# 看到仓库标识为yumlocal,说明是从本地下载的
[root@kylin-sp3-cllient /etc/yum.repos.d]# yum repolist
仓库标识                                                                           仓库名称
yumlocal                                                                           yum local repo
[root@kylin-sp3-cllient /etc/yum.repos.d]# 

5.3 检查与测试

点击查看代码
[root@kylin-sp3-cllient /etc/yum.repos.d]# ping qq.com
ping: qq.com: 未知的名称或服务
[root@kylin-sp3-cllient /etc/yum.repos.d]# 
[root@kylin-sp3-cllient /etc/yum.repos.d]# 
[root@kylin-sp3-cllient /etc/yum.repos.d]# yum reinstall tree -y
yum local repo                                                                                                                             1.6 MB/s | 8.8 kB     00:00    
依赖关系解决。
===========================================================================================================================================================================
 Package                              Architecture                           Version                                        Repository                                Size
===========================================================================================================================================================================
重新安装:
 tree                                 x86_64                                 1.8.0-2.ky10                                   yumlocal                                  51 k

事务概要
===========================================================================================================================================================================

总下载:51 k
安装大小:115 k
下载软件包:
tree-1.8.0-2.ky10.x86_64.rpm                                                                                                                40 MB/s |  51 kB     00:00    
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计                                                                                                                                       5.0 MB/s |  51 kB     00:00     
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                                                                                                            1/1 
  重新安装: tree-1.8.0-2.ky10.x86_64                                                                                                                                   1/2 
  清理    : tree-1.8.0-2.ky10.x86_64                                                                                                                                   2/2 
  验证    : tree-1.8.0-2.ky10.x86_64                                                                                                                                   1/2 
  验证    : tree-1.8.0-2.ky10.x86_64                                                                                                                                   2/2 

已重装:
  tree-1.8.0-2.ky10.x86_64                                                                                                                                                 

完毕!
[root@kylin-sp3-cllient /etc/yum.repos.d]# 
[root@kylin-sp3-cllient /etc/yum.repos.d]# tree -L 2 /etc/ 
/etc/
├── abrt
│   ├── abrt-action-save-package-data.conf
│   ├── abrt.conf
│   ├── gpg_keys.conf
│   └── plugins

posted @ 2024-09-08 12:57  老虎死了还有狼  阅读(47)  评论(0编辑  收藏  举报