红联Linux门户
Linux帮助

Linux自己制作yum源和实现远程yum安装

发布时间:2015-03-14 11:15:57来源:linux网站作者:黑穆岐岐

体会到了yum的强大,可以不必在意依附关系,而更重要的是yum的源,一般都可以连接网站,用户可以直接通过yum install **在网上进行自动搜索下载


一.要确定yum源的配置路径

[root@cklovely ~]# ls /etc/yum.repos.d/

你可以把yum源(比如epel2.repo)直接放入到此目录下面,也可以自己建立一个repo源文件,在里面写入配置信息


二.要知道yum源代码的格式

1 [epel]

2 name=Extra Packages for Enterprise Linux 5 - $basearch

3 baseurl=http://mirrors.sohu.com/Fedora-epel/5Server/$basearch

4 failovermethod=priority

5 enabled=1

6 keepcache=1

7 gpgcheck=1

8 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL

解释:

1 方括号里面的是软件源的名称

2 是说明这个源的一些信息

3 这一行的意思是指定一个baseurl(源的镜像服务器地址)

4 priority是默认值,表示从列出的baseurl中顺序选择镜像服务器地址, roundrobin表示在列出的服务器中随机选择

5 这个选项表示这个repo中定义的源是启用的,0为禁用

6 保持缓存 1是,0否 --是否把下载的东西保持到机子上

7 1是,0否 --这个选项表示这个repo中下载的rpm将进行gpg的校验,已确定rpm包的来源是有效和安全的

8 签名的密钥 定义用于校验的gpg密钥

注 $releasever变量定义了发行版本,通常是8,9,10等数字

$basearch变 量定义了系统的架构,可以是i386、x86_64、ppc等值,这两个变量根据当前系统的版本架构不同而有不同的取值,这可以方便yum升级的时候选择适合当前系统的软件包

如果你仔细观察过yum的话,我们大陆用户基本会选择到台.湾的主机作为最快的源,而实际上根据我个人的经验,台湾的源一般都跟蜗牛似的。所以我选择了屏蔽了.tw的源,屏蔽的方式为:

程序代码 sudo vi /etc/yum/pluginconf.d/fastestmirror.conf 添加这一句:exclude=.tw, .twaren.net


三.制作yum源

首先,需要用到的制作yum源的命令createrepo

安装rpm一般都是在安装光盘中

例如,本人所装的是createrepo-0.4.11-3.el5.noarch.rpm

安装完成后就生成了createrepo

找到需要安装源的包例如RPMS

[root@cklovely Desktop]# createrepo RPMS/

32/32 - svgalib-1.9.25-3.el5.i386.rpm

Saving Primary metadata

Saving file lists metadata

Saving other metadata

结束后会在RPMS目录下面生成一个repodata的目录,此目录就是yum需要在里面查找的源,此时已经生成服务器的源,注意,此目录于包是一体的,不能的随意更改路径


四.制作arpch共享

临时搭建arpch

python -m SimpleHTTPServer 80;

注意:此命令一定要在当前需要安装的RPMS中实现


五.yum源安装rpm

在本机或者另外一台机子上的/etc/yum.repos.d/*.repo中添加参数

1 [epel]

2 name=Extra Packages for Enterprise Linux 5 - $basearch

3 baseurl=http://192.168.0.187/

4 failovermethod=priority

5 enabled=1

6 keepcache=1

7 gpgcheck=1    (注意,如果此处选1,后面会出现缺少签名,后面会解决,如果此处为0之后不出错更好)

8 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL

yum search **

yum install 此处填写上一命令显示中粗黑体写的安装包名字(-nogpgcheck)《--- 如果之前配置选1而且出现报错

本人的linux版本  Red Hat RHEL5

Linux version 2.6.18-194.el5 (mockbuild@x86-007.build.bos.RedHat.com) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48))