yum技巧[Terry]

14 篇文章 0 订阅

Terry Tsang


yum 能够自动获得软件包所需的依赖, 作为一个 RH, CentOS 用户, 还是比较喜欢这个工具

下面介绍一些小技巧

 

1. 获得网络 CentOS 源

http://mirrors.163.com/centos/

具备多个镜像地址,个人喜欢 163 而已

参考下面图面,可以观察到具备多个目录


 

修改 /etc/yum.repos.d/rhel-source.repo 文件, 载入图片中对应目录则可, 参考下面,载入 os, updates 目录的方法, 其他目录自行添加修改红色关键字部分

[os]
name=os
baseurl=http://mirrors.163.com/centos/6.4/os/x86_64/
enabled=1
gpgcheck=0

[updates]
name=updates
baseurl=http://mirrors.163.com/centos/6.4/updates/x86_64/
enabled=1
gpgcheck=0

2.  使用 RPM安装的方法自动获得epel, rpmforge 的软件包源.

这两个也是常用的软件源

rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm


3. 本地源 

某些服务器无法连接公网 80, 无法访问公网, 由于这样子的情况下, 只能够使用本地源
最简单的方法就是吧 ISO 里面的文件全部复制到一个目录, 如   /rpmsource  
然后对这个目录进行 ftp, http 开放就可以了。 方法(略)

本地源方法, 参考而已
[Packages]
name=updates
baseurl=http://10.1.1.1/centos/6.4/Packages
enabled=1
gpgcheck=0

 

4. 只下载, 不安装

利用下面方法, 只从网络下载 RPM 及对应的依赖包, 而不进行安装(方便分发到其他服务器)

参考上述,获得 CentOS 源

yum install -y yum-plugin-downloadonly.noarch

 

当安装了 yum-plugin-downloadonly.noarch 软件后, 用下面方法就可以实现下载

yum install -y --downloadonly --downloaddir=/tmp/.  elinks  

yum reinstall -y --downloadonly --downloaddir=/tmp/.  elinks  

yum update -y --downloadonly --downloaddir=/tmp/.  elinks


上述对应下面三种场景

  没有安装过 elinks (install)
  已经安装了最新版本  elinks (reinstall)
  已经安装 elinks 但不是最新版本 (update)


5.  在安装其他 rpm 时候遇到依赖关系的解决方法.

参考下面场景

[root@mini189d opennebula-4.2.0-1]# rpm -ivh opennebula-server-4.2.0-1.x86_64.rpm  

error: Failed dependencies:  

libxmlrpc_client++.so.4()(64bit) is needed by opennebula-server-4.2.0-1.x86_64  


当前需要安装软件 opennebula-server-4.2.0-1.x86_64.rpm 但缺失 libxmlrpc_client++.so.4()(64bit) 库文件

可以用过下面方法解决

yum install -y libxmlrpc_client++.so.4  

yum install -y "libxmlrpc_client++.so.4()(64bit)"  


上述场景, 分别安装的是 32 bit 或 64bit 的依赖包, 自行对应选择

 

6. yum update 自行更新时候忽略更新内核.

参考之前文档(yum update 忽略内核更新)

==============>

系统每天凌晨 3 点自动执行 yum update 任务

但升级内核后,会出现下面情况

一些编译软件需要内核模块才能够被调用, 而内核模块需要与当前版本内核编译后才能够使用, 假设内核升级后,之前软件模块是不可兼容的, 需重新编译后才能够再次被调用,甚至可能导致在启动过程中因为无法加载该模块而无法启用某种系统文件而无法正常启用电脑,需现场修复

 

利用 下面方法进行自动升级过程忽略 kernel 自动更新

yum --exclude=packgeName\* update  

yum --exclude=packgeName1\* --exclude=packgeName2\* update  

yum -x 'packageName*' update  

yum -x 'packageName1*' -x 'packageName2*' update 


例如

yum -y --exclude=kernel\* update  

yum -y -x 'kernel*' update  


假如你已经制作自动化脚本, 而不希望修改脚本条件下可参考下面做法

vim /etc/yum.conf

[main]

exclude=kernel*


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值