首先大家要注意的是yum与 rpm 都是虚拟机的软件安装与管理命令,他们两的主要区别:
rpm(全 称为 Redhat Package Manzger)是由红帽公司开发的软件包管理方式,使用rpm我们可以方便的进行软件的安装、查询、卸载、升级等工作。但是rpm软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个rpm包组成时。
Yum(全 称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载 RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
yum 与 rpm 的关系就如同apt (前端)和dpkg(后端)。
yum 的操作命令
- yum clean all 清除原有yum缓存
- yum repolist 列出仓库信息
- yum install software 安装
- yum update 更新
- yum list software 查看软件
- yum list all 查看所有软件
- yum list installed 列出已安装软件
- yum list available 列出可安装软件
- yum reinstall software 重新安装删除/etc/dhcp/dhcpd.comf文件后dhcp服务服务有问题,不用卸载,重装就行。
重装后,误删的文件会恢复。
- yum remove software 卸载
- yum info software 查看软件信息
- yum search software 根据软件信息查找软件
- yum whatprovides file 根据文件找出包含此文件的软件
- yum groups list 列出软件组
yum groups info 查看软件组的信息
yum groups install sfgroup 安装软件组
yum groups remove sfgroup 卸载软件组
yum黑名单
vim /etc/yum.conf
编辑内容:
exclude=要被屏蔽的文件名
eg:
exclude=*zzip* #屏蔽软件名中含有zzip的软件
检测是否生效:
yum list
修改前:
修改后:
rpm 命令
- rpm -i 安装
-v 显示过程
-h hash加密
-e 卸载
-q 查看
-a 所有
-p 软件包
--scritps 查看脚本
--nodeps 安装软件忽略软件依赖
--force 强行安装软件
--Kv 检测软件包是否被篡改
- rpm -Kv softwarename.rpm 查看软件包是否被篡改
在软件包中追加hello,可以看到这样的软件包检测结果为:MD5 digest: BAD Expected
- rpm -ivh softwarename.rpm 查看软件包的依赖性
- rpm -qp softwarename.rpm --scripts 查看软件包在安装或卸载过程的动作
注意:为了正常安装和保证系统安全,以上3个命令的信息在安装前必须查看
- rpm -ivh softwarename.rpm --nodeps 忽略软件依赖性
- rpm -ivh softwarename.rpm --force 强制安装软件包
- rpm -ivh softwarename.rpm --nodeps --force 忽略软件依赖性强制安装
- rpm -qlp softwarename.rpm 查询软件安装后生成什么文件
- rpm -qp softwarename.rpm 查询软件包安装后的名字
- rpm -qf filename 查看filename所属软件包
- rpm -qi softwarename 查看软件信息
软件包名称详解
wps-office-10.1.0.5672-1.a21.x86_64.rpm
[1] [2] [3] [4] [5]
[1]
软件名称
[2]
版本
[3]
适用的系统
[4]
架构
[5]
适用rpm体系软件
拆分软件包
当不小心软件文件被删除可以将包拆分,复制删除的文件,软件就可以使用了
- [root@localhost mnt] which kolourpaint
/usr/bin/kolourpaint
- [root@localhost mnt] rm -fr /usr/bin/kolourpaint 误删除软件文件
[root@localhost mnt] kolourpaint 软件无法使用
- [root@localhost mnt] cp lourpaint-4.10.5-4.el7.x86_64.rpm /mnt 将软件包拷贝到/mnt目录里
- [root@localhost mnt]# rpm2cpio kolourpaint-4.10.5-4.el7.x86_64.rpm | cpio -id 拆分软件包
3861 blocks
[root@localhost mnt]# ls
kolourpaint-4.10.5-4.el7.x86_64.rpm usr
- [root@localhost mnt]# cd usr/
[root@localhost usr]# ls
bin share
- [root@localhost usr]# cd bin/
[root@localhost bin]# ls
kolourpaint
- [root@localhost bin]# cp kolourpaint /usr/bin/ 将删除文件拷贝到指定目录
- [root@localhost bin]# kolourpaint 软件可以正常实用