参考一
createrepo是linux下的创建仓库的软件包。create是创建的意思,repo是repository的缩写,是仓库的意思。
yum(Yellow dog Updater,Modified)主要的功能是方便添加、删除和更新rpm软件包。可以解决软件包依存问题,更便于管理大量的系统更新问题。它可以同时配置多个仓库或叫资源库(repository),就是存放更新和依存的软件包的地方。

1、准备文件服务器,以httpd为例,请确保是否已经安装httpd程序包。

[root@localhost /]# rpm -q httpd

httpd-2.2.15-26.el6.centos.x86_64

2、在/var/www/html目录,创建目录openstack,将要制定为yum仓库的rpm包放置于/var/www/html/openstack下。

3、创建yum仓库:

(1)、如果repodata存在,则先删除。

#rm -rf /var/www/html/openstack/repodata

(2)、使用命令createrepo创建yum仓库,执行命令后会生产repodata,这样就成功创建yum仓库。

#createrepo /var/www/html/openstack

备注:如果命令createrepo为安装请先安装createrepo:#yum -y install createrepo

4、启动httpd服务。

#service httpd start

5、配置使用自建的yum仓库。

[openstack]

name=openStack Respository

baseurl=http://127.0.0.1/openstack

enabled=1

gpgcheck=0

参考二

repodata作为软件的仓库,其目录下有四个必要文件:filelists.xml.[gz],other.xml.[gz],primary.xml.[gz]和repomd.xml(md意思是metadata),其中最主要的是repomd.xml文件。一般出现的找不到repodata目录或文件的错误的原因通常有三个:一是路径问题;二是没有生成repodate目录;三是*.repo配置文件冲突(这个需要特意注意)。

创建本地源步骤如下:

1、安装createrepo包;
2、新建本地源目录(假若本地源在当前家目录下)
   2.1 $mkdir -p local-yum/i386/       #其中i386是包放置目录
   2.2 将安装包放置到i386目录中
   2.3 createrepo local-yum/           #创建一个源

3、配置yum源(可以单独新建一个repo文件,也可以添加到已经存在的repo文件中)
************************************************************
[local-yum]
name=local-yum
baseurl=file:///home/test/local-yum/               #文件目录不能设置到i386,否则本地源使用会报错
enabled=1
gpgcheck=0

解释:
[....]     代表这个库的名字,必须是唯一的,不可以重复。
name=     是这个库的说明,没有太大的实际意义,只是一个字段说明。
baseurl=  说明采取什么方式传输,具体路径在哪里,可以使用的方式有,file://,ftp://,http://等
enabled=1  说明启用这个更新库,0表示不启用。
gpgcheck=1 表示使用gpg文件来检查软件包的签名
gpgkey=    表示gpg文件所存放的位置,此处也可以有http方式的位置。
************************************************************

4、yum工具介绍
   yum工具有很多的参数可供使用,如下:
        yum install 软件名1 [软件名2] [...]
        yum update [软件名1][软件名2] [...]
        yum check-update
        yum upgrade [软件1] [软件2] [...]
        yum remove | erase 软件名1 [软件名2] [...]
        yum list [...]
        yum info [...]
        yum provides | whatprovides feature1 [feature2] [...]
        yum clean [ packages | headers | metadata | dbcache | all ]
        yum makecache
        yum groupinstall 软件组1 [软件组2] [...]
        yum groupupdate 软件组1 [软件组2] [...]
        yum grouplist [hidden] [groupwildcard] [...]
        yum groupremove group1 [group2] [...]
        yum groupinfo 软件组名 [...]
        yum search 字符串1 [字符串2] [...]
        yum shell [文件名]
        yum resolvedep 依赖关系1 [依赖关系2] [...]
        yum localinstall rpm包1 [rpm包2] [...]
        yum localupdate rpm包1 [rpm包2] [...]
        yum reinstall 软件包1 [软件包2] [...]
        yum downgrade 软件包1 [软件包2] [...]
        yum deplist 软件包1 [软件包2] [...]
        yum repolist [all|enabled|disabled]
        yum help [command]
    以上就是yum全部的可用参数了,自动分析依赖性关系是它最好的一个特点,也是目前最方便的安装方法。

5、更新本地源,在仓库所在目录下
   createrepo --update local-yum/          # 更新本地源
   createrepo local-yum/                   # 重新生成metadata

6、用的上的命令
      createrepo --update:
   有时候你的软件仓库中含有很多的软件包,虽然只是其中的一小部分有所改动但是你却不必为每个软件包重新产生元数据,这样做明显太浪费时间了。这就是--update选项诞生的原因。
   像之前一样运行createrepo命令但是添加了--update选项.       $createrepo --updatelocal-yum/   现在createrepo只更新那些在上次产生元数据之后被改变,添加或者删除了的项目.
      verifytree   如果你刚刚做了一个repo并且你想要验证在你的repo中的所有东西都是正确且可以完成其功能的话,你可以运行erifytree命令来检查所有的repodata和软件包。

