Welcome 微信登录

首页 / 操作系统 / Linux / 如何手工搭建本地Yum仓库

了解:Yum:Yellowdog Updater,Modified的简称,起初由yellow dog发行版的开发者Terra Soft研发,用Python编写,后经杜克大学的Linux@Duke开发团队进行改进,遂有此名。Yum是一个shell前端软件包管理器,基于RPM包管理,能够从指定的服务器自动下载RPM包并安装,可以自动处理依赖关系,并且一次安装所有依赖的软件包。实施:1.挂载:挂载光盘到mnt目录下[root@henry ~]# mount /dev/cdrom /mntmount: block device /dev/sr0 is write-protected, mounting read-only[root@henry ~]# ls /mnt2.创建新文件夹:本地搭建yum仓库需要把光盘Packages包拷贝到本地,在根目录下创建文件夹henry_repo[root@henry ~]# cd /[root@henry /]# mkdir henry_repo3.拷贝:并将Packages包拷贝到新建文件夹中,注意实际路径[root@henry /]# cd /mnt[root@henry mnt]# cp -rv Packages /henry_repo/4.安装必要工具包:包拷贝完成之后需要构建yum使用的数据库,以xml文件形式存在,该数据库会对所有包进行分类建立索引,方便yum程序快速搜索安装包和检查包之间的依赖关系。但创建数据库要用到一个工具包createrepo-0.9.9-18.el6.noarch.rpm,默认是没有的,先要对它进行安装[root@henry Packages]# rpm -ivh createrepo-0.9.9-18.el6.noarch.rpm这时候程序提示,此包有一个python-deltarpm的依赖关系包,加上去再次运行[root@henry Packages]# rpm -ivh createrepo-0.9.9-18.el6.noarch.rpm python-deltarpm-3.5-0.5.20090913git.el6.i686.rpm此时程序再次提示,python-deltarpm这个包也存在一个deltarpm = 3.5-0.5.20090913git.el6的依赖关系包,最后,加上去三个包一起运行,并安装成功。[root@henry Packages]# rpm -ivh createrepo-0.9.9-18.el6.noarch.rpm python-deltarpm-3.5-0.5.20090913git.el6.i686.rpm deltarpm-3.5-0.5.20090913git.el6.i686.rpm5.创建yum数据库:安装完成后,就可使用createrepo进行创建yum数据库。创建之前注意在原光盘里面repodata文件夹下,这个末尾为comps.xml的分类文件(系统版本不一样,实际情况也不太一样,本机显示的是3f开头comps.xml结尾)也要一并拷贝过来并重建。[root@henry Packages]# createrepo -g /mnt/repodata/3fe289964708818d65e318fae9784208fdb73f21560f21b524582a87c170a677-c6-i386-comps.xml .运行完成后,在Packages文件夹里面就会生成一个repodata的文件夹,里面存放着yum工作所需要的索引仓库,保存了所有的软件包索引信息。当使用yum进行安装时,会直接读取这些索引信息,而不必去逐一扫描软件包。6.创建yum配置文件:单独创建自己的配置文件。进入yum.repos.d文件夹,创建henry.repo文件并进行编辑。文件名随意起,但需要.repo结尾。[root@henry repodata]# cd /etc/yum.repos.d/[root@henry yum.repos.d]# lsCentOS-Base.repoCentOS-Debuginfo.repoCentOS-Media.repoCentOS-Vault.repo[root@henry yum.repos.d]# vi henry.repo以上是文件编辑内容第一行:yum仓库名字,任意。第二行:详细名字,任意。第三行:仓库路径。baseurl为关键字file:// 告诉yum为本地仓库/henry_repo/Packages/ 为绝对路径第四行:关闭rpm包的gpg校验功能。如果个人环境,建议关闭,参数值为0,如果生产环境,建议打开,参数值为1最后保存退出。7.更换yum源并刷新:CentOS6.5默认使用yum.repos.d文件夹下的CentOS-Base.repo配置文件,该文件在yum进行安装包时会进行联网下载操作。现在替换成自己本地的yum源。把原来的文件名称改掉即可。[root@henry yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.backup最后,清理yum缓存,并重新加载。[root@henry yum.repos.d]# yum clean all[root@henry yum.repos.d]# yum list现在,可以通过yum进行安装软件包,程序将自动解决包依赖问题。[root@henry yum.repos.d]# yum install gcc*更多YUM相关教程见以下内容:RedHat 6.2 Linux修改yum源免费使用CentOS源 http://www.linuxidc.com/Linux/2013-07/87383.htm配置EPEL YUM源 http://www.linuxidc.com/Linux/2012-10/71850.htmRedhat 本地yum源配置 http://www.linuxidc.com/Linux/2012-11/75127.htmyum的配置文件说明 http://www.linuxidc.com/Linux/2013-04/83298.htmRedHat 6.1下安装yum(图文) http://www.linuxidc.com/Linux/2013-06/86535.htmYUM 安装及清理 http://www.linuxidc.com/Linux/2013-07/87163.htmCentOS 6.4上搭建yum本地源 http://www.linuxidc.com/Linux/2014-07/104533.htm本文永久更新链接地址