yum常识:yum是c/s架构的工具。
原理:当我们安装软件时,yum将会使用各个yum库中的元数据文件进行分析该软件,将这个软件及其安装所需要其他软件或库文件一并找出,并根据当前系统上已经安装的软件列出最终还需要下载安装的软件。之后yum调用rpm进行安装该程序及其所有依赖。这比单独使用rpm自己解决依赖快多了。
yum仓库中的元数据文件是非成重要的,没有他们yum是无法解决依赖关系的。他们分别是:
yum仓库中的元数据文件:
primary.xml.gz
所有RPM包的列表;
依赖关系;
每个RPM安装生成的文件列表;
filelists.xml.gz
当前仓库中所有RPM包的所有文件列表;
other.xml.gz
额外信息,RPM包的修改日志;
repomd.xml
记录的是上面三个文件的时间戳和校验和;当yum缓存中的元数据已经和库中的元数据文件不一致了,yum就会重新从服务器或者yum库中下载元数据文件。
yum软件的配置文件和yum库配置文件分别为/etc/yum.conf /etc/yum.repos.d
/etc/yum.repos.d这个目录下存放了yum使用的所有库,我们安装的所有软件都是从这些配置文件指定的服务器或者yum库中下载的。我们可以自由添加好用的yum原——库。格式如下:
如何为yum定义repo文件
[Repo_ID] #源id
name=Description #源名字
baseurl= #源地址
ftp://
http://
file:///
enabled={1|0} #是否使用该源
gpgcheck={1|0} #是否校验其完整性和来源合法性,如果校验则必须提供相应的校验密钥。必须给出下边的gpgkey的url路径(校验所需的密钥都是提供软件的组织给出的。)
gpgkey=
正菜:yum的使用语法:
yum [options] [command] [package ...]
-y: 自动回答为yes
--nogpgcheck
list: 列表
支持glob
all
available:可用的,仓库中有但尚未安装的
installed: 已经安装的
updates: 可用的升级
例子:yum list all | grep mysql*
repolist: 显示repo列表及其简要信息
all
enabled: 默认
disabled
例子:yum repolist enable
install: 安装
update: 升级
update_to: 升级为指定版本
例子:yum install mysql
remove|erase:卸载
例子:yum remove mysql
info:查看信息类
provides| whatprovides: 查看指定的文件或特性是由哪个包安装生成的;
groupinfo
grouplist
groupinstall
groupremove
groupupdate
例如:
Yum install mysql //安装
Yum remove mysql //卸载
Yum update mysql //升级某软件
Yum list installed| grep mysql* 查看是否安装某个软件
Yum info mysql 查看是否安装某个软件
编译安装软件前需要安装开发环境: yum grouplist 查找“Dvelopment tool” “Development Librarys”
Yum groupinstall Dvelopment tool