RHEL6:YUM仓库服务

1rpm包管理命令:YUM

借助于YUM软件仓库,可以完成安装、卸载、自动升级rpm软件包等任务,能够自动查找并解决rpm包之间的依赖关系,而无需管理员逐个、手工地去安装每一个rpm包,使管理员在维度护在量linux服务器时更加轻松自如。特别是在拥有大量linux主机的本地网络中,构建一台源服务器可以大大缓解软件安装、升级等对于internet的依赖。

要成功使用YUM机制来更新系统和软件,需要有一个包含各种rpm安装文件的软件仓库,提供软件库的服务器也称为“源”服务器。在客户机中只要正确指定软件仓库的地址等信息,就可以通过对应的“源”服务器来安装或更新软件了。

YUM软件仓库即可以作为本地YUM源,即为本地主机提供软件源服务;也可以措助FTP或HTTP协议来进行发布,这样可以面向网络中的所有客户机提供软件源服务。为了便于客户机查询软件包,获取依赖关系等信息,在软件仓库中需要提供仓库数据库(repodata),其中收集了目录下所有rpm包的头部信息。

在RHEL6系统的安装光盘中,已针对软件目录Packages/建好了repodata数据,因此只要简单地将整个光盘中的内容或将光盘全部内容复制到硬盘通过HTTP或FTP进行发布,就可以作为软件仓库了。

A):本地YUM:(光盘源)

以下是rhel_6.0-i386-DVD的目录结构:

HighAvailability  高可用相关软件包,如rhcs等相关套件
Server  常规软件包,如mysql,httpd,开发工具,系统管理工具等
LoadBalancer  负载均衡相关软件包,如lvs,pirihan
ResilientStorage
Packages  真正存放所有软件包的目录
images  rhel安装进程所需要的引导和驱动镜像文件,

isolinux 镜像文件引导时所需要的文件

yum来安装所需要的软件包,先来搭建yum光盘源:

先将RHEL6的光盘挂载到某一目录下,如挂载到/mnt

#mount  /dev/cdrom  /mnt

在/etc/yum.repos.d目录下创建一个以.repo结尾的文件:

#vi  /etc/yum.repos.d/server.repo

配置内容如下:

[Server]   //仓库名称
name=Server  //仓库描述信息
baseurl=file:///mnt/Server  //URL访问路径
enabled=1  //启用此软件仓库
gpgcheck=1  //验证软件包的签名
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release  //GPG公钥文件的位置

[LoadBalancer]
name=LoadBalancer
baseurl=file:///mnt/LoadBalancer
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[HighAvailability]
name=HighAvailability
baseurl=file:///mnt/HighAvailability
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[ResilientStorage]
name=ResilientStorage
baseurl=file:///mnt/ResilientStorage
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

Yum命令格式:

yum <options> <command><package...>

参数说明:

options: 常用的有:

-y : 如果在工作过程中如要使用者响应,这个参数可以直接回答yes

command:

list : 列出在yum server 上面有的RPM套件;若执行yum list installed则表示只列出系统中已安装的软件包,yum list available则表示只列出软件仓库中可用(尚未安装)的软件包,yum list update则表示列出可以升级版本的软件包。

install: 安装某个套件

update : 升级某个套件,如果update后面没有接套件名称,即更新目前主机所有已安装的套件.

info  : 列出某个套件的详细信息,相当于rpm -qi package内容

clean : 将已下载到本机的packages或headers移除

remove : 移除已经安装在系统中的某个套件

yum update 全部更新

yum update package 更新指定程序包package

yum check-update 检查可更新的程序

yum info <package> 显示安装包信息

yum list 显示所有已经安装和可以安装的程序包

yum list <package> 显示指定程序包安装情况

yum search <keyword>查找软件包,当需要根据某个关键词来查找相关的软件包时,可以执行yum  search 关键词,默认仅根据软件包名称和描述信息进行搜索。若执行yum search all 关键词,可以扩大搜索范围,例如,以下将搜索软件仓库并列出与httpd相关的软件包。Yum search allhttpd

yum clean headers 清除header

yum clean packages 清除下载的rpm包

yum clean all 清除header与rpm包

yumgrouplist ,列出所有组

yum groupinstall 安装某个软件组如:yum groupinstallVirtualization    安装虚拟化

问题解决:

1、如果首次安装软件包之后,再次安装别的软件包的时候,很可能会发现报错了,错误信息如下:
Error: Cannot retrieve repository metadata (repomd.xml) for repository:
InstallMedia. Please verify its path and try again

其实,rhel6在首次读取改软件仓库之后,会把原本光盘根目录下,也就是一同被你拷贝到软件仓库目录的media.repo复制一份到/etc/yum.repos.d/,而该文件也就是导致本地yum源失效的罪魁祸首。

解决方法:
删除软件仓库中的media.repo
# rm -f /share/rhel/media.repo
2、如果安装软件包出现public key for …….rpm isnot install

解决方法:导入完整性验证的公钥

#mount /dev/sr0 /mnt

#rpm –-import /mnt/RPM-GPG-KEY-redhat-release

本地YUM(硬盘源)

