关于RHEL5中yum挂载iso源引起的问题(转)
今天在虚机上通过yum挂载iso源来安装rpm包,但提示错误,内容见下面。之前也有过这样的操作,
mount后,修改repo文件,然后就可以yum install rpm包了;过程很简单啊。不知道这次为什么不行,后来网上查询了一下。
(结论:这个问题应该在rhel5低版本才出现)
=============分割线==============
在RHEL5版本中,很多人碰到这样类似的问题:
[root@master ~ 18:40:12]# yum install php-devel
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for php-devel to pack into transaction set.
media://1192656534.547140%233/php-devel-5.1.6-15.el5.i386.rpm: [Errno 4] IOError: <urlopen error unknown url type: media>
Trying other mirror.
Error: failed to retrieve php-devel-5.1.6-15.el5.i386.rpm from rpms
error was [Errno 4] IOError: <urlopen error unknown url type: media>
RedHat的官方解释是FC6不建议使用本地源,关于RHEL5的解释倒没查到,不过应该一样吧。
个人感觉是因为传输rpm包时用的协议错了,应该是file,却变成了media,应该是光盘中的xml文件里写错了,难道是个BUG?
网上查了一圈,解决方法一堆,有修改/usr/lib/python2.4/site-packages/yum下的yumRepo.py文件的,
有使用yum localinstall xxx.rpm命令的,这些都没用。有人说把DVD上所有的RPM包拷贝到硬盘,自己做个源,
我觉得这样就失去光盘镜像的意义了,舍进而求远。
总结了一下,还是用createrepo命令最好,方法如下:
先安装createrepo这个RPM包,手动安装吧,yum还没好呢。
然后用createrepo命令重建描述repository的XML文档。
createrepo的命令用法可以man一下,网上竟然没有人说明过,个人觉得几个参数还是有必要说明下的:
-u 指定base的url,其实就是待会yum的时候,下载rpm包的路径,所以一定要写对;
-o 指定XML文件的输出路径,你当然没办法把XML文件直接输出到光盘或者镜像中吧,所以最好也指定下。
举例如下:
RHEL5的光盘挂载在/mnt/cdrom下
[root@localhost ~]#mkdir /repo
[root@localhost ~]#createrepo -u /mnt/cdrom -o /repo /mnt/cdrom
OK,这个时候/repo下应该有repodata目录,里面就是XML文件啦。
接着修改/etc/yum.repo.d/下面的repo文件
把其中的baseurl=改成baseurl=file:///repo ---就是XML文件所在的目录
然后[root@localhost ~]#yum clean all
一切正常了。
另外一个类似处理方法:
RHEL5.4可以直接使用光盘作yum源,而RHEL5.1不能直接用光盘中的源,否则会出现urlopen error unknown url type: media,
需要改造一番,注意这里提供的方法不用拷贝光盘中的大量文件.
1.将光盘镜像挂载到/media/RHEL/目录下
[root@Blinux Desktop]#mkdir /media/RHEL
[root@Blinux Desktop]#mount /root/rhel5.1.iso /media/RHEL -o loop
2.生成库文件
[root@Blinux Desktop]#mkdir /media/yum/
[root@Blinux Desktop]#rpm -ivh /media/RHEL/Server/createrepo-0.4.4-2.fc6.noarch.rpm
[root@Blinux Desktop]createrepo -o /media/yum/ -g /media/RHEL/Server/repodata/comps-rhel5-server-core.xml /media/RHEL/Server/
[root@Blinux Desktop]mount --bind /media/yum/repodate/ /media/RHEL/Server/repodate/
3.生成依赖关系
[root@Blinux Desktop]# vim /etc/yum.repos.d/rhel-debuginfo.repo
修改为类似
[rhel]
name=Red
baseurl=file:///media/RHEL/Server/
enabled=1
gpgcheck=0
[root@Blinux Desktop]# yum clean all
[root@Blinux Desktop]# yum makecache
RHEL5.1下的本地YUM源就这样OK了,注意,这里并没有拷贝大量的文件,而是挂载.
关于RHEL5中yum挂载iso源引起的问题(转)的更多相关文章
- 如何在 Linux 中挂载 ISO 文件
		
在 Windows 中,我们常常使用 Daemon Tools 和 Virtual CloneDrive 等虚拟光驱软件挂载光盘镜像,下面我们一起来学习在 Linux 中如何挂载 ISO 文件. 在 ...
 - Linux如何在虚拟机中挂载iso yum源
		
