-
总体说明
你,是不是经常遇到rpm包环环相扣无穷无尽,而自己的主机又不能连外网的事情!
你,是不是总是面对着一个又一个的rpm安装error,深受其害而夜不能寐!
那还等什么?赶快整一个本地yum源出来吧!
友情提示:基于你下载的yum源,可能还是会有yum不了的软件。所以本地yum源只是缓解你一部分的痛苦而已。
操作步骤
1、下载yum源
2、导入yum源到系统本地
3、配置yum源
4、进行测试
感谢大佬 no_ob 的博文,让我对整个流程有了比较到位的认识。
博客网址:https://blog.csdn.net/no_ob/article/details/78668255
-
详细的操作说明(以CentOS6.5为例)
------------------------------------------------------
题外话:
CentOS 6与CentOS 7系列的安装包有所不同。
CentOS 6一般会有两个分开的安装包,
而CentOS 7一般是单独一个安装包即可。
CentOS 6系列 | CentOS 7系列 |
------------------------------------------------------
1、下载yum源
我们使用CentOS6.5版本来做yum源。
感谢大佬 你的破壁人呀 的文章,让我们知道了如何下载到准确的镜像文件。
博客网址:https://blog.csdn.net/sinat_36564972/article/details/81560395
这里我直接放出镜像源的位置
https://vault.centos.org/6.5/isos/x86_64/
可以选择下载两个ISO镜像文件,也可以选择把torrent(种子)下下来,然后通过torrent下载两个ISO文件,结果都是一样的。
2、导入yum源到系统本地
这里是下好的ISO镜像
因为CentOS6.5有两个ISO镜像,所以我们最好是将它们挂载后保存在系统里的某个目录中。
将其导入到Linux系统中的方法有两种
(1)CD挂载法
使用虚拟机的朋友、使用物理机但有光驱的朋友看这里。
首先将ISO镜像放在光驱中。(用虚拟机的朋友则使用虚拟光驱读取ISO镜像)
这里是一个镜像一个镜像进行挂载的,不是同时挂载两个的
----------------------------------------------------------------------------------------
在/mnt目录里建一个搭载点,然后使用mount命令将光驱挂载上去
mkdir /mnt/cdrom mount /dev/cdrom /mnt/cdrom
可以使用 ls /mnt/cdrom/ 命令查看一下是否挂载成功。
接下来我们在本地建一个目录用于存放镜像文件内容,然后将挂载的镜像内容复制过来。(这里选用/var目录)
mkdir /var/yumrepo mkdir /var/yumrepo/cdrom #用于存放第一个镜像内容 mkdir /var/yumrepo/cdrom2 #用于存放第二个镜像内容 mkdir /var/yumrepo/bk #用于在需要的时候做备份,防止后面某些操作失误时导致功亏一篑
然后分别镜像拷入对应的目录中(第二张镜像是拷入 /var/yumrepo/cdrom2 中)
cp -r /mnt/cdrom/* /var/yumrepo/cdrom
----------------------------------------------------------------------------------------
(2)ISO挂载法
使用远程控制Linux系统的朋友会麻烦一些。
你可以直接将ISO文件解压,然后将所有的内容直接拷入系统的本地目录中。
这里提供的是不解压ISO直接放进去的过程。
----------------------------------------------------------------------------------------
创建一个目录存放镜像和两个挂载点
mkdir /root/iso
mkdir /mnt/iso mkdir /mnt/iso2
将ISO镜像整个拷入该目录中(拷入的方法自行决定)
然后挂载ISO镜像
mount -o loop 镜像文件名 /mnt/iso
mount -o loop 镜像文件2名 /mnt/iso2
可以使用 ls /mnt/iso/ 命令查看一下是否挂载成功。
接下来我们在本地建一个目录用于存放镜像文件内容,然后将挂载的镜像内容复制过来。(这里选用/var目录)
mkdir /var/yumrepo mkdir /var/yumrepo/cdrom #用于存放第一个镜像内容 mkdir /var/yumrepo/cdrom2 #用于存放第二个镜像内容 mkdir /var/yumrepo/bk #用于在需要的时候做备份,防止后面某些操作失误时导致功亏一篑
然后分别镜像拷入对应的目录中
cp -r /mnt/iso/* /var/yumrepo/cdrom
cp -r /mnt/iso2/* /var/yumrepo/cdrom2
考完之后,如下图所示。
第一个镜像内容应该是这样。
第二个镜像内容应该是这样。
3、配置yum源
那么首先我们可以看到,有两个
感谢大佬 weixin_34327761 的博文,给我们提供了如何将两个镜像文件合并的方法
博客网址:https://blog.csdn.net/weixin_34327761/article/details/92771717
那么直接描述一下:
从上方的镜像截图中,我们可以看到第二个镜像内容中的文件目录只有一个,也就是Packages目录.
Packages目录里面放着的是一堆rpm软件包、以及一个TRANS.TBL文件(TRANS.TBL里记录着其所在目录中所有文件的扩展版文件名)。
第二个镜像里主要是多了这些rpm包作为第一个镜像的补充。
所以要合并两个镜像,只需要把第二个镜像里的Packages内容添加到第一个镜像的Packages里,再更新一下TRANS.TBL就行了。
首先是复制Packages包内容
cd /var/yumrepo cp cdrom2/Packages/* cdrom/Packages/
注意:此处会询问你是否覆盖TRANS.TBL,一定要选否。
如果时间充裕的话,建议提前先备好份,以防止操作失误。
然后将第二个镜像中的TRANS.TBL内容追加到第一个镜像中的TRANS.TBL中,并重新排序
cd /var/yumrepo cat cdrom2/Packages/TRANS.TBL >> cdrom/Packages/TRANS.TBL #将第二个镜像的软件包信息追加到第一个镜像中 cd cdrom/Packages cp TRANS.TBL TRANS.TBL.bk sort TRANS.TBL.bk > TRANS.TBL #重新排序 rm TRANS.TBL.bk
这样合并工作就完成了。
接下来就需要回到/etc/yum.repos.d里进行yum的配置
cd /etc/yum.repos.d mkdir bk mv 原本存在于yum.repos.d目录下的所有repo文件 bk/ #由于是本地环境,所以系统自带的repo用不上 vim localyum.repo #如果没有vim工具,可以先用vi
在localyum.repo中添加下列配置信息
[local] name=local baseurl=file:///var/yumrepo/cdrom enable=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
注意这里的gpgkey(公钥),如果你是RedHat6.5的用户的话,那么请设置成 gpgkey=file:///var/yumrepo/cdrom/RPM-GPG-KEY-CentOS-6 。
配置完yum之后,需要输入yum clean all和 yum makecache ,刷新yum配置信息。
大概会出现下列界面:
4、进行测试
最后就是测试环节了。
很简单,测试一下CentOS6.5迷你版所没装的软件就行了。
本博文选择的是tree来进行测试。
以上就是在CentOS6.5中搭建本地yum源的方法。
如果你有什么任何问题或者对本文有看法,欢迎在下方评论区留言。
希望我们能共同进步!!!
最后再次感谢上面参考的博主们!