本地yum仓库

本地yum仓库


自制YUM仓库


YUM仓库配置文件

# 仓库名称 
[base] 
# 仓库描述
name=CentOS-$releasever - Base - mirrors.aliyun.com
# 仓库地址 
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
# 检测签名机制(1:开启检测 0:关闭检测)
gpgcheck=1
# 签名机制秘钥地址 
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

YUM仓库类型


# 1.远程仓库
http:// 端口:80
https:// 端口:443
ftp:// 端口:21

# 2.本地仓库 
file:// 没有端口(本地协议)

# 协议:http:// https:// ftp:// file://


本地YUM仓库(file://)


# 先决条件 
1)创建仓库的命令 
    - createrepo 
2)还要有rpm包 
    - 网站获取
    - 镜像获取
    - yum源获取
3)yum源的配置文件

# 安装创建仓库的命令
[root@localhost ~]# yum install -y createrepo

# 2.通过镜像,获取rpm包

# 1)挂载镜像 [root@localhost ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 is write-protected, mounting read-only

# 2)创建一个仓库目录
[root@localhost ~]# mkdir /local_yum_repo

# 3)拷贝所有rpm包到仓库目录中 
[root@localhost ~]# cp /mnt/Packages/*.rpm /local_yum_repo/

# 4)先把目录变成仓库 
[root@localhost ~]# createrepo /local_yum_repo/ 
Spawning worker 0 with 4021 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata 
Saving other metadata 
Generating sqlite DBs
Sqlite DBs complete

# 5)检查是否把目录变成了仓库 
[root@localhost ~]# ll -d /local_yum_repo/repodata/ 
drwxr-xr-x 2 root root 4096 Apr 25 10:10 /local_yum_repo/repodata/

# 6)压缩其他yum源 
[root@localhost ~]# gzip -r /etc/yum.repos.d/

# 7)手写yum源配置文件(必须以repo结尾)
[root@localhost ~]# vim /etc/yum.repos.d/local.repo
# 仓库名称
[zls_local]

# 仓库描述 
name=Local Repository By zls

# 仓库的地址 
baseurl=file:///local_yum_repo 

# 关闭签名检测机制 
gpgcheck=0 

# 开启仓库 
enabled=1

# 8)使用yum源
[root@localhost ~]# yum repolist all 
Loaded plugins: fastestmirror 
Loading mirror speeds from cached hostfile
base_local
   | 2.9 kB 00:00:00
base_local/primary_db 
   | 3.1 MB 00:00:00 
repo id              repo name                         status 
base_local          Local Repository By base           enabled: 4,02

远程yum仓库


# 先决条件
1)创建仓库的命令 
     - createrepo 
2)还要有rpm包 
     - 网站获取 
     - 镜像获取
     - yum源获取
3)yum源的配置文件

# 1.安装创建仓库的命令
[root@localhost ~]# yum install -y createrepo

# 2.通过镜像,获取rpm包

# 1)挂载镜像 
[root@localhost ~]# mount /dev/cdrom /mnt/ 
mount: /dev/sr0 is write-protected, mounting read-only 

# 2)安装vsftpd服务 
[root@localhost ~]# yum install -y vsftpd 

# 3)启动服务 
[root@localhost ~]# systemctl start vsftpd 

# 4)检查端口 
如果没有netstat 命令,则需要安装
[root@localhost ~]# yum install -y net-tools 
[root@localhost ~]# netstat -lntup
[root@localhost ~]# netstat -lntup|grep vsftpd
tcp6          0          0       :::21          :::*              LISTEN         7763/vsftpd

# 5)打开浏览器访问:ftp://10.0.0.100/ 
ftp://IP

# 6)关闭防火墙和selinux
[root@localhost ~]# systemctl stop firewalld 
[root@localhost ~]# setenforce 0

# 7)创建仓库目录
[root@localhost ~]# mkdir /var/ftp/pub/{base,epel} 
[root@localhost ~]# ll /var/ftp/pub/
drwxr-xr-x 2 root root 6 Apr 25 11:13 base
drwxr-xr-x 2 root root 6 Apr 25 11:13 epel

# 8)拷贝rpm包到base目录下
[root@localhost ~]# cp /mnt/Packages/zip-3.0-11.el7.x86_64.rpm /mnt/Packages/net-tools-2.0- 0.24.20131004git.el7.x86_64.rpm /var/ftp/pub/base/

# 9)下载rpm包到epel源
[root@localhost ~]# cp /mnt/Packages/wget-3.0-11.el7.x86_64.rpm /var/ftp/pub/epel/

# 10) 将目录做成仓库
[root@localhost pub]# createrepo /var/ftp/pub/base/ 
Spawning worker 0 with 4021 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete

[root@localhost pub]# createrepo /var/ftp/pub/epel/ 
Spawning worker 0 with 2 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete

# 10)在其他机器上手写repo配置文件
[root@localhost pub]# vi /etc/yum.repos.d/base.repo 
[base_local]
name=this is hjx de base
baseurl=ftp://var/ftb/pub/base
gpgcheck=0
enabled=1

[root@localhost pub]# vi /etc/yum.repos.d/eprl.repo 
[repo_local]
name=this is hjx de base
baseurl=ftp://var/ftb/pub/repo
gpgcheck=0
enabled=1

# 11)检查yum仓库
[root@localhost ~]# ll -d /local_yum_repo/repodata/ 

# 12)使用yum安装
[root@localhost ~]# yum install -y zip
[root@localhost ~]# yum install -y wget

作业

✓ 17:37:57 root@localhost.localdomain,10.0.0.167:~ # yum install -y vsftpd

[root@localhost ~]# yum install -y createrepo

[root@localhost ~]#  mkdir /var/ftp/pub/{base,epel}

[root@localhost pub]# mount /dev/cdrom /mnt/
mount: /dev/sr0 is write-protected, mounting read-only

[root@localhost pub]# cp /mnt/Packages/*.rpm ./base

[root@localhost pub]# cp /mnt/Packages/zip-3.0-11.el7.x86_64.rpm /mnt/Packages/net-tools-2.0-0.24.20131004git.el7.x86_64.rpm /var/ftp/pub/epel/

[root@localhost pub]# createrepo /var/ftp/pub/base/ 
Spawning worker 0 with 4021 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete

[root@localhost pub]# createrepo /var/ftp/pub/epel/ 
Spawning worker 0 with 2 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete

[root@localhost pub]# vi /etc/yum.repos.d/base.repo 
[base_local]
name=this is hjx de base
baseurl=ftp://var/ftb/pub/base
gpgcheck=0
enabled=1

[root@localhost pub]# vi /etc/yum.repos.d/eprl.repo 
[repo_local]
name=this is hjx de base
baseurl=ftp://var/ftb/pub/repo
gpgcheck=0
enabled=1

[root@localhost ~]# yum repolist all
posted @   hjx、贤  阅读(119)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示