运维基础-制作本地yum源
1、使用centos镜像做yum源
1、下载centos镜像
- 官网:https://mirrors.ustc.edu.cn/centos/
- 下载:https://mirrors.ustc.edu.cn/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-Everything-1908.iso
2、创建目录
--存放镜像 ]# mkdir -pv /opt/centos/centos_iso --镜像挂载的路径 ]# mkdir -pv /opt/centos/yum_repo/base
3、将镜像放到/opt/centos/centos_iso下
]# cp ./CentOS-7-x86_64-Everything-2009.iso /opt/centos/centos_iso
4、挂载镜像
]# mount -t iso9660 /opt/centos/centos_iso/CentOS-7-x86_64-Everything-1908.iso /opt/centos/yum_repo/base
- 并将下面语句添加到/etc/fstab
]# vim /etc/fstab /opt/centos/centos_iso/CentOS-7-x86_64-Everything-1908.iso /opt/centos/yum_repo/base iso9660 defaults 0 0
5、添加yum repo文件
]# vim /etc/yum.repos.d/myrepo.repo [mybase] name=my-base baseurl=file:///opt/centos/yum_repo/base gpgcheck=0
6、清除缓存
--清除缓存 ]# yum clean all --把Yum源缓存到本地,加快软件的搜索和安装速度 ]# yum makecache
7、查看yum仓库列表
]# yum repolist
2、同步其他的yum仓库到本地
1、安装reposync命令
- reposync命令在yum-utils工具包中。
yum -y install yum-utils
2、创建存储目录
- 存放下载的rpm包的目录。
]# mkdir -p /data/yum_repo
3、获取repoid
]# yum repolist
- repoid有3个分别为base、extras、updates。
- 在.repo文件中[serverid]就是repoid
- serverid解释:用于区别各个不同的repository,必须有一个独一无二的名称。若有重复,则后面的会覆盖前面的。

4、同步存储库
- 同步存储库时可以指定一个repoid,也可以指定多个repoid,会自动创建以repoid为名的目录。
- -n相同包只下载最新的
]# reposync -n --repoid=updates --repoid=extras -p /data/yum_repo
5、创建yum仓库
- reaterepo命令用于创建yum源(软件仓库),即为存放于本地特定位置的众多rpm包建立索引,描述各包所需依赖信息,并形成元数据。
--安装reaterepo命令 yum install createrepo
- 制作yum仓库
--制作成yum仓库前的目录结构
]# tree -L 2 /data/yum_repo/
/data/yum_repo/
├── extras
│ └── Packages
└── updates
└── Packages
--将两个目录分别制作成yum仓库
createrepo /data/yum_repo/extras/
createrepo /data/yum_repo/updates/
--制作成yum仓库后的目录结构
]# tree -L 2 /data/yum_repo/
/data/yum_repo/
├── extras
│ ├── Packages
│ └── repodata
└── updates
├── Packages
└── repodata
6、制作成iso
- 将两个yum仓库分别制作成iso镜像
mkisofs -r -o /data/yum_repo/extras.iso /data/yum_repo/extras/ mkisofs -r -o /data/yum_repo/updates.iso /data/yum_repo/updates/
3、更换centos7的yum源
1、备份原有 repo 文件
# cd /etc/yum.repos.d/ # mkdir -p backup-$(date +%F) # mv *.repo backup-$(date +%F)/
2、使用阿里云镜像源
(1)下载CentOS-Base.repo文件
# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
- 查看内容
# cat /etc/yum.repos.d/CentOS-Base.repo # CentOS-Base.repo # # The mirror system uses the connecting IP address of the client and the # update status of each mirror to pick mirrors that are updated to and # geographically close to the client. You should use this for CentOS updates # unless you are manually picking other mirrors. # # If the mirrorlist= does not work for you, as a fall back you can try the # remarked out baseurl= line instead. # # [base] name=CentOS-$releasever - Base - mirrors.aliyun.com failovermethod=priority baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/ http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/ http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 #released updates [updates] name=CentOS-$releasever - Updates - mirrors.aliyun.com failovermethod=priority baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/ http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/ http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras - mirrors.aliyun.com failovermethod=priority baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/ http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/ http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus - mirrors.aliyun.com failovermethod=priority baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/ http://mirrors.aliyuncs.com/centos/$releasever/centosplus/$basearch/ http://mirrors.cloud.aliyuncs.com/centos/$releasever/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 #contrib - packages by Centos Users [contrib] name=CentOS-$releasever - Contrib - mirrors.aliyun.com failovermethod=priority baseurl=http://mirrors.aliyun.com/centos/$releasever/contrib/$basearch/ http://mirrors.aliyuncs.com/centos/$releasever/contrib/$basearch/ http://mirrors.cloud.aliyuncs.com/centos/$releasever/contrib/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
(2)下载epel.repo文件
# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
- 查看内容
# cat /etc/yum.repos.d/epel.repo [epel] name=Extra Packages for Enterprise Linux 7 - $basearch baseurl=http://mirrors.aliyun.com/epel/7/$basearch failovermethod=priority enabled=1 gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 [epel-debuginfo] name=Extra Packages for Enterprise Linux 7 - $basearch - Debug baseurl=http://mirrors.aliyun.com/epel/7/$basearch/debug failovermethod=priority enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 gpgcheck=0 [epel-source] name=Extra Packages for Enterprise Linux 7 - $basearch - Source baseurl=http://mirrors.aliyun.com/epel/7/SRPMS failovermethod=priority enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 gpgcheck=0
3、使用清华 TUNA 镜像源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.tuna.tsinghua.edu.cn/repo/Centos-7.repo wget -O /etc/yum.repos.d/epel.repo https://mirrors.tuna.tsinghua.edu.cn/repo/epel-7.repo
4、重新生成缓存
# yum clean all # yum makecache
5、验证
#(1)查看yum仓库列表 # yum repolist #(2) 测试能否正常拉取软件包元数据 # yum info bash
1
# #

浙公网安备 33010602011771号