文档章节

Linux下使用Yum管理本地软件包(repository)

s
 start0cheng
发布于 2015/02/09 23:19
字数 1146
阅读 15
收藏 0

在Linux系统的维护中,Linux软件包之间的依赖性是一件令人十分头痛的事情。比如你要安装软件包A,但是安装的时候提示你在安装A前得先安装软件包B;而当你去安装软件包B时,又提示你得先安装C库... 为了解决此问题,我们得使用Linxu下的yum(Yellow dog Updater,Modified) 工具。yum工具能根据repository(软件仓库)中rpm包的各种header信息,自动安装依赖的包,解决依赖性问题。在linux下使用yum的添加/删除/更改rpm包十分方便!此文来自:http://www.aiezu.com/


下面是linux下一个简单的yum配置和使用过程:
1. 实验环境
操作系统:Red Hat Enterprise Linux AS 5
内核版本:2.6.18-8.el5
 CPU构架:i386 SMP
附件软件:Red Hat Enterprise Linux AS 5 DVD ISO文件


2. 在linux下安装yum并建立repository(软件仓库)


  
  1. #在linux系统下挂载rhel 5.0 dvd iso文件  
  2. mkdir -p /mnt/iso  
  3. mount -o loop /opt/rhel5.0.iso /mnt/iso  
  4.  
  5. #在linux系统下安装yum,createrepo包  
  6. rpm -ivh /mnt/ISO/Server/yum-3.0.1-5.el5.noarch.rpm  
  7. rpm -ivh /mnt/ISO/Server/yum-metadata-parser-1.0-8.fc6.i386.rpm  
  8. rpm -ivh /mnt/ISO/Server/yum-rhn-plugin-0.4.3-1.el5.noarch.rpm  
  9. rpm -ivh /mnt/ISO/Server/yum-updatesd-3.0.1-5.el5.noarch.rpm  
  10. rpm -ivh /mnt/ISO/Server/createrepo-0.4.4-2.fc6.noarch.rpm  
  11.  
  12. #将挂载的iso中的文件复制到/opt/rhel5.0目录中  
  13. mkdir /opt/rhel5.0 
  14. cp -R /mnt/ISO/* /opt/rhel5.0 
  15.  
  16. #重新生成repository(软件仓库)相关文件,生成的文件在当前目录的“repodata”文件夹下。
  17. cd /opt/rhel5.0/Server/  
  18. rm -rf repodata  
  19. createrepo -g /mnt/ISO/Server/repodata/comps-rhel5-server-core.xml ./  


3. 在linux配置yum
在/etc/yum.repos.d/目录下建立一个后缀为.repo的配置文件,如:rhel_yum.repo(该目录下的其他文件可以删除),rhel_yum.repo内容如下:此文来自:http://www.aiezu.com/


  
  1. [Server]  
  2. name=Server  
  3. baseurl=file:///opt/rhel5.0/Server/
  4. #注意baseurl指向我们的repository(软件仓库)/opt/rhel5.0/Server目录  
  5. enable=1  
  6. gpgcheck=0 

此文来自:http://www.aiezu.com/
4. 测试rhel5.0 linux下的yum


  
  1. #清除yum设置缓存      
  2. yum clean all     
  3.  
  4. #查看已安装的和未安装的软件包组    
  5. yum grouplist    
  6.  
  7. #安装Web Server包组    
  8. yum groupinstall "Web Server" 
  9.  
  10. #查看组信息   
  11. yum groupinfo "Web Server" 
  12. 此文来自:http://www.aiezu.com/
  13. #删除"MySQL Database"  
  14. yum groupremove "MySQL Database" 
  15.  
  16. #升级"MySQL Database"  
  17. yum groupupdate "MySQL Database" 

 

5. linux下yum安装的常见问题

①. 问:为什么要把挂载的ISO镜像中的文件复制到本地磁盘上,而不直接在挂载的iso文件系统中使用?
  答:因为我们必须重新生成repository的相关配置文件,而挂载的iso文件系统是不可写的,所以必须复制到本地磁盘中去。
②. 问:当我们配置好后执行 "yum groupinstall 'MySQL Database' " 安装时报如下错误,是怎么回事?


  
  1. yum groupinstall "MySQL Database" 
  2. Loading "installonlyn" plugin  
  3. Loading "rhnplugin" plugin  
  4. This system is not registered with RHN.  
  5. RHN support will be disabled.  
  6. Setting up Group Process  此文来自:http://www.aiezu.com/
  7. Setting up repositories  
  8. Setting up repositories  
  9. Reading repository metadata in from local files  
  10. primary.xml.gz            100% |=========================| 663 kB    00:00 
  11. ################################################## 2113/2113  
  12. Resolving Dependencies  
  13. --> Populating transaction set with selected packages. Please wait.  
  14. ---> Downloading header for mysql to pack into transaction set.  
  15. media://1170972069.396645%232/mysql-5.0.22-2.1.i386.rpm: [Errno 4] IOError:   
  16.  此文来自:http://www.aiezu.com/
  17. <urlopen error unknown url type: media>  
  18. Trying other mirror.  
  19. Error: failed to retrieve mysql-5.0.22-2.1.i386.rpm from s  
  20. error was [Errno 4] IOError: <urlopen error unknown url type: media> 

  答:请确定"/etc/yum.repos.d/rhel_yum.repo"文件中的"baseurl"指向的不是挂载的iso文件系统路径,而是本地磁盘文件系统路径,如此文的第三步的中的第三行。并且确定使用了第二步的第九行重新生成了repository配置文件。其实"media://1170972069.396645#1"就是rhel 5.0 dvd iso 中的Server/repodata/repomd.xml文件的配置值。此文来自:http://www.aiezu.com/
③. 问:为什么我执行"yum grouplist"命令后没有列出任何包组信息?如下:


  
  1. #yum grouplist  
  2. Loading "installonlyn" plugin  
  3. Loading "rhnplugin" plugin  
  4. This system is not registered with RHN.  
  5. RHN support will be disabled.  
  6. Setting up Group Process  
  7. Setting up repositories  
  8. Server                    100% |=========================|  951 B    00:00 
  9. Done 

答:请确定执行了createrepo命令重新生成repository配置文件,并且命令带了 "-g"选项,如第二步第19行所示。rhel 5.0 dvd iso中的"Server/repodata/comps-rhel5-serer-core.xml"即包含了rpm包的分组信息。此文来自:http://www.aiezu.com/

好了,Linux下使用Yum管理本地软件包就写到此了,有什么问题欢迎随时给我留言。

此文章由 Admin 于 2010-06-29 22:51:29 编辑

本日志由 Admin 于 2010-06-26 18:29:14 发表,目前已经被浏览 1421 次,评论 5 次;

作者添加了以下标签: LinuxYumRepositoryRhel

引用通告:http://www.aiezu.com/Article/26/Trackback.ashx

评论订阅:http://www.aiezu.com/Article/26/Feeds.ashx

 

本文转载自:http://myhat.blog.51cto.com/391263/590684

s
粉丝 3
博文 260
码字总数 0
作品 0
广州
私信 提问
yum安装命令的使用方法

yum安装命令的使用方法 yum安装常用软件的命令 #yum check-update #yum remove 软件包名 (移除) #yum install 软件包名 (安装) #yum reinstall 软件包名(重新安装) #yum update 软件包名 yu...

denghujun_2006
2014/07/30
0
0
Linux 基础教程 35-软件包管理-YUM

YUM基础     使用RPM在Linux中安装、卸载软件或服务进会经常碰到RPM包的依赖,而我们在安装软件A时,提示依赖于软件B,安装软件B时又会出现提示依赖于软件C等一系列的依赖关系。这时大家会...

Surpassme
2018/08/10
0
0
YUM源详解以及EPEL源的创建

YUM是什么? yum(全称为Yellowdog Updater Modified)是一个在CentOS、RedHat和Fedora操作系统中使用的Shell前端软件包管理器。yum主要管理基于rpm的软件包,Centos先将发布的软件放置到YUM...

哆先生
2018/04/16
0
0
(九)Linux学习笔记-常用软件包管理

(九)Linux学习笔记-常用软件包管理 常用的软件包管理 以下为Red Hat系列Linux的命令集,我使用的Centos7.5版本。 常用的软件包管理 在CentOS中常用的软件管理有三种: 1、RPM,Redhat公司开...

Super_RD
2018/12/27
0
0
CentOS搭建本地yum源(http方式)

YUM介绍 YUM主要用于自动升级、安装移除rpm软件包,它能自动查找并解决rpm包之间的依赖关系,要成功的使用YUM工具更新系统和软件,需要有一个包含各种rpm软件包的repository(软件仓库),提...

遇见o未来
2015/01/27
2.5W
2

没有更多内容

加载失败,请刷新页面

加载更多

如何从GitHub源安装gem?

我想从最新的GitHub源安装gem。 我该怎么做呢? #1楼 尝试使用specific_install gem,它允许您从其github存储库(如“edge”)或任意URL安装gem。 非常适用于在多台机器等上分配宝石和黑客攻...

技术盛宴
33分钟前
51
0
如何将来自其他分叉的未合并上游拉取请求应用于我的分叉?

我有一个分支的GitHub上的项目有一个新的pull请求,我想将其拉到作者尚未拉入的分支中。 有没有简单的方法可以将来自其他分叉的拉取请求应用于我的分叉? 这里还有我想念的东西吗? #1楼 就像...

javail
48分钟前
38
0
分页查询的入门打开方式(JavaWeb)

技术涵盖(JavaWeb、HTML、Ajax、JQuery、Bootstrap ) 接触这一部分知识的时候,我们经常会做一些小Demo来练手,不可避免的就需要接触到一定量的数据,我们常常需要将数据从数据库中回显到页...

BWH_Steven
今天
50
0
Kafka 基本原理

目录 简介 Kafka架构 Kafka存储策略 Kafka删除策略 Kafka broker Kafka Design The Producer The Consumer 复制(Replication) 日志压缩(Log Compaction) Distribution Zookeeper协调控制......

chen_chen_chen_
今天
58
0
将idea中的springboot项目部署到远程的docker容器

1、在idea中创建项目,如下图 2、配置docker maven plugin <!-- Docker maven plugin --><plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifact......

Lion华
今天
59
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部