首页 > 代码库 > yum源搭建

yum源搭建

/etc/yum.config介绍:

[main]

cachedir=/var/cache/yum         #yum下载的RPM包的缓存目录

keepcache=0             #缓存是否保存,1保存,0不保存。

debuglevel=2             #调试级别(0-10),默认为2(具体调试级别的应用,我也不了解)。

logfile=/var/log/yum.log         #yum的日志文件所在的位置

exactarch=1             #在更新的时候,是否允许更新不同版本的RPM包,比如是否在i386上更新i686的RPM包。

obsoletes=1             #这是一个update的参数,具体请参阅yum(8),简单的说就是相当于upgrade,允许更新陈旧的RPM包。

gpgcheck=1             #是否检查GPG(GNU Private Guard),一种密钥方式签名。

plugins=1             #是否允许使用插件,默认是0不允许,但是我们一般会用yum-fastestmirror这个插件。

installonly_limit=3         #允许保留多少个内核包。

exclude=selinux*         #屏蔽不想更新的RPM包,可用通配符,多个RPM包之间使用空格分离。

 

.repo文件介绍:

CentOS-Base.repo 是yum 网络源的配置文件

CentOS-Media.repo 是yum 本地源的配置文件


配置本地yum源:

1、挂载系统安装光盘

# mount/dev/cdrom /mnt/cdrom/

2、配置本地yum源

# cd/etc/yum.repos.d/

# ls

会看到四个repo 文件

 

在baseurl中修改第2个路径为/mnt/cdrom(即为光盘挂载点)

将enabled=0改为1

 

将yum网络源配置文件改名为CentOS-Base.repo.bak,否则会先在网络源中寻找适合的包,改名之后直接从本地源读取。

 

 

centos搭建本地yum源:

1.挂载系统光盘

Mount  /dev/cdrom  /mnt/cdrom

2.修改本地yum的配置文件

Vi /etc/yum.repos.d/

修改Media.repo后缀的文件

修改baseurl路径为/mnt/cdrom,enabled为1

将yum网络源配置文件改名为Base.repo.bak,否则会先在网络源中寻找适合的包,改名之后直接从本地源读取。

 

 

redhat搭建本地yum源

1.挂载安装盘到系统

2,复制系统盘中的文件到本系统中

cp -r/mnt/Server /var/ftp/pub

3.安装createrepo软件包

rpm -ivhcreaterepo*

4.安装 createrepo 软件包

     a) #cd /mnt

     b) rpm -ivh createrepo*

  5. 生成依赖关系

     a) #createrepo -g/var/ftp/pub/Server/repodata/comps-rhel5-server-core. xml

        /var/ftp/pub/Server/

     b) 这里要注意,一定是给本地文件 /var/ftp/pub/Server/ 创建依赖关系,而不是/mnt/Server

  6. 创建仓库文件

     a) 仓库文件必须以.repo 结尾,名字可以乱起

     b) vim /etc/yum.repos.d/rhel-debuginfo.repo

  – [server]

  – name=server

  – baseurl=file:///var/ftp/pub/Server

  – enabled=1

  – gpgcheck=0

  – 保存退出

• 如果上面几步都没有错误,那么我们的 yum 源就已经搭建成功

  了

• 通过该条命令测试是否成功

  – #yumupdate   如果没有报错,那证明已经成功了

• 接下来我们安装软件就非常便捷了,只要系统盘中有该软件包

  ,我们只需“ yum install” 软件名即可

 

若要搭建局域网内的yum源供其他机器使用时要注意linux版本的问题,在rhel5中以rhel6及更高版本为yum源时,可能报错

Loaded plugins: product-id, security, subscription-manager
Updating Red Hat repositories.
updates/primary_db                                                                                                                              | 3.9 MB     00:08     
http://mirrors.163.com/centos/6/updates/x86_64/repodata/089ffc52adc1028b3024fdc87690886c811b6c32b0e82eb5025a55ddd1ea897c-primary.sqlite.bz2: [Errno -3] Error performing checksum
Trying other mirror.
Error: failure: repodata/089ffc52adc1028b3024fdc87690886c811b6c32b0e82eb5025a55ddd1ea897c-primary.sqlite.bz2 from updates: [Errno 256] No more mirrors to try.

 

主要是由于rhel5和rhel6中的校验方式不一样,在服务器端修改校验方式即可,(正对yum源的所有包)

createrepo -s md5  /mnt/Server

 

Publickey for apr-util-1.2.7-11.el5_5.1.i386.rpm is notinstalled解决方法

此时要导入rpm的签名信息即可

以root登录,执行下面命令

# rpm--import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

 

根据我的Linux版本是CentOS 5.4

于是我执行下面命令

#rpm --import/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

 

yum cleanall   重新生成源

yum源搭建