8.管好软件

1.用rpm管理软件包

1.完整软件包名:
软件包名称,版本号和发行版本,硬件架构

软件包架构,指的是此软件对机器架构的最低要求:
 i386, i586, i686 32位,适于任何现有的 Intel 兼容计算机
noarch 适于所有架构
ppc 适于 PowerPC 系统,例如 Apple Pow er Macintosh
x86_64 适于 64 位 Intel 处理器,例如 Intel Core i7

rpm 包有二进制安装包(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.org
2.到 CentOS 或者 Fedora 的 Public Mirror List 中去查找最快的 CentOS 或者 Fedora rpm 官方源:
CentOS:http://www.centos.org/modules/tinycontent/index.php?id=13
Fedora: http://mirrors.fedoraproject.org/publiclist/

3.为兼容 RHEL 的 Linux 发行版本提供第三方源,比较常用的有:
EPEL 源:https://fedoraproject.org/wiki/EPEL/zh-cn 

RepoForge 源: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”:

原文地址:https://www.cnblogs.com/Wang-Y/p/8457439.html