使用createrepo创建自己的yum源
创始人
2024-08-02 20:41:04
0次

编者按:为什么要使用rpm来管理软件包?相比使用shell脚本,从源码编译安装的方式,排除规模引出的效率因素不讲,脚本的可维护性比起rpm要糟糕一些,当然使用rpm就需要深入了解rpmbuild以及spec文档,似乎也并不简单。但从长远来看,rpm、yum源的可维护性,要比“脚本”可靠一些。在本文中,花开分享了创建yum源的操作步骤,用于管理系统上“定制”的软件包。以下为正文。

创建yum源需要一个ftp或者http服务,鉴于ftp烦人的防火墙策略(防火墙配制不当,ftp的模式——主动/初动使用不当,服务会变得不可用),建议使用http服务。

管理yum源需要一个工具createrepo,使用yum安装:

yum -y install createrepo

然后就可以开始了:

1. 规划、创建yum源目录。

比如在http://www.bsdmap.com的根目录下创建一个yum目录,来保存 yum 源数据。

观察官方yum源的目录规划,像是yum并不能自己维护arch,即并不能自己区分i386还是x86_64,所以是单独放在不同的目录下。

我维护的是基于CentOS Linux 5的包,规划目录如下:

$mkdir -p yum/centos/5/{i386,x86_64}

2. 初始化repodata信息:

$createrepo -p -d -o yum/centos/5/i386 yum/centos/5/i386
$createrepo -p -d -o yum/centos/5/x86_64 yum/centos/5/x86_64

这个时候,会在yum/centos/5/i386和yum/centos/5/x86_64目录下,分别看到一个repodata目录,这个就是yum源的Meta数据,有了这个,yum就可以和这个“源”进行“数据信息”了。

当然这个时候,这个源是空的,没有任何包可以安装。后面再说如何在yum源中提供安装包。

3. 配置本地的yum,使之使用自建的yum源。

简单的来说,就是在本地的/etc/yum.repos.d目录下新建一个配置文件文件(也可配置语句添加到已经存在文件中),以.repo为文件名后缀,比如bsdmap.repo,然后内容大概如下:

[bsdmap-yum]
name=bsdmap-yum
baseurl=http://www.bsdmap.com/yum/centos/$releasever/$basearch/
enabled=1
gpgcheck=0
gpgkey=

解释:

[....] 代表这个库的名字,必须是唯一的,不可以重复。

name= 是这个库的说明,没有太大的实际意义,只是一个字段说明。

baseurl= 说明采取什么方式传输,具体路径在哪里,可以使用的方式有,file://,ftp://,http://等,关于baseurl中的变量,可以查看yum.conf 的手册:man yum.conf ,在手册的***一段有详细描述。

enabled=1 说明启用这个更新库,0表示不启用。

gpgcheck=1 表示使用gpg文件来检查软件包的签名

gpgkey= 表示gpg文件所存放的位置,此处也可以有http方式的位置。

这时,当我们yum repolist 时,就可以看到bsdmap-yum 源了。

原文:http://www.bsdmap.com/2011/07/06/createrepo/

【编辑推荐】

  1. RHEL 6教程:使用本地光盘做yum源
  2. CentOS系统 yum 国内镜像
  3. Fedora yum包更新检查常用指令及用处

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...