yum函数介绍以及自建yum仓库

一、前言

在之前介绍了yum的配置(详细请移步 http://windchasereric.blog.51cto.com/5419433/1676777)。但是有没有发现一个问题,虽然我们已将仓库指向一个可用的仓库服务器,但是随着Linux的不断升级和改版,我们是否还需要不断的去修改仓库的配置文件,如果只有一台还好,那如果我们有多台Linux系统,那么修改工作量将会很大,那么我们要怎么保证自己的仓库永远指向的是最新的仓库呢? 这就是yum函数的魅力。



二、yum函数介绍

在RPM介绍(详细请移步 http://windchasereric.blog.51cto.com/5419433/1676324 )中我们介绍2个国内比较有名的RPM包下载路径(mirrors.163.com 和mirrors.sohu.com),其中会有一个特殊文件夹路径,这为理解yum函数很重要,下面用 mirrors.163.com ,以CentOS6系统为例介绍

让我们查看yum仓库中的“CentOS-Base.repo”中的文件

其中画了红色框框的就是yum的函数

$releaserver:代表系统的版本,对Yum而言指的是redhat-releaser版本,指向发行版的主版本号;只替换为主版本号,如RedHat 6.5 ,则替换为6

$basearch:系统基本架构,如果是i686,i586等基本架构就为i386

$arch:系统架构

#比如我现在的系统是CentOS6.5,系统架构是x86_64,则
#baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/ 会自动替换为 baseurl=http://mirrors.163.com/centos/6/os/x86_64/


三、如何自建yum仓库

3.1、引言:

虽然系统自带的仓库已经很常用,只要连接到互联网我们就能很容易有获取到互联网的yum仓库。但是如果是在企业内网,企业内部不允许访问互联网,又或者如果企业服务器众多,如果都要从互联网去获取yum仓库,那将很占用带宽。基于这种情况,我们就需要自己在企业内部创建yum仓库。

3.2、自建仓库需要使用的命令介绍

createrepo(create repo):创建仓库,在自建仓库时,使用命令createrepo会自动帮我们生成repodata文件作为软件的仓库,而其目录下有四个必要文件:filelists.xml.gz,other.xml.gz,primary.xml.gz和repomd.xml,其中最重要的是repomd.xml文件。一般出现的找不到repodata目录或文件的错误的原因通常有三个:一是路径问题;二是没有生成repodate目录;三是*.repo配置文件冲突(这个需要特意注意)。

小贴士createrepo命令默认是没有安装,所以我们需要提前安装,createrepo的安装包为“createrepo-0.9.9-17.el6.noarch.rpm”,可以使用RPM或yum先将此程序包安装。

#安装方法:
#yum -y install createrepo 或 rpm -ivh createrepo-0.9.9-17.el6.noarch.rpm (路径一定要写对)

3.3、自建yum仓库有2种方法

1)、基于关盘镜像创建yum仓库

2)、根据服务自建提供yum仓库的服务器(ftp、http、nfs)

3.4、基于关盘镜像创建yum仓库

3.4.1、先将光盘挂载至/mnt目录下

mount /dev/cdrom /mnt

