centos 本地yum源配置

使用 yum 来安装软件,可以自动的解决软件包之间的依赖关系,但有的时候,我们的 linux 服务器并不能上网,所以这种场景下,就必须要制作一个本地的 yum 源了

在linux 包的管理上,我们都知道,大部分是有依赖关系的,那么依赖关系是什么呢,也就是说,当你需要装一个包的时候,你的这个包,可能还需要其它的库文件,而这个库文件,是来自某一个包的,假设这个包名叫做A,那么,你需要先安装A,这个A还需要其它的库,那个库又来自B包,依此类推,这安装一个包,真是够麻烦的。

好在有yum,yum是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。正好解决了这些依赖问题。

可偏偏,有的时候,因为某些原因,我们的linux服务器,不能连接互联网,我们知道,yum是连接到互联网上的服务器去下载包的,是不是这样就没用yum了?答案是否定的,我们可以利用安装光盘,制作本地yum源。

本次试验环境使用CentOS 6.7

先使用xmanager winscp 等,把光盘镜像文件,传到服务器上,本次实验环境,就放到 /root目录下吧,这里要说一下,必须要是完整的光盘映像,minimal  netinstall liveCD,这些,包都不全,只有最基本的包。不知道怎么区分的,可以看映象文件的大小,只有几百兆的,那肯定不是完整的安装光盘镜像

挂载光盘映象文件,并把包复制到本地,本次环境的两个光盘映象文件名是:CentOS-6.7-x86_64-bin-DVD1.iso  CentOS-6.7-x86_64-bin-DVD2.iso

mkdir /yum
mount -t iso9660 -r -o ro,loop /root/CentOS-6.7-x86_64-bin-DVD1.iso /mnt
cp -ar /mnt* /yum
umount /mnt
mount -t iso9660 -r -o ro,loop /root/CentOS-6.7-x86_64-bin-DVD2.iso /mnt
cp  /mnt/Packages/*.rpm /mnt/Packages/
umount /mnt

文件复制完成以后,我们来配置一下yum源,先在 /root 下创建一个文件夹,把原有yum配置文件移动到这下面,也正好做了一个备份

mkdir /root/yum.backup
mv /etc/yum.repos.d/* /root/yum.backup/

使用 vim 创建并一个配置文件。名字随便起,注意必须要以 .repo 结尾,这里我就叫 local 吧

vim /etc/yum.repos.d/local.repo

写上下面的内容

[local]
name=local
baseurl=file:///yum
enabled=1
gpgcheck=0

完成后,保存退出

到这里,我们配置完成了,可以使用yum来安装了,这里我来安装一个 gcc 来试验一下

[root@localhost ~]# yum install gcc
Loaded plugins: fastestmirror
Setting up Install Process
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package gcc.x86_64 0:4.4.7-16.el6 will be installed
--> Processing Dependency: libgomp = 4.4.7-16.el6 for package: gcc-4.4.7-16.el6.x86_64
--> Processing Dependency: cpp = 4.4.7-16.el6 for package: gcc-4.4.7-16.el6.x86_64
--> Processing Dependency: glibc-devel >= 2.2.90-12 for package: gcc-4.4.7-16.el6.x86_64
--> Processing Dependency: cloog-ppl >= 0.15 for package: gcc-4.4.7-16.el6.x86_64
--> Processing Dependency: libgomp.so.1()(64bit) for package: gcc-4.4.7-16.el6.x86_64
--> Running transaction check
---> Package cloog-ppl.x86_64 0:0.15.7-1.2.el6 will be installed
--> Processing Dependency: libppl_c.so.2()(64bit) for package: cloog-ppl-0.15.7-1.2.el6.x86_64
--> Processing Dependency: libppl.so.7()(64bit) for package: cloog-ppl-0.15.7-1.2.el6.x86_64
---> Package cpp.x86_64 0:4.4.7-16.el6 will be installed
--> Processing Dependency: libmpfr.so.1()(64bit) for package: cpp-4.4.7-16.el6.x86_64
---> Package glibc-devel.x86_64 0:2.12-1.166.el6 will be installed
--> Processing Dependency: glibc-headers = 2.12-1.166.el6 for package: glibc-devel-2.12-1.166.el6.x86_64
--> Processing Dependency: glibc-headers for package: glibc-devel-2.12-1.166.el6.x86_64
---> Package libgomp.x86_64 0:4.4.7-16.el6 will be installed
--> Running transaction check
---> Package glibc-headers.x86_64 0:2.12-1.166.el6 will be installed
--> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers-2.12-1.166.el6.x86_64
--> Processing Dependency: kernel-headers for package: glibc-headers-2.12-1.166.el6.x86_64
---> Package mpfr.x86_64 0:2.4.1-6.el6 will be installed
---> Package ppl.x86_64 0:0.10.2-11.el6 will be installed
--> Running transaction check
---> Package kernel-headers.x86_64 0:2.6.32-573.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

============================================
Package Arch Version Repository Size
============================================
Installing:
gcc x86_64 4.4.7-16.el6 local 10 M
Installing for dependencies:
cloog-ppl x86_64 0.15.7-1.2.el6 local 93 k
cpp x86_64 4.4.7-16.el6 local 3.7 M
glibc-devel x86_64 2.12-1.166.el6 local 985 k
glibc-headers x86_64 2.12-1.166.el6 local 614 k
kernel-headers x86_64 2.6.32-573.el6 local 3.9 M
libgomp x86_64 4.4.7-16.el6 local 134 k
mpfr x86_64 2.4.1-6.el6 local 157 k
ppl x86_64 0.10.2-11.el6 local 1.3 M

Transaction Summary
=============================================
Install 9 Package(s)

Total download size: 21 M
Installed size: 39 M
Is this ok [y/N]:

好了,出现询问你是否要安装,代表已经配置成功!!

猜您喜欢
    2条评论
    • 0
      小小白 回复

      不错,我是一个菜鸟,正好有个客户有这样的需求,按照博主的操作,完全可以实现啊,感谢博主 :mrgreen:

      • ainy 回复私信

        谢谢,多多支持本站,欢迎多多光临哦。