创建镜像源索引文件

createrepo 命令用于创建yum源(软件仓库),即为存放于本地特定位置的众多rpm包建立索引,描述各包所需依赖信息,并形成元数据。

语法:

createrepo [option] <directory>

参数选项说明

-u  --baseurl <url>
    指定Base URL的地址


-o --outputdir <url>
    指定元数据的输出位置


-x --excludes <packages>
    指定在形成元数据时需要排除的包


-i --pkglist <filename>
    指定一个文件,该文件内的包信息将被包含在即将生成的元数据中,格式为每个包信息独占一行,不含通配符、正则,以及范围表达式。


-n --includepkg
    通过命令行指定要纳入本地库中的包信息,需要提供URL或本地路径。


-q --quiet
    安静模式执行操作,不输出任何信息。


-g --groupfile <groupfile>
    指定本地软件仓库的组划分,范例如下:
createrepo -g comps.xml /path/to/rpms
    注意:组文件需要和rpm包放置于同一路径下。


-v --verbose
    输出详细信息。


-c --cachedir <path>
    指定一个目录,用作存放软件仓库中软件包的校验和信息。
    当createrepo在未发生明显改变的相同仓库文件上持续多次运行时,指定cachedir会明显提高其性能。


--update
    如果元数据已经存在,且软件仓库中只有部分软件发生了改变或增减,
    则可用update参数直接对原有元数据进行升级,效率比重新分析rpm包依赖并生成新的元数据要高很多。


-p --pretty
    以整洁的格式输出xml文件。


-d --database
    该选项指定使用SQLite来存储生成的元数据,默认项。


介绍本地openstack源制作方案:

选择一台CentOS服务器,安装以下软件:

1
2
yum install yum-utils createrepo yum-plugin-priorities
yum install httpd

设置httpd

1
2
chkconfig httpd on
service httpd start

获取repo文件并使用reposync同步源

1
2
yum install -y http://rdo.fedorapeople.org/rdo-release.rpm
yum repolist #可以看到源的id列表

同步openstack-icehouse这个repo

1
2
cd /var/www/html/
reposync --repoid=openstack-icehouse

第一次同步时间较长,同步结束后

1
createrepo –update /var/www/html/openstack-icehouse

创建完成后,就可以使用web测试:http://[ip]/openstack-icehouse/


猜你喜欢

转载自blog.csdn.net/yongyong169/article/details/79741294