7、创建基于html的更新源
   7.1 安装httpd安装包
   7.2 如上创建本地更新源
       cd /var/www/html/
       mkdir -p nsmc
       cd nsmc
       mkdir RPMS SRPMS
   7.3 拷贝相关文件到RPMS和SRPMS目录中
   7.4 在nsmc所在目录下执行如下命令
       createrepo nsmc           #创建仓库
   7.5 service httpd start       #启动httpd守护进程,这是关键地方之一,否则在其他机器上会提示找不到相关源
   7.6 编写repo文件
*************************************
[nsm]
name=NeoShine Linux Desktop 5 nsmc repo - i386
baseurl=http://xxx.xxx.xxx.xxx/nsmc
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-neoshine-release

注意:gpgcheck设置为0,则不需要认证签名。

repodata创建本地YUM仓库的更多相关文章

  1. centos创建本地yum仓库

    怎样发布自己软件的安装和更新YUM源 在创建之前,我们先了解些相关的内容: yum仓库可以支持三种途径提供给yum在安装的时候下载rpm包 第一种:  ftp服务  ftp:// 第二种:  http ...

  2. CentOS7创建本地YUM源的三种方法

    这篇文章主要介绍了CentOS7创建本地YUM源的三种方法,本文讲解了使用CentOS光盘作为本地yum源.如何为CentOS创建公共镜像.创建完全自定义的本地源等内容,需要的朋友可以参考下     ...

  3. [转载]CentOS 7 创建本地YUM源

    本文中的"本地YUM源"包括三种类型:一是直接使用CentOS光盘作为本地yum源,优点是简单便捷,缺点是光盘软件包可能不完整(centos 7 Everything 总共才6.5 ...

  4. 本地yum仓库的搭建

    . 1.直接断开网络,模拟生产内网环境 2.将原先的网络yum仓库全部移动到 backup目录下 3.创建本地yum仓库  local_yum.repo vi /etc/yum.repos.d/loc ...

  5. 创建本地yum源仓库

    更新本地yum源 yum仓库服务端配置如下 : 1. 创建yum仓库目录 mkdir -p /data/yum_data/ cd /data/yum_data/ #可以上传rpm包到此目录,此目录下面 ...

  6. 【程序包管理】本地yum仓库的创建

    一.yum优势 yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器. 基於RPM包管理,能够从指定的服务器 ...

  7. 创建一个本地Yum 仓库,提升速度,减少带宽

    1 mkdir /YUM 2 mount -t iso9660 -o loop /home/dan/Centos-7-x86_x64-DVD.iso /mnt/iso/ 3 rpm -ivh delt ...

  8. 关于yum网络版仓库(本地yum仓库的安装配置,如果没网了,做一个局域网内的yum仓库)

    2017-11-13 22:49:48 1:两种方式:   a.每一台机器都配一个本地文件系统上的yum仓库 file:///packege/path/ b.在局域网内部配置一台节点(server-b ...

  9. 搭建本地YUM仓库

    YUM介绍 yum(yellow dog updater modified)为多个Linux发行版的软件包管理工具,Redhat RHEL CentOS Fedora YUM主要用于自动安装,升级rp ...

随机推荐

  1. idea2017显示maven Project菜单

    右侧就出现 maven project菜单了.

  2. uniapp - 富文本编辑器editor(仅支持App和微信小程序)

    uniapp - editor富文本编辑器用法示例 丢几个图,用心看下去(-.-) 这里使用了https://ext.dcloud.net.cn/plugin?id=412 插件,用于选择字体颜色.其 ...

  3. Unity资源商店 Asset store下载文件夹的位置

    Win10 C:\Users\用户名\AppData\Roaming\Unity\Asset Store-5.x\ Mac OS X ~/Library/Unity/Asset Store

  4. MyBatis(九):Mybatis Java API批量操作(增、删、改、查)

    最近工作中用到了mybatis的Java API方式进行开发,顺便也整理下该功能的用法,接下来会针对基本部分进行学习: 1)Java API处理一对多.多对一的用法: 2)增.删.改.查的用法: 3) ...

  5. spring boot项目maven打包可执行JAR

    在pom.xml中添加如下配置: <!-- 打包可执行jar包 --> <plugin> <groupId>org.springframework.boot< ...

  6. Kafka集群管理工具kafka-manager

    一.kafka-manager简介 kafka-manager是目前最受欢迎的kafka集群管理工具,最早由雅虎开源,用户可以在Web界面执行一些简单的集群管理操作.具体支持以下内容: 管理多个集群 ...

  7. python开源项目聚合推荐【1】

    ******************************************************* 01项目名:unimatrix 功能介绍:Python模拟“黑客帝国”影片中的终端动画脚 ...

  8. .Net Oracle TransactionScope的使用

    IIS服务器和Oracle服务器: 1.配置msdtc允许DTC访问及启用事务 2.配置msdtc程序入站出站例外 3.数据库连接字符串不能带enlist=false标识 如下这样带enlist=fa ...

  9. Python - Django - 自定义一个中间件

    中间件简介: 中间件是在 wsgi.py 之后,urls.py 之前,在全局操作 Django 请求和响应的模块 在 settings.py 中可以看到中间件的相关配置 该列表中的每一个元素都是一个类 ...

  10. python 实现一个简单tcp epoll socket

    python 实现一个epoll server #!/usr/bin/env python #-*- coding:utf-8 -*- import socket import select impo ...