CentOS7创建本地YUM源的三种方法

时间:2021-05-25

本文中的“本地YUM源”包括三种类型:一是直接使用CentOS光盘作为本地yum源,优点是简单便捷,缺点是光盘软件包可能不完整(centos 7 Everything 总共才6.57G);二是同步CentOS官方源到本地(相当于创建了一个公共镜像),优点是最靠谱,缺点是占空间费流量;三是创建完全自定义的本地源,优点是灵活性最大,缺点是只是作为其他源的补充。

一、使用CentOS光盘作为本地yum源

(1) 实体机上直接放入光盘
(2) VMware Workstation 虚拟机:虚拟机-->可移动设备-->CD/DVD-->连接

复制代码代码如下:
mkdir /mnt/cdrom #创建目录
mount /dev/cdrom /mnt/cdrom #挂载
umount /mnt/cdrom #卸载
若不想每次都要放光盘,那就复制光盘文件到本地硬盘吧
[code]
cp -avf /mnt/cdrom /yum # -a:该选项保留链接、文件属性,并递归地复制目录
2、创建repo文件


复制代码代码如下:
cat >>/etc/yum.repos.d/CentOS-Local.repo<<-EOF
[Local]
name=Local Yum
baseurl=file:///yum/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1

问:为什么连createrepo软件都不用安装?

createrepo 的作用是创建索引文件的(位于repodata文件夹),光盘中连GPG-KEY都有了。

二、如何为CentOS创建公共镜像

详细说明见官方中文文档:

http://wiki.centos.org/zh/HowTos/CreatePublicMirrors

提供一个SHELL脚本,然后cron自动运行~~

脚本稍作修改,换成中科大的镜像源。可用镜像列表见:http://::centos"
rsync="rsync -avzH --delete"</p><p>verlist="7"
baselist="centosplus extras fasttrack os updates"
archlist="x86_64"</p><p>for ver in $verlist
do
for base in $baselist
do
for arch in $archlist
do
remote=$mirror/$ver/$base/$arch/
mkdir -pv $localpath/$ver/$base/$arch/
$rsync $remote $localpath/$ver/$base/$arch/
done
done
done</p><p>

三、创建完全自定义的本地源

把平时收藏的一些RPM软件包放在一个目录里,就变成一个自定义源了,可以用YUM来管理,灵活性相当大。

官方教程:How to setup your own package repository

1、创建本地yum仓库

复制代码代码如下:
mkdir -p /yum/local #可以有N级目录
cp ... #复制RPM包到上述目录

2、创建repo文件

复制代码代码如下:
cat >>/etc/yum.repos.d/CentOS-Local.repo<<-EOF
[Local]
name=Local Yum
baseurl=file:///yum/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1

3、安装createrepo


复制代码代码如下:
yum install createrepo #使用yum安装createrepo
rpm -ivh <a href="http://mirror.centos.org/centos/7/os/x86_64/Packages/createrepo-0.9.9-23.el7.noarch.rpm">http://mirror.centos.org/centos/7/os/x86_64/Packages/createrepo-0.9.9-23.el7.noarch.rpm</a>

4、创建索引


复制代码代码如下:
createrepo /yum
yum makecache #更新缓存

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章