详解本地yum仓库repository

YUM(Yellow dog Updater,Modified)主要的功能是方便添加、删除和更新rpm软件包。可以解决软件包依存问题,更便于管理大量的系统更新问题。它可以同时配置多个仓库或叫资源库(repository),就是存放更新和依存的软件包的地方。

在安装Red Hat Enterprise Linux过程中,默认是不安装所有软件包的,等到我们需要时再手动安装。通常有两种方法:

1.通过rpm -ivh <package>命令手动安装。

2.通过注册RHN(Red Hat Network)帐号,然后由yum连接到RHN Satellite服务器上去解决更新和软件包依存关系等问题。这种方法需要能连接到internet。

如果没有RHN帐号则可以使用本地yum仓库

本地yum仓库就是把系统安装光盘里的内容复制到本地磁盘中,通过配置yum,让其访问这个本地磁盘,解决软件包依存关系,但不能更新软件包。

在制作yum仓库时需要一个软件包:createrepo-0.9.8-4.el6.noarch

createrepo是linux下的创建仓库的软件包。create是创建的意思,repo是repository的缩写,是仓库的意思。

repodata作为软件的仓库,其目录下有四个必要文件:*-filelists.xml.gz,*-other.xml.gz,*-primary.xml.gz和repomd.xml,通常也会有软件包组文件*-comps-*.xml[.gz],其中最主要的是repomd.xml文件

createrepo [options] <directory>
-o 指定repodata目录的输出路径
-g 指定查找组文件的位置
-x 排除某个软件包
--update 只更新在上次产生metadate之后被改变的(后接已存在的repodata目录)
=================================================================
创建属于自己的本地yum源(可以将自己收集到的rpm软件包制作成yum仓库,既便于管理软件包又可解决软件包的依赖关系)
1.挂载光盘或系统镜像并拷贝所有的软件包到一个目录中
[root@rhel6 ~]# mount /dev/cdrom /media/
[root@rhel6 ~]# mount -o loop issue.iso /media/
[root@rehl6 ~]# cp -rp /media/{Packages,Server} /var/ftp/pub/RHEL6/

2.安装createrepo
[root@rhel6 ~]# rpm -ivh /var/ftp/pub/RHEL6/Packages/createrepo-0.9.8-4.el6.noarch

3.创建yum repository的xml-rpm-metadata
[root@rhel6 ~]# cd /var/ftp/pub/RHEL6
[root@rhel6 RHEL6]# createrepo -o ./ Packages
3596/3596 - Packages/compat-db42-4.2.52-15.el6.i686.rpm
Saving Primary metadata
Saving file lists metadata
Saving other metadata
//将在/var/ftp/pub/RHEL6目录下生成repodata目录,并将filelists、other、primary、repomd添加到yum的元数据库repodata中

[root@rhel6 RHEL6]# ls repodata/
filelists.xml.gz other.xml.gz primary.xml.gz repomd.xml

[root@rehl6 RHEL6]# createrepo -o ./ -g Server/repodata/*-comps-rhel6-Server.xml ./
3596/3596 - Packages/compat-db42-4.2.52-15.el6.i686.rpm
Saving Primary metadata
Saving file lists metadata
Saving other metadata
//将rpm包组文件加入到YUM源的数据库中(yum grouplist)

[root@rhel6 RHEL6]# ls repodata/
8afad1febf2d8844a235a9ab1aa5f15c9cec1219b9d01060d4794435cf59dffe-comps-rhel6-Server.xml
other.xml.gz
8afad1febf2d8844a235a9ab1aa5f15c9cec1219b9d01060d4794435cf59dffe-comps-rhel6-Server.xml.gz
primary.xml.gz
filelists.xml.gz
repomd.xml

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/20053.html