yum命令,他是Red Hat所特有的安装RPM程序包的工具。使用RPM工具安装某个程序包时,有可能会因为该程序包依赖另一个程序包而无法安装:而使用yum工具时,就可以连同依赖的程序包一起安装。
一、RPM工具:
RPM(Red Hat Package Manager)是以一种数据库记录的方式将我们所需的套件安装到Linux主机的一套管理程序。RPM包是预先在Linux机器上编译并打包的文件,安装非常快捷。但他也有一些缺点,比如安装环境必须与编译时的环境一致或者相当,包与包之间存在着相互依赖的情况,卸载包时需要先把依赖的包卸载。如果依赖的包是系统所必需的,就不能卸载这个包,否则系统会崩溃。
挂载光驱后,会在/mnt/Packages目录下看到很多后缀为.rpm的文件,这些文件就是RPM包。
1.安装RPM包:
- 安装时提示:warning: *.rpm: Header V3 RSA/SHA256 Signature, keykey ID c105b9de: NOKEY
- 解决的方法就是在rpm 语句后面加上 --force --nodeps
- 即原本为 rpm -ivh *.rpm 现在改成 rpm -ivh *.rpm --force --nodeps就可以了。nodeps的意思是忽视依赖关系。因为各个软件之间会有多多少少的联系。有了这两个设置选项就忽略了这些依赖关系,强制安装或者卸载。
-i:表示安装
-v:表示可视化
-h:表示显示安装进度
--force:表示强制安装,即使覆盖属于其他包的文件也要安装。
--nodeps:表示当要安装的RPM包依赖于其他包时,即使其他包没有安装,也要安装这个包。
2.升级RPM包:rpm -Uvh filename,其中-U选项代表着升级。
3.卸载RPM包:rpm -e filename,这里的filename是通过rpm的查询功能所查询到的。下面先查找一个已经安装的包,然后使用-e选项卸载他。
卸载时,-e选项后面的filename和安装时是有区别的。安装时,是把一个存在的文件作为参数,而卸载时只需要包名即可。
4.查询一个包是否安装:rpm -q RPM包名,这里的“包名”是不带平台信息和后缀名的。
可以使用rpm -qa 查询当前系统所有已安装的RPM包。
5.得到一个已安装的RPM包的相关信息:rpm -qi 包名,这里也不需要加平台信息和后缀名。
6.列出一个RPM包的安装文件:rpm -ql 包名
可以看出,文件/usr/lib64/libjpeg.so是通过安装libjpeg-turbo-devel这个RPM包得来的。
7.列出某个文件属于哪个RPM包:rpm -qf 文件的绝对路径
二、yum工具:
yum工具的最大优势在于可以联网去下载所需要的RPM包,然后自动安装。如果要安装的RPM包有依赖关系,yum工具会帮我们依次安装所有相关的RPM包。
1.列出所有可用的RPM包:使用yum list命令,可以列出所有RPM包资源。
yum grouplist 查看以组安装的包 / 查看可能批量安装哪些列表
2.搜索RPM包:yum search [相关关键词]
还可以用grep来过滤,从而找到相应的RPM包
3.安装RPM包:yum install [-y] [RPM包名],如果不加-y选项,则会以与用户交互的方式安装。
yum groupinstall [-y] 安装一个安装包,包含了很多单个软件,以及单个软件的依赖关系。
4.卸载RPM包:yum remove [-y] [RPM包名]
5.升级RPM包:yum update [-y] [RPM包]
6.查询某个程序所在安装包:yum provides “/*/vim”
7.yum本地仓库:
(1) 挂载镜像
# mount /dev/cdrom /mnt
(2) 删除/etc/yum.repos.d目录下所有的repo文件(删除之前,先做一个备份)
# cp -r /etc/yum.repos.d /etc/yum.repos.d-bak
# rm -rf /etc/yum.repos.d/*
(3) 创建新文件dvd.repo
# vim /etc/yum.repos.d/dvd.repo //加入以下内容
[dvd]
name=install dvd
baseurl=file://mnt
enabled=1
gpgcheck=0
(4) 刷新repos生成缓存
#yum makecache
(5) 清除yum缓存
# yum clean all
8.更换yum仓库源:
(1) 进入目录
cd /etc/yum.repos.d/
(2) 删除对应repo文件
rm -rf dvd.repo
(3) 下载对应repo源
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
或者
curl -O http://mirrors.163.com/.help/CentOS7-Base-163.repo
(4) 查看安装列表信息并安装对应的包
yum list
9.安装扩展源epel:
安装软件包
yum install -y epel-release
列出包资源
yum list |grep epel
10.利用yum工具下载rpm包:
(1) 下载RPM包而不安装
yum install -y 包名--downloadonly
(2) 下载到指定目录
yum install -y 包名 --downloadonly --downloaddir=路径
(3) 已经安装的包重新安装
yum reninstall -y 包名 --downloadonly --downloaddir=路径
11.安装源码包:
安装源码包的三个步骤:
- ./configure
- make
- make install
(1) 下载源码包:把httpd的源码包下载到/usr/local/src目录下
cd /usr/local/src/
wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.2.32.tar.gz
(2) 解压源码包
tar -zxvf httpd-2.2.32.tar.gz
(3) 配置相关的选项并生成Makefile
cd httpd-2.2.32
./configure --prefix=/usr/local/apache2
(4) 进行编译
make
(5) 安装源码包
make install