centos 本地yum源配置
在linux 包的管理上,我们都知道,大部分是有依赖关系的,那么依赖关系是什么呢,也就是说,当你需要装一个包的时候,你的这个包,可能还需要其它的库文件,而这个库文件,是来自某一个包的,假设这个包名叫做A,那么,你需要先安装A,这个A还需要其它的库,那个库又来自B包,依此类推,这安装一个包,真是够麻烦的。
好在有yum,yum是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。正好解决了这些依赖问题。
可偏偏,有的时候,因为某些原因,我们的linux服务器,不能连接互联网,我们知道,yum是连接到互联网上的服务器去下载包的,是不是这样就没用yum了?答案是否定的,我们可以利用安装光盘,制作本地yum源。
本次试验环境使用CentOS 6.7
先使用xmanager winscp 等,把光盘镜像文件,传到服务器上,本次实验环境,就放到 /data 目录下吧,这里要说一下,必须要是完整的光盘映像,minimal netinstall liveCD,这些,包都不全,只有最基本的包。不知道怎么区分的,可以看映象文件的大小,只有几百兆的,那肯定不是完整的安装光盘镜像
挂载光盘映象文件,并把包复制到本地,本次环境的两个光盘映象文件名是:CentOS-6.7-x86_64-bin-DVD1.iso CentOS-6.7-x86_64-bin-DVD2.iso
1mkdir /yum
2mount -t iso9660 -r -o ro,loop /data/CentOS-6.7-x86_64-bin-DVD1.iso /mnt
3cp -ar /mnt* /yum
4umount /mnt
5mount -t iso9660 -r -o ro,loop /data/CentOS-6.7-x86_64-bin-DVD2.iso /mnt
6cp /mnt/Packages/*.rpm /mnt/Packages/
7umount /mnt
文件复制完成以后,我们来配置一下yum源,先在 /data 下创建一个文件夹,把原有yum配置文件移动到这下面,也正好做了一个备份
1mkdir /data/yum.backup
2mv /etc/yum.repos.d/* /data/yum.backup/
使用 vim 创建并一个配置文件。名字随便起,注意必须要以 .repo 结尾,这里我就叫 local 吧
1vim /etc/yum.repos.d/local.repo
写上下面的内容
1[local]
2name=local
3baseurl=file:///yum
4enabled=1
5gpgcheck=0
完成后,保存退出
到这里,我们配置完成了,可以使用yum来安装了,这里我来安装一个 gcc 来试验一下
1sudo yum install gcc
2Loaded plugins: fastestmirror
3Setting up Install Process
4Loading mirror speeds from cached hostfile
5Resolving Dependencies
6--> Running transaction check
7---> Package gcc.x86_64 0:4.4.7-16.el6 will be installed
8--> Processing Dependency: libgomp = 4.4.7-16.el6 for package: gcc-4.4.7-16.el6.x86_64
9--> Processing Dependency: cpp = 4.4.7-16.el6 for package: gcc-4.4.7-16.el6.x86_64
10--> Processing Dependency: glibc-devel >= 2.2.90-12 for package: gcc-4.4.7-16.el6.x86_64
11--> Processing Dependency: cloog-ppl >= 0.15 for package: gcc-4.4.7-16.el6.x86_64
12--> Processing Dependency: libgomp.so.1()(64bit) for package: gcc-4.4.7-16.el6.x86_64
13--> Running transaction check
14---> Package cloog-ppl.x86_64 0:0.15.7-1.2.el6 will be installed
15--> Processing Dependency: libppl_c.so.2()(64bit) for package: cloog-ppl-0.15.7-1.2.el6.x86_64
16--> Processing Dependency: libppl.so.7()(64bit) for package: cloog-ppl-0.15.7-1.2.el6.x86_64
17---> Package cpp.x86_64 0:4.4.7-16.el6 will be installed
18--> Processing Dependency: libmpfr.so.1()(64bit) for package: cpp-4.4.7-16.el6.x86_64
19---> Package glibc-devel.x86_64 0:2.12-1.166.el6 will be installed
20--> Processing Dependency: glibc-headers = 2.12-1.166.el6 for package: glibc-devel-2.12-1.166.el6.x86_64
21--> Processing Dependency: glibc-headers for package: glibc-devel-2.12-1.166.el6.x86_64
22---> Package libgomp.x86_64 0:4.4.7-16.el6 will be installed
23--> Running transaction check
24---> Package glibc-headers.x86_64 0:2.12-1.166.el6 will be installed
25--> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers-2.12-1.166.el6.x86_64
26--> Processing Dependency: kernel-headers for package: glibc-headers-2.12-1.166.el6.x86_64
27---> Package mpfr.x86_64 0:2.4.1-6.el6 will be installed
28---> Package ppl.x86_64 0:0.10.2-11.el6 will be installed
29--> Running transaction check
30---> Package kernel-headers.x86_64 0:2.6.32-573.el6 will be installed
31--> Finished Dependency Resolution
32
33Dependencies Resolved
34
35============================================
36Package Arch Version Repository Size
37============================================
38Installing:
39gcc x86_64 4.4.7-16.el6 local 10 M
40Installing for dependencies:
41cloog-ppl x86_64 0.15.7-1.2.el6 local 93 k
42cpp x86_64 4.4.7-16.el6 local 3.7 M
43glibc-devel x86_64 2.12-1.166.el6 local 985 k
44glibc-headers x86_64 2.12-1.166.el6 local 614 k
45kernel-headers x86_64 2.6.32-573.el6 local 3.9 M
46libgomp x86_64 4.4.7-16.el6 local 134 k
47mpfr x86_64 2.4.1-6.el6 local 157 k
48ppl x86_64 0.10.2-11.el6 local 1.3 M
49
50Transaction Summary
51=============================================
52Install 9 Package(s)
53
54Total download size: 21 M
55Installed size: 39 M
56Is this ok [y/N]:
好了,出现询问你是否要安装,代表已经配置成功!!