3.4.2、配置yum仓库文件(详细方法请移步查阅 http://windchasereric.blog.51cto.com/5419433/1676777)

[[email protected] yum.repos.d]# vim /etc/yum.repos.d/local-media.repo  #如果local-media.repo不存在,请直接创建
[Meida-repo]
name=This is Local media repo
baseurl=           #指向光盘镜像路径
enabled=1                     #是否启动该仓库
gpgcheck=0                    #是否检查包完整性
[[email protected] yum.repos.d]# yum clean all   #清除所有的包缓存和元数据
[[email protected] yum.repos.d]# yum list        #列出所有的仓库和程序包

3.5、根据服务自建提供yum仓库的服务器(这里以http服务为例)

3.5.1、首先安装http服务

yum -y install httpd 或 rpm -ivh httpd

3.5.2、关闭Linux防火墙和Selinux

#防火墙和Selinux可能会影响用户访问HTTP,所以这里需要将其禁用
[[email protected] yum.repos.d]# service iptables stop    #关闭防火墙服务
[[email protected] ~]# chkconfig iptables off       #关闭防火墙自动启动
[[email protected] yum.repos.d]# getenforce               #查看Selinux状态 Enforcing表示启用 Permissive表示不启用
Enforcing
[[email protected] yum.repos.d]# setenforce 0             #关闭Selinux  0表示关闭 1表示开启
[[email protected] yum.repos.d]# getenforce               
Permissive                                
[[email protected] ~]# vim /etc/selinux/config     #关闭Selinux开机启动,编辑confg文件,将其中SELINUX字段改为如下设置    
        SELINUX=disabled

3.5.3、启动httpd服务和开机自动服务

[[email protected] yum.repos.d]# service httpd start   #开启httpd服务
[[email protected] yum.repos.d]# chkconfig on          #设置httpd服务开机自动启动
[[email protected] ~]# netstat -tunlp | grep http  #查看http服务是否已启用
tcp        0      0 :::80                       :::*                        LISTEN      1532/httpd

3.5.4、编辑httpd的文档目录

#httpd默认的目录文档路径为/var/www/html

[[email protected] html]# mkdir /var/www/html/rpm-repo   #创建仓库路径

[[email protected] rpm-repo]# cp -a /mnt/Packages/xcb* /var/www/html/rpm-repo/   #拷贝RPM程序包为测试使用

3.5.5、使用createrepo配置yum仓库

[[email protected] rpm-repo]# createrepo /var/www/html/rpm-repo/

3.5.6、验证和查看http仓库的文件

3.5.7、配置和验证yum仓库

[[email protected] yum.repos.d]# vim /etc/yum.repos.d/local.repo   #编辑yum仓库文件,让仓库路径指向http的yum仓库
[http-repo]
name=http yum repo
baseurl=http://192.168.80.150/rpm-repo
enabled=1
gpgcheck=0
[[email protected] ~]# yum list

实验完成!

小贴士:之前有介绍过yum的函数,有兴趣的话可以在这个实验中也尝试使用yum函数调用仓库,熟悉使用yum仓库对日后工作有很大帮助。

时间: 2024-08-24 08:31:38

yum函数介绍以及自建yum仓库的相关文章

自建YUM仓库

一.自建YUM仓库 当网络不好时,或者说根本链接不上官方yum仓库,以及第三方yum仓库(zabbix源)等,我们就需要自建一个yum仓库来满足我们需要.除了网络条件以外,还有我们生产环境需要发布,更新自己软件,我们可以将这些软件打包成RPM包,放到自己的仓库,然后在各个机器执行yum更新. 1.1 使用一些RPM包自建一个YUM仓库 在目录/data/yum/repo/custom准备了如下的RPM包.根据自己的需求准备RPM包 $ pwd /data/yum/repo/custom $ tr

Linux自建yum源仓库

本文以自建guestfish镜像管理工具源为例: 第一步:清空本地的yum缓存,避免跟以前下载的包混淆: #yum clean all 第二步:yum下载所需要的软件包. 注:这里有两种方法可以缓存rpm包: 方法一:下载命令直接限制只下载不安装,这是下载下来的rpm包就不会被安装. #yum -y install libguestfs-tools --downloadonly #yum -y install libguestfs-winsupport --downloadonly 方法二:可以

【转】linux之自建yum仓库

原链接:http://www.live-in.org/archives/1410.html 平时使用yum方式安装更新软件,可以自建一个yum源,同步官方更新源,这样如果本地有机器要升级的话就可以直接使用本地的更新源了.这里系统为CentOS 6.2. 一.服务端1.安装需要的环境自建yum本地更新源可以使用http服务或ftp服务,由于ftp服务器要考虑防火墙配置,主动.被动连接模式,这里使用http服务. 安装apache: yum install httpd 配置apache过程略过. 2

VMware14演示CentOS 7在无网络连接环境下自建yum仓库解决依赖关系

引言: Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载.安装. 我们知道使用Yum安装软件,能够一次性解决所有依赖关系,方便快捷.但Yum安装必须在联网的情况下进行,如果没有网的情况该怎么办呢?当然,一般情况下服务器是不可能断网的,但是,多了解一点肯定是

自建yum仓库yum源

目的:搭建自己的yum源主要是解决大批量服务器下载更新人互联网带宽占用问题及速度问题以及不能访问的问题. 服务端:  步骤如下: 一.创建一个目录,就是我们yum软件存放的目录 [[email protected] /application]#mkdir -p /application/yum/centos6.8/_64 二.安装一个软件,用来生产仓库环境,名字叫createrepo yum -y install createrepo -y 三.初始化仓库目录的索引文件 [[email prot

安装软件包的三种方法 rpm包介绍 rpm工具用法 yum工具用法 yum搭建本地仓库(

三种方法:rpm,yum,源码包 安装rpm包 [[email protected] Packages]# rpm -ivh zsh-5.0.2-7.el7.x86_64.rpm准备中... ################################# [100%]正在升级/安装... 1:zsh-5.0.2-7.el7 ################################# [100%] 升级rpm包 [[email protected] Packages]# rpm -Uv

RedHat 6.6自建yum仓库

实验步骤 1.检查系统是否安装了yum [[email protected] ~]# rpm -qa |grep yum PackageKit-yum-plugin-0.5.8-23.el6.x86_64 yum-metadata-parser-1.1.2-16.el6.x86_64 yum-utils-1.1.30-30.el6.noarch yum-3.2.29-60.el6.noarch yum-plugin-security-1.1.30-30.el6.noarch PackageKit

解决安装rpm包依赖关系的烦恼 - yum工具介绍及本地源配置方法

版权声明:本文发布于http://www.cnblogs.com/yumiko/,版权由Yumiko_sunny所有,欢迎转载.转载时,请在文章明显位置注明原文链接.若在未经作者同意的情况下,将本文内容用于商业用途,将保留追究其法律责任的权利.如果有问题,请以邮箱方式联系作者([email protected]). 1.背景概述 在实际生产环境下,对于在linux系统上安装rpm包,主要面临两个实际的问题1)安装rpm包过程中,不断涌现的依赖关系问题,导致需要按照提示或者查询资料,手工安装更多的

软件包安装方法、rpm包介绍、rpm、yum、

安装软件包的三种方法 window的exe文件就是二进制包,不能使用记事本文本打开. Linux下的ls命令文件也是二进制的. rpm工具.类似Windows的exe 源码包 就是源代码.需要编译器编译可执行文件 Yum工具 操作的是rpm包.Yum工具是Python开发.自动安装依赖的包.Yum就像手机应用宝找到什么下载安装 rpm包介绍 设置光驱并挂载 虚拟机光盘.右键连接 [[email protected] ~]# mount /dev/cdrom /mnt/ [[email prote