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 忽略内核更新)[点我查看]。