首先,将作为源的iso的挂载到系统上. 代码如下: mount -o loop /dev/cdrom /mnt/iso/ 或者 mount -o loop /xxx/xxx.iso /mnt/iso/ ...
 - 在centOS中加入本地ISO yum源
		
注:本文转载自<liujun_live的博客>,感谢原博主的辛勤写作:原文地址:http://blog.sina.com.cn/s/blog_8ea8e9d50101em6f.html 在 ...
 - Linux下挂载iso文件和配置yum本地源
		
Linux的版本: [root@pbn ~]# head -n 1 /etc/issueRed Hat Enterprise Linux Server release 6.1 (Santiago) 1 ...
 - Linux挂载iso镜像、配置本地yum源
		
Linux挂载iso镜像.配置本地yum源 1.备份原yum源配置文件 [root@localhost ~]# ll /etc/yum.repos.d/ [root@localhost ~]# mkd ...
 - CentOS 挂载iso文件配置yum源
		
1.挂载iso 准备好centos的光盘镜像 挂载前的准备; mkdir -p /dev/centos mkdir -p /mnt/local_yum 挂载 mount -o loop /opt/s ...
 - RHEL7挂载ISO做本地yum
		
测试环境,网络yum源没有本地yum源下载速度快!Yum比起RPM装包的好处就是可以自己处理依赖关系,也就是自己安装相关的依赖包,用起来也是很方便,但是删包的时候也会删除依赖包,这里要非常小心 01. ...
 - Redhat系列使用ISO或者光盘制作yum本地安装源
		
适用系统:redhat系列 示例系统:CentOS 6x86_64 环境:虚拟机 有时候做实验又不能联网的情况下想装一款软件时,经常会搞的头大:难道要去系统镜像中一个个拷出来再用rpm安装?各种依 ...
 - Centos 中扩展  软件源  的安装       之     Remi      ( 为yum  扩展软件源 )
		
平时一般都是使用Ubuntu的,最近用起来Centos 发现软件安装方便不是很方便, 在安装过程中接触到了这么一个概念, 就是为yum 安装 扩展源, 这里下面要说的就是其中的 Remi ...
 
随机推荐
- windows  XP 下的DTRACE 跟踪 学习
			
https://github.com/prash-wghats/DTrace-win32 1. dtrace_loader.exe -l //to load dtrace drivers 2. C:\ ...
 - webpack+vue起步
			
本文基于vue1.x 基于vue2.x&webpack2.x请移步至 Vue2.x踩坑与总结Webpack2.x踩坑与总结 记得第一次知道Vue.js是在勾三股四大大的微博,那时候他开始翻译v ...
 - Linux进程管理(3):总结
			
7. exit与_exit的差异 为了理解这两个系统调用的差异,先来讨论文件内存缓存区的问题. 在linux中,标准输入输出(I/O)函数都是作为文件来处理.对应于打开的每个文件,在内存中都有对 ...
 - js:深入继承
			
/** * js实现继承: * 1.基于原型链的方式 * 2.基于伪造的方式 * 3.基于组合的方式 */ 一.基于原型链的方式 function Parent(){ this.pv = ...
 - [Algorithm] Breadth First JavaScript Search Algorithm for Graphs
			
Breadth first search is a graph search algorithm that starts at one node and visits neighboring node ...
 - Adam:大规模分布式机器学习框架
			
引子 转载请注明:http://blog.csdn.net/stdcoutzyx/article/details/46676515 又是好久没写博客,记得有一次看Ng大神的訪谈录,假设每周读三篇论文, ...
 - python正则方法
			
通过正则替换字符串 res=re.sub(正则,newString,srcString)//返回替换后的字符串 res,m=res.subn(正则,newString,srcString)//返回替换 ...
 - 利用反射和泛型把Model对象按行储存进数据库以及按行取出然后转换成Model 类实例 MVC网站通用配置项管理
			
利用反射和泛型把Model对象按行储存进数据库以及按行取出然后转换成Model 类实例 MVC网站通用配置项管理 2018-3-10 15:18 | 发布:Admin | 分类:代码库 | 评论: ...
 - c# CacheManager 缓存管理
			
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
 - mysql_num_rows
			
mysql记录总条数 $sql3 = "select * from inviter where tuijianren = '$session' "; $res3 = mysql_q ...