1.用rpm管理软件包
1.完整软件包名:
软件包名称,版本号和发行版本,硬件架构软件包架构,指的是此软件对机器架构的最低要求:
i386, i586, i686 32位,适于任何现有的 Intel 兼容计算机noarch 适于所有架构ppc 适于 PowerPC 系统,例如 Apple Pow er Macintoshx86_64 适于 64 位 Intel 处理器,例如 Intel Core i7rpm 包有二进制安装包(Binary)以及源代码安装包(Source)两种:二进制包可以直接安装在计算机中,而源代码包将会由 RPM 自动编译、安装。二进制包常常以 rpm 作为后缀名,源代码包经常以 src.rpm作为后缀名。
RPM 有一个缺点,就是无法解决软件的依赖问题:用户要安装软件包 A,RPM 可能会提醒需要先安装其他软件包,由于 RPM 程序是已经打包好的数据,也就是说,里面的数据已经都编译完成,所有安装时一定需要当初安装时的主机环境才能安装。下载软件网站:www.rpmfind.net
复制下载链接,用wget [软件链接]下载软件包到当前目录
2.rpm [选项][安装包名][软件包名]
RHEL 和 CentOS 中自动安装、配制、卸载和升级软件包的工具组合 -i <安装包文件名> 安装软件 -v 显示安装详细信息(与 i 连用) -h 安装时输出(#)作为进度条(与 iv 连用) -e <软件包名> 卸载软件 -q <软件包名> 查询软件包
-a 列出所有软件包(与 q 连用) -p <安装包文件名> 列出安装后的软件包名(与 q 连用) --replacepkg 无论软件包是否已被安装,都强行安装 --test 安装测试,并不实际安装 --nodeps 忽略软件包的依赖关系强行安装 --force 忽略软件包及文件的冲突
2.用yum管理安装包
!yum clean all 清除缓存中旧的 rpm 头文件和包文件
!yum makecache 建立新的缓存,将当前服务器软件包信息存到本地,提高搜索效率yum list 列出所有升级源上的包yum list available 列出资源库中所有可以安装或更新的 rpm 包yum list updates 列出所有升级源上的可以更新包yum list installed 列出已经安装的包yum search <关键字> 搜索匹配特定字符的 rpm 包yum info <软件包名> 列出资源库中特定的可以安装或更新以及已经安装的 rpm 包的信息!yum install <软件包名> 安装 rpm 包yum update <软件包名> 更新 rpm 包yum remove <软件包名> 卸载 rpm 包3.为yum配置软件源
1.国内比较常用的有:
网易源:http://mirrors.163.com搜狐源:http://mirrors.sohu.com/中科大源:http://centos.ustc.edu.cn/CentOS 源:http://mirror.centos.org2.到 CentOS 或者 Fedora 的 Public Mirror List 中去查找最快的 CentOS 或者 Fedora rpm 官方源:CentOS:http://www.centos.org/modules/tinycontent/index.php?id=13Fedora: http://mirrors.fedoraproject.org/publiclist/3.为兼容 RHEL 的 Linux 发行版本提供第三方源,比较常用的有:
EPEL 源:https://fedoraproject.org/wiki/EPEL/zh-cnRepoForge 源:http://repoforge.org/
RPMFusion 源:http://rpmfusion.org/Remi 源:http://rpms.famillecollet.com/ATrpms源:http://atrpms.net
ELRepo源:http://elrepo.org
4.一个软件源(Repositories)中可能会配置多个软件仓库(Repository)。
CentOS 默认自带 CentOS-Base.repo 源已经预先配置五个仓库(其中三个默认启用,两个配置但未启用):库名 内容base 构成 CentOS 基本软件包,和光盘上内容相同,默认启用updates Base 仓库中软件包的更新版本,默认启用extras 一大批附加的软件包,默认启用centosplus 针对 base 及 updates 软件库内的组件的更新。这些更新组件并不属于正式的发行,所以在扩展 CentOS 的功能同时牺牲了与先前版本兼容性。启用这个软件库会导致 CentOS 与正式版本有差别。默认情况下是不启用这个库的,用户应该明白这样做的后果才启用 centosplus。contrib 这个软件库包含了 CentOS 用户贡献的组件,它们并不会与核心发行版本的组件重叠。这些组件并没有经过 CentOS 的开发者测试,亦未必会同步跟随 CentOS 正式版本的发行。默认情况下是不启用这个库的,用户应该明白这样做的后果才启用contrib。5.库格式:
[base]
#仓库名字name=CentOS-$releasever – Base#这个可以理解为仓库的描述,这个可以不写这一行mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/#库的地址enable =1# 是否启用这个库,1 是启用,0 是不启用,如果 enable 参数缺失,默认为启用gpgcheck=1#是否检查软件的 KEY,1 是启用,0 是不启用gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6#KEY 文件路径6.以RepoForge 源为例,配置软件源
a.首先确认系统是否安装了 yum-priorities 这个yum 的插件,这个插件是用来保证安装软件时候软件仓库先后次序,一般是默认先从官方源安装,然后从第三方软件仓库中安装
b.安装完以后查看 /etc/yum/pluginconf.d/priorities.conf 文件,确认文件中有这三行:
[main]enabled=1 #启用本插件check_obsoletes=1 #防止一些已经废弃(obsoletes)的包的出现c.到 RepoForge 官方网站 http://repoforge.org/use/ ,根据所使用的 Linux发行版本选择适合的 rpmforge 发行包,复制链接
cat /etc/centos-release #查看发行版本号
uname –r #查看内核版本号和机器架构
d.用wget和rpm下载安装
e.用文本编辑器打开 /etc/yum.repos.d/ rpmforge.repo,找到如下 rpmforge 仓库配置部分,并在此部分最后添加“priority = 10”,表示该源的优先级较低:优先级由 1 ~ 99 的 99 个数表示,1 的优先级最高。优先级小的源即使有某软件的较新版本,如果优先级高的源中没有,在启用该插件的情况下,系统也无法安装/升级到该较新版本。图形界面的 YUM 工具一般默认就已经包含了优先级插件。
f.用 vim 打开 CentOS-Base.repo,找到如 base、updates 和 extra 仓库配置部分,并在分别这些部分最后添加“priority = 1”: