本地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