在本地创建一个存放YUM源的目录,如mkdir  /yum

将RHEL6光盘中的所有内容拷贝到/yum中

#mount /dev/cdrom /media

#cp -rf  /media/*  /yum

在/etc/yum.repos.d目录下创建一个以.repo结尾的文件:

配置内容参照光盘源的YUM,此处略过

清理YUM缓存

yum clean all

验证本地YUM安装包

B):网络YUM(通过FTP或HTTP协议方式实现网络YUM安装RPM包)

在Linux主机中使用YUM客户端工具在线升级、安装软件时,由于受到网络连接速度、网络带宽的限制,往往给用户安装带来不必要的麻烦。但是如果在局域网中构建一个基于本地的YUM源服务器,则可以大大解决用户安装软件速度较慢的问题

通过FTP方式:(方式1:硬盘源)

实现步骤:

YUM服务器端配置:

将RHEL6光盘中的所有内容复制到本地硬盘相关目录下,如/var/ftp/rhel6

推荐步骤:

安装vsftpd服务软件包

#mkdir/var/ftp/rhel6

#mount /dev/cdrom/media

#cp /media/*/var/ftp/rhel6

启动vsftpd服务:

service vsftpd start

chkconfig  vsftpd on

在另一台客户端测试,首先创建repo文件指定YUM源位置

vi /etc/yum.repos.d/server.repo,注意文件的扩展名要以repo结尾,文件内容如下

[Server]

name=RedHat Enterprise Linux base

baseurl=ftp://192.168.0.2/rhel6/Server

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[HighAvailability]

name=RedHat Enterprise Linux base

baseurl=ftp://192.168.0.2/rhel6/HighAvailability

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[LoadBalancer]

name=RedHat Enterprise Linux base

baseurl=ftp://192.168.0.2/rhel6/LoadBalancer

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[ResilientStorage]

name=RedHat Enterprise Linux base

baseurl=ftp://192.168.0.2/rhel6/ResilientStorage

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

验证:在客户端上安装RPM包,如samba

若YUM服务器开启了selinux功能,客户端通过YUM安装会失败

解决方法1:关闭selinux功能setenforce 0

方法2:setsebool allow_ftpd_full_access on

若YUM服务器开启了防火墙,客户端通过YUM安装会失败

解决方法1:关闭iptables

方法2:在INPUT规则链上创建允许FTP访问的规则。

通过FTP方式:(方式2:光盘源)

YUM服务器端配置:(IP:192.168.0.2)

先将RHEL6系统光盘挂载到/var/ftp/pub目录下

确保vsftpd服务启动

YUM客户端配置:(IP:192.168.0.1)

在/etc/yum.repos/目录下创建一个以.repo为后缀的文件,内容如下:

[Server]

name=RedHat Enterprise Linux base

baseurl=ftp://192.168.0.2/pub/Server

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[HighAvailability]

name=RedHat Enterprise Linux base

baseurl=ftp://192.168.0.2/pub/HighAvailability

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[LoadBalancer]

name=RedHat Enterprise Linux base

baseurl=ftp://192.168.0.2/pub/LoadBalancer

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[ResilientStorage]

name=RedHat Enterprise Linux base

baseurl=ftp://192.168.0.2/pub/ResilientStorage

enabled=1

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

在客户端上测试

2、通过HTTPD方式:与ftp方式类似

(略)

对于用户搜集的非RHEL6光盘的更多其他软件包(必须包括存在依赖关系的所有安装文件)除了应准备相应的目录以外,还需要手动创建repodata数据文件,这就要用到createrepo工具(RHEL6光盘中有)

以RHEL6安装光盘中Packages/目录的RPM包为例:

安装createrepo工具:

createrepoa主要用于收集目录中的rpm包文件的头信息,以创建repodata软件仓库数据(经gzip压缩的xml文件)。

mount  /dev/cdrom /mnt  //挂载光盘

rpm–ivh /mnt/Packages/createrepo-0.9.8-4.el6.noarch.rpm

注意:安装createrepo包时要依赖以下两个包:deltarpm和python-deltarpm,不能忽略这两个包

安装FTP服务器:

rpm  -ivh /mnt/Packages/vsftpd-2……..(按TAB键自动补齐)

配置软件仓库目录:

可参考安装光盘的Server目录

mkdir/var/ftp/pub/Packages

mkdir/var/ftp/pub/repodata

从光盘把所有的RPM包复制到/var/ftp/pub/Packages目录下(要确保硬盘有足够的磁盘空间)

