问题描述:
- 我们如何搭建一个属于自己本地的yum仓库
- 搭建完成后我们如何将yum指向自己搭建的yum仓库
解决方案:
(1)首先我们先进行创建repoment的索引
##如果没有索引文件即使本地有rpm包也无法进行yum正常使用
(1.1)此步骤为安装createrepo,如果条件允许可以使用公网的yum源进行安装,如果内网可以使用iso进行挂载并且安装,如果都不支持,就需要在‘http://www.rpmfind.net/linux/rpm2html/search.php?query=&submit=Search&system=&arch=’进行自行搜索依赖的rpm包进行手动解除依赖安装,下方演示为本地的iso挂载进行安装:
#将我们的iso镜像挂载到/mnt/cdroom
mount /dev/sr0 /mnt/cdroom
#配置我们的repo配置文件
vi /etc/yum.repo.d/iso.repo
#下方为配置文件内的书写格式
[CentOS7]
name=CentOS 7
baseurl=file:///mnt/cdroom/
enabled=1
gpgcheck=0
#在配置完成后我们使用wq保存退出并且检查下iso的源是否生效
yum repolist
#在本地的iso镜像的yum搭建完成后我们使用yum进行安装createrepo
yum -y install createrepo-0.9.9-28.el7.noarch
(1.2)安装完成后,我们在/目录下创建一个data的目录
mkdir /data
#创建完成后,我们进入/data然后创建repodata的目录
cd /data
mkdir /data/repodata
#创建完成repodata的目录之后我们需要创建一个repomd的索引文件
touch /data/repodata/repomd.xml
#创建完成索引文件后我们进行创建repoment的索引数据命令如下
cd /data/repodata
createrepo -g /data/repodata/repomd.xml /data/repodata/
#上一条命令执行之后我们需要稍等一段时间来生成索引文件,命令的输出如下
Spawning worker 0 with 5038 pkgs
Spawning worker 1 with 5037 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete ##表示成功
(2)在创建完成索引之后我们将Packages.zip压缩包解压到/data
#压缩包为zip格式,链接我会发在下方
unzip Packages.zip /data/
我的百度网盘Packages下载地址,提取码为8888
#将Packages解压缩之后我们会在/data的目录下得到一个Packages的目录
ls /data
#在查看成功后我们进行更改yum的repo文件将库指向本地的yum库
vi /etc/yum.repo.d/iso.repo
#下方为配置文件内的书写格式
[CentOS7]
name=CentOS7
baseurl=file:///data
enabled=1
gpgcheck=0
#接下来就是最后一步啦,我们清空yum的缓存,然后重新生成缓存命令如下
yum clean all
yum repolist
#####至此本地的yum库就搭建完毕了#####
如有不足请大家及时指教