centos在没有网络连接的情况下安装rpm包
2015-08-17 21:45
736 查看
因为没有网络连接,所以yum使用不了,这是我在手动安装时遇到的一些问题及其解决办法
一. 首先想到的方法应该是挂载centos ios镜像,因为里面的packages有本版本的所有rpm包,最好是本机安装的镜像。步骤如下:
1、先把光盘挂上
mount -o loop /mnt/iso/CentOS5.iso /mnt/cdrom
2、理解个道理
CentOS有两个yum源,它们在/etc/yum.repos.d/下面有两个文件:CentOS-Base.repo和CentOS-Media.repo。但这两个源不是同时使用的,默认使用的是采用互联网升级的CentOS-Base.repo源(这文件里都是网址,你可以自己看看),除非我们手动修改让系统使用Media源,而Media源就是指计算机本地的源,就包含我们方才挂上的本地光盘。
3、开始操作
首先,把CentOS-Base.repo文件改名,让系统找不到该文件,从而不能使用互联网的更新方式:
mv CentOS-Base.repo CentOS-Base.repo.bak
然后,
cpCentOS-Media.repoCentOS-Media.repo.bak
vi CentOS-Media.repo
把以下三行的后两行删除
baseurl=file:///media/CentOS/
file:///media/cdrom/
file:///media/cdrecorder/
第一行修改为挂载光盘的路径,如下:
baseurl=file:////mnt/cdrom/
然后,找到这个属性,将值改成1,这样就打开了本地源文件的使能开关。
enabled=0
改成
enabled=1
保存即可。
然后可以通过yum check-update 或者yum install * 来测试源是否成功和生效。
但是这样做有个问题,就是你的这个源和你系统的源有可能不同,这就需要你挂载装机的iso镜像。如果不是的话,你在yum安装时,会出现依赖包版本不一,仍然无法安装,不知道能不能将其依赖包也更新?
二.手动安装。
如果实在找不到源的话,只能自己手动安装了,缺少哪个包就google里搜索哪个包,当然不是随便下载,需要找对版本,因为其依赖包可能已经安装,需要下载和其依赖包相同的版本。如果运气不好的话,依赖-依赖-依赖-依赖,这个栈要有好几层。下面是常用的下载包的网址:
http://rpmfind.net/linux/RPM/index.html http://vault.centos.org/
http://mirror.centos.org/centos/
这里面有每个版本具体包下载,其中http://vault.centos.org/ 中的包是最全的,官方不赞成使用某些包,原因是
下面记录下我手动安装包时的顺序:
mpfr-2.4.1-6.el6.x86_64.rpm
cpp-4.4.7-4.el6.x86_64.rpm
ppl-0.10.2-11.el6.x86_64.rpm
cloog-ppl-0.15.7-1.2.el6.x86_64.rpm
gcc-4.4.7-4.el6.x86_64.rpm
libstdc++-4.4.7-4.el6.i686.rpm
libstdc++-devel-4.4.7-4.el6.i686.rpm
gcc-c++-4.4.7-4.el6.x86_64.rpm
rpm -ivh compat-libstdc++-33-3.2.3-69.el6.i686.rpm
elfutils-libelf-devel-0.152-1.el6.x86_64.rpm
glibc-devel-2.12-1.132.el6.i686.rpm
libaio-devel-0.3.107-10.el6.i686.rpm
libaio-devel-0.3.107-10.el6.x86_64.rpm
libaio-0.3.107-10.el6.i686.rpm
unixODBC-2.2.14-14.el6.x86_64.rpm
unixODBC-devel-2.2.14-14.el6.x86_64.rpm
下面是安装过程中遇到的一些问题:
1. 包冲突的问题
file /usr/lib64/libstdc++.so.6from installof lib64stdc++6-4.6.1-2.x86_64
conflictswithfile
from package libstdc++-4.4.7-11.el6.x86_64file
/usr/lib64/libstdc++.so.6from install
of lib64stdc++6-4.6.1-2.i686 conflictswithfile
from package libstdc++-4.4.7-11.el6.i686
一般情况下直接
yum-yremovelibstdc++-4.4.7-11.el6.i686
yum-yremovelibstdc++-4.4.7-11.el6.x86_64
但是这样有可能将依赖包全部卸载,使事情更糟糕
2. 互相依赖的问题
如果手动安装rpm包的话,很多情况下会出现两个包互相依赖
# rpm -ivh elfutils-devel-0.125-3.el5.i386.rpm
warning: elfutils-devel-0.125-3.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
error: Failed dependencies:
elfutils-devel-static = 0.125-3.el5 is needed by elfutils-devel-0.125-3.el5.i386
elfutils-libelf-devel = 0.125-3.el5 is needed by elfutils-devel-0.125-3.el5.i386
# rpm -ivh elfutils-devel-static-0.125-3.el5.i386.rpm
warning: elfutils-devel-static-0.125-3.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
error: Failed dependencies:
elfutils-devel = 0.125-3.el5 is needed by elfutils-devel-static-0.125-3.el5.i386
elfutils-libelf-devel-static = 0.125-3.el5 is needed by elfutils-devel-static-0.125-3.el5.i386
这种情况下,只需要将两个包一起安装就可以了,即:
rpm -ivh elfutils-devel-0.125-3.el5.i386.rpm elfutils-devel-static-0.125-3.el5.i386.rpm
也是人才
参考:
file xxx from
install of xxx conflicts with file from xxx
Linux下,如何安装有互相依赖关系的RPM包[转]
安装oracle11g
R2 缺少依赖包
CentOS 将 yum 源设置成本地IOS镜像
Linux系统各发行版镜像下载(持续更新)
红帽 Red Hat Linux相关产品iso镜像下载
一. 首先想到的方法应该是挂载centos ios镜像,因为里面的packages有本版本的所有rpm包,最好是本机安装的镜像。步骤如下:
1、先把光盘挂上
mount -o loop /mnt/iso/CentOS5.iso /mnt/cdrom
2、理解个道理
CentOS有两个yum源,它们在/etc/yum.repos.d/下面有两个文件:CentOS-Base.repo和CentOS-Media.repo。但这两个源不是同时使用的,默认使用的是采用互联网升级的CentOS-Base.repo源(这文件里都是网址,你可以自己看看),除非我们手动修改让系统使用Media源,而Media源就是指计算机本地的源,就包含我们方才挂上的本地光盘。
3、开始操作
首先,把CentOS-Base.repo文件改名,让系统找不到该文件,从而不能使用互联网的更新方式:
mv CentOS-Base.repo CentOS-Base.repo.bak
然后,
cpCentOS-Media.repoCentOS-Media.repo.bak
vi CentOS-Media.repo
把以下三行的后两行删除
baseurl=file:///media/CentOS/
file:///media/cdrom/
file:///media/cdrecorder/
第一行修改为挂载光盘的路径,如下:
baseurl=file:////mnt/cdrom/
然后,找到这个属性,将值改成1,这样就打开了本地源文件的使能开关。
enabled=0
改成
enabled=1
保存即可。
然后可以通过yum check-update 或者yum install * 来测试源是否成功和生效。
但是这样做有个问题,就是你的这个源和你系统的源有可能不同,这就需要你挂载装机的iso镜像。如果不是的话,你在yum安装时,会出现依赖包版本不一,仍然无法安装,不知道能不能将其依赖包也更新?
二.手动安装。
如果实在找不到源的话,只能自己手动安装了,缺少哪个包就google里搜索哪个包,当然不是随便下载,需要找对版本,因为其依赖包可能已经安装,需要下载和其依赖包相同的版本。如果运气不好的话,依赖-依赖-依赖-依赖,这个栈要有好几层。下面是常用的下载包的网址:
http://rpmfind.net/linux/RPM/index.html http://vault.centos.org/
http://mirror.centos.org/centos/
这里面有每个版本具体包下载,其中http://vault.centos.org/ 中的包是最全的,官方不赞成使用某些包,原因是
This directory (and version of CentOS) is deprecated. For normal users, you should use /6/ and not /6.6/ in your path. Please see this FAQ concerning the CentOS release scheme: https://wiki.centos.org/FAQ/General If you know what you are doing, and absolutely want to remain at the 6.6 level, go to http://vault.centos.org/ for packages. Please keep in mind that 6.0, 6.1, 6.2, 6.3, 6.4 , 6.5 and 6.6 no longer gets any updates, nor any security fix's.
下面记录下我手动安装包时的顺序:
mpfr-2.4.1-6.el6.x86_64.rpm
cpp-4.4.7-4.el6.x86_64.rpm
ppl-0.10.2-11.el6.x86_64.rpm
cloog-ppl-0.15.7-1.2.el6.x86_64.rpm
gcc-4.4.7-4.el6.x86_64.rpm
libstdc++-4.4.7-4.el6.i686.rpm
libstdc++-devel-4.4.7-4.el6.i686.rpm
gcc-c++-4.4.7-4.el6.x86_64.rpm
rpm -ivh compat-libstdc++-33-3.2.3-69.el6.i686.rpm
elfutils-libelf-devel-0.152-1.el6.x86_64.rpm
glibc-devel-2.12-1.132.el6.i686.rpm
libaio-devel-0.3.107-10.el6.i686.rpm
libaio-devel-0.3.107-10.el6.x86_64.rpm
libaio-0.3.107-10.el6.i686.rpm
unixODBC-2.2.14-14.el6.x86_64.rpm
unixODBC-devel-2.2.14-14.el6.x86_64.rpm
下面是安装过程中遇到的一些问题:
1. 包冲突的问题
file /usr/lib64/libstdc++.so.6from installof lib64stdc++6-4.6.1-2.x86_64
conflictswithfile
from package libstdc++-4.4.7-11.el6.x86_64file
/usr/lib64/libstdc++.so.6from install
of lib64stdc++6-4.6.1-2.i686 conflictswithfile
from package libstdc++-4.4.7-11.el6.i686
一般情况下直接
yum-yremovelibstdc++-4.4.7-11.el6.i686
yum-yremovelibstdc++-4.4.7-11.el6.x86_64
但是这样有可能将依赖包全部卸载,使事情更糟糕
2. 互相依赖的问题
如果手动安装rpm包的话,很多情况下会出现两个包互相依赖
# rpm -ivh elfutils-devel-0.125-3.el5.i386.rpm
warning: elfutils-devel-0.125-3.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
error: Failed dependencies:
elfutils-devel-static = 0.125-3.el5 is needed by elfutils-devel-0.125-3.el5.i386
elfutils-libelf-devel = 0.125-3.el5 is needed by elfutils-devel-0.125-3.el5.i386
# rpm -ivh elfutils-devel-static-0.125-3.el5.i386.rpm
warning: elfutils-devel-static-0.125-3.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
error: Failed dependencies:
elfutils-devel = 0.125-3.el5 is needed by elfutils-devel-static-0.125-3.el5.i386
elfutils-libelf-devel-static = 0.125-3.el5 is needed by elfutils-devel-static-0.125-3.el5.i386
这种情况下,只需要将两个包一起安装就可以了,即:
rpm -ivh elfutils-devel-0.125-3.el5.i386.rpm elfutils-devel-static-0.125-3.el5.i386.rpm
也是人才
参考:
file xxx from
install of xxx conflicts with file from xxx
Linux下,如何安装有互相依赖关系的RPM包[转]
安装oracle11g
R2 缺少依赖包
CentOS 将 yum 源设置成本地IOS镜像
Linux系统各发行版镜像下载(持续更新)
红帽 Red Hat Linux相关产品iso镜像下载
相关文章推荐
- Centos6 编译安装Python
- 硬盘安装CentOS 6.2以及添加GRUB启动菜单
- CentOS 6.2实战部署Nginx+MySQL+PHP
- CentOS 7系统配置上的变化解析
- CentOS下DB2数据库安装过程详解
- CentOS 6.3下编译安装Ruby 2.0笔记
- 在Centos 5.5 上编译安装mysql 5.5.9
- CentOS 6.5源码安装Erlang教程
- centos 5.6 升级php到5.3的方法
- CentOS mysql安装系统方法
- centos下安装mysql服务器的方法
- CentOS 5.1 4.6最新官方下载地址列表
- Centos搭建GTK+Codeblock完整版
- CentOS 5.1下跑Mono和Asp.net的实现方法
- centos 安装免费控制面板kloxo步骤
- CentOS服务器+监控宝SNMP监控全攻略分享
- Centos 5下配置https服务器的方法
- centos 5.1下的安全设置(适合所有的linux版本)