cp  - a /mnt/Packages/* /var/ftp/pub/Packages/

创建软件仓库信息文件:

cd/var/ftp/pub/

createrepo  --database ./

[[email protected]]# ls  repodata/

filelists.sqlite.bz2  other.sqlite.bz2  primary.sqlite.bz2  repomd.xml

filelists.xml.gz      other.xml.gz      primary.xml.gz

可以看到已经创建好了相应的软件仓库信息文件

在客户端上创建扩展名为.repo的文件,内容参考上面的有产设置。

RHEL6:YUM仓库服务,布布扣,bubuko.com

时间: 2024-10-20 09:07:50

RHEL6:YUM仓库服务的相关文章

Linux网络服务11——部署YUM仓库服务

Linux网络服务11--部署YUM仓库服务 一.YUM简介 YUM的前身是YUP(Yellow dog Updater)Yellow dog Linux的软件更新,最初由TSS公司(Terra Soft Solutions,INC.)使用Python语音开发而成,后由杜克大学(Duck University)的Linux开发队伍进行改进,命名为YUM(Yellow dog Updater , Modified) 借助于YUM软件仓库,可以完成安装.卸载.自动升级rpm软件包等任务,能够自动查找

yum仓库服务端搭建、客户端使用

yum源工作原理:实质是更换下载地址 ********  yum仓库服务端搭建  ******** 系统环境 服务端:10.0.0.61 [[email protected] ~]# cat /etc/redhat-release CentOS release 6.8 (Final) [[email protected] ~]# uname -r 2.6.32-642.el6.x86_64 1.安装createrepo软件: yum -y install createrepo 2.创建yum仓库

YUM仓库服务与PXE网络装机

一.部署YUM软件仓库 借助YUM软件仓库,可以完成安装.卸载.自动升级rpm软件包等任务,能够自动查找并解决rpm包之间的依赖关系. 1.准备网络安装源(服务端) YUM软件仓库通常借助于HTTP或FTP协议来进行发布,这样可以面向网络中的所有客户机提供软件服务.为了便于客户机查询软件包,获取依赖关系等信息,在软件仓库中需要提供仓库数据(Repodata),其中收集了目录下所有rpm包的头部信息. 软件仓库的提供方式有三种: FTP服务:ftp://......   HTTP服务:http:/

YUM仓库服务

YUM,Yellow dog Updater Modified ----基于RPM包构建的软件更新机制,可以自动解决rpm包之间的依赖关系,所有软件包由集中的YUM软件仓库提供---- ------软件仓库的提供方式----FTP服务:ftp://......HTTP服务:http://......本地目录:file:///.......-------RPM软件包的来源----Red Hat发布的RPM包集合第三方组织发布的RPM包集合用户自定义的RPM包集合 构建RHEL6 .5 软件仓库 -

YUM仓库服务与PXE网络装机的配置安装与使用

前言 前面我们安装软件主要使用rpm和源码编译安装,尤其在rpm安装软件的时候有些软件需要依赖关系,安装起来非常麻烦,今天讲的YUM仓库安装,可以自动解决依赖关系,只需要一条命令:yum -y install 软件名,就可以安装了,如果要卸载就执行:yum -y remove 软件名. 接下来先给大家搭建一台YUM服务器,实现yum安装软件 此外今天的另外一个实验就是PXE网络安装,非常类似windows2008的wds,通过网络快速安装操作系统.PXE的安装方式虽然说提高了安装的灵活性,但是有

本地yum仓库服务端搭建

yum服务端设置 1.1 安装createrepo软件 yum -y install createrepo 1.2 创建yum仓库目录 mkdir -p /application/yum/centos6/x86_64/ 补充: 获取rpm软件包的几种方法 (1) 自己制作的rpm包 (2) yumdownloader pcre-devel openssl-devel 只下载不安装 (3) 平时yum安装软件时不删除安装包 vim /etc/yum.conf里的keepcache=0,改成keep

在cenntOS中部署YUM仓库服务

---------------------概述--------------- YUM的前身是YUP,最初由TSS公司公司使用Python语言开发而成,后来由杜克大学的Linux开发队伍进行改造,命名为YUM · 借助于YUM软件仓库,可以完成安装.卸载.自动升级rpm软件包等任务,能够自动查找并解决rpm包之间的依赖关系,而无需管理员逐个.手工地去安装每一个rpm包,是管理员在维护Linux时更加轻松自如.特别是在拥有大量Linux主机地本地网络中,构建一台资源服务器可以大大缓解软件安装.升级等

部署YUM仓库服务

一.YUM简介 YUM的前身是YUP(Yellow dog Updater)Yellow dog Linux 的软件更新,最初由 TSS 公司(Terra Soft Solutions,INC.)使用 Python 语言开发而成,后由杜克大学(Duck University)的 Linux 开发队伍进行改进,命名为 YUM(Yellow dog Updater,Modified) 借助于 YUM 软件仓库,可以完成安装.卸载.自动升级 rpm 软件包等任务,能够自动查找并解决 rpm 包之间的依

yum仓库的搭建

 YUM仓库服务 借助于YUM软件仓库,可以完成安装.卸载.自动升级rpm软件包等任务,能够自动查找并解决rpm包之间的依赖关系,而无需管理员逐个.手工地去安装每一个rpm包,使管理员在维护大量linux服务器时更加轻松自如.特别是在拥有大量linux主机的本地网络中,构建一个源服务器可以大大缓解软件安装.升级等对于Internet的依赖. 实验案例:软件仓库部署及应用 实验环境: 随着公司内部的linux服务器不断增多,软件更新.系统升级等需求也逐渐凸显出来,为了提高软件包管理效率.减少重复下