创建yum源服务,主要用到了两个软件createrepo
和httpd
。前者是创建yum源索引的工具,后者是提供文件在线流浪的功能,当然,除了httpd
之外,你也可以使用nginx
替代。
createrepo
yum –y install createrepo 安装建yum源仓库的工具,可以用来建立yum仓库索引
man createrepo
用途:
Create repomd (xml-rpm-metadata) repository
参数说明
-u --baseurl指定Base URL的地址-o --outputdir 指定元数据的输出位置 -x --excludes 指定在形成元数据时需要排除的包 -i --pkglist 指定一个文件,该文件内的包信息将被包含在即将生成的元数据中,格式为每个包信息独占一行,不含通配符、正则,以及范围表达式。 -n --includepkg 通过命令行指定要纳入本地库中的包信息,需要提供URL或本地路径。 -q --quiet 安静模式执行操作,不输出任何信息.-g --groupfile 指定本地软件仓库的组划分,范例如下: createrepo -g comps.xml /path/to/rpms 注意:组文件需要和rpm包放置于同一路径下。 -v --verbose 输出详细信息。 -c --cachedir 指定一个目录,用作存放软件仓库中软件包的校验和信息。 当createrepo在未发生明显改变的相同仓库文件上持续多次运行时,指定cachedir会明显提高其性能。 --update 如果元数据已经存在,且软件仓库中只有部分软件发生了改变或增减, 则可用update参数直接对原有元数据进行升级,效率比重新分析rpm包依赖并生成新的元数据要高很多。 -p --pretty 以整洁的格式输出xml文件。 -d --database 该选项指定使用SQLite来存储生成的元数据,默认项。
创建的目录为:/data/mirrors/x86_64
执行命令:
createrepo /data/mirrors/x86_64 # 会默认在`/data/mirrors/x86_64`下创建repodata的索引目录
当然,你也可以显示的加一下参数,指定repodata
的位置:
createrepo -qdo /data/mirrors/x86_64 /data/mirrors/x86_64 # -0 后面指定的是repodata索引目录位置
当软件仓库中包含很多软件包时,没有必要每次都为每个软件包重新创建元数据,浪费时间。可以执行createrepo --update /data/mirrors/x86_64
更新索引。
验证
配置上新增的源,执行命令查看源软件列表:
yum list available
** 注意:及时源刷新OK,本地需要yum makecache才会显示最新列表**
参考:
httpd
http文件服务器安装:
yum install -y httpd
参数说明
ServerRoot "/etc/httpd" #你的apache安装目录。其它指定的目录如果没有指定绝对路径,则目录是相对于该目录。ServerName www.xxx.com:端口号(默认是80) #主站点名称(网站的主机名)。ServerAdmin admin@126.com #管理员的邮件地址DocumentRoot "/data/app" #主站点的网页存储位置Directory 语句就是用来定义目录的访问限制的,这里可以看出它的标准语法,为一个目录定义访问限制。上例的这个设置是针对系统的根目录进行的
配置文件在/etc/httpd/conf/httpd.conf
。
Options Indexes FollowSymLinks IndexOptions Charset=UTF-8 IndexOptions NameWidth=* AllowOverride All Order Deny,Allow Allow from all Require all granted
支持监听多端口,配置对应不同目录
除了监听80
端口之外,再新增监听8080
端口,同时,对应不同的目录michael
,站点配置如下:
Listen 8080ServerName www.example.com DocumentRoot /data/michael Options Indexes FollowSymLinks IndexOptions Charset=UTF-8 IndexOptions NameWidth=* AllowOverride All Order Deny,Allow Allow from all Require all granted
参考: