1、安装依赖服务
#命令
[root@kolla~]# yum install yum-utils createrepo yum-plugin-priorities reposync httpd -y
2、配置yum为阿里源,以openstack queens为例
#命令
[root@kolla~]# cd /etc/yum.repos.d/
[root@kolla~]# vim queens.repo
[queens]
name=queens
baseurl=https://mirrors.aliyun.com/centos/7/cloud/x86_64/openstack-queens/
enabled=1
gpgcheck=0
3、同步到本地
#命令
[root@kolla~]# yum clean all
[root@kolla~]# yum makecache
[root@kolla~]# mkdir -p /data/openstack
[root@kolla~]# reposync -p /data/openstack/ -n --repoid=queens
[root@kolla~]# createrepo -po /data/openstack/queens/ /data/openstack/queens/
4、http将本地源发布出来(也可以使用nginx来发布)
#命令
[root@kolla~]# vim /etc/httpd/conf/httpd.conf
119行将DocumentRoot "/var/www/html"改为DocumentRoot "/data/"
131行将<Directory "/var/www/html">改为<Directory "/data/">
5、修改yum源配置,测试yum及生成缓存文件
#命令
[root@kolla~]# vim /etc/yum.repos.d/queens.repo
[queens]
name=queens
baseurl=http://192.168.1.88/openstack/queens
enabled=1
gpgcheck=0
[root@kolla~]# yum clean all
[root@kolla~]# yum makecache
[root@kolla~]# yum repolist all
6、验证httpd服务
浏览器地址栏输入http://192.168.1.88/openstack验证
附reposync参数:
Options:
-h, --help 显示此帮助消息并退出
-c CONFIG, --config=CONFIG
要使用的配置文件(默认为/etc/yum.conf)
-a ARCH, --arch=ARCH 像运行指定的arch一样(默认值:current
arch,注意:不会覆盖$ releasever。 x86_64是一个
i * 86的超集。)
--source 在源包上运行
-r REPOID, --repoid=REPOID
指定repo id来查询,可以指定多个次(默认全部启用)
-e CACHEDIR, --cachedir=CACHEDIR 用于存储元数据的目录
-t, --tempcache 使用临时目录存储/访问yum-cache
-d, --delete 删除存储库中不再存在的本地包
-p DESTDIR, --download_path=DESTDIR 下载包的路径:默认为当前目录
--norepopath 不要将reponame添加到下载路径。只可以
在同步单个存储库时使用(默认为
添加reponame)
-g, --gpgcheck 删除未通过GPG签名检查的软件包
-u, --urls 只列出要下载的URL,不要下载
-n, --newest-only 仅下载per-repo的最新软件包
-q, --quiet 尽可能少地输出
-l, --plugins 启用yum插件支持
-m, --downloadcomps 下载comps.xml
--download-metadata 下载所有非默认元数据
--allow-path-traversal 允许存储在其repo目录之外的包,同步(UNSAFE,小心使用!)
附createrepo 参数:
-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来存储生成的元数据,默认项。
来源:51CTO
作者:love8度幸福
链接:https://blog.51cto.com/8355320/2481528