首页 > 代码库 > 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源搭建