您的位置:首页 > 运维架构 > Linux

如何手工搭建本地Yum仓库

2016-12-12 15:02 435 查看
了解:
Yum:Yellowdog Updater,Modified的简称,起初由yellow dog发行版的开发者Terra Soft研发,用Python编写,后经杜克大学的Linux@Duke开发团队进行改进,遂有此名。Yum是一个shell前端软件包管理器,基于RPM包管理,能够从指定的服务器自动下载RPM包并安装,可以自动处理依赖关系,并且一次安装所有依赖的软件包。
实施:
1.挂载:挂载光盘到mnt目录下

[root@henry ~]# mount /dev/cdrom /mnt

mount: block device /dev/sr0 is write-protected, mounting read-only

[root@henry ~]# ls /mnt




2.创建新文件夹:本地搭建yum仓库需要把光盘Packages包拷贝到本地,在根目录下创建文件夹henry_repo

[root@henry ~]# cd /

[root@henry /]# mkdir henry_repo




3.拷贝:并将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.rpm




5.创建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]# ls

CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo  CentOS-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*
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux yum