Linux下的YUM与RPM的使用及区别

用过Linux系统的人都应该知道yum,即使不知道也应该见过这个命令。RPM对于入门及都算不上的大部分个人站长更是少见,这个两个命令在我们管理Linux主机中使用非常频繁,正确使用它们才能让我们事半功倍!

Linux教程

Linux教程

YUM详解

一、yum是什么

yum = Yellow dog Updater, Modified主要功能是更方便的添加/删除/更新RPM包,它能自动解决包的倚赖性问题,同时它也能便于管理大量系统的更新问题。

注:为什么要使用yum而不用apt,最简单的原因,Fedora自带

二、yum特点

可以同时配置多个资源库(Repository)

简洁的配置文件(/etc/yum.conf)

自动解决增加或删除rpm包时遇到的倚赖性问题

使用方便

保持与RPM数据库的一致性

三、yum命令详解

yum check-update 检查可更新的所有软件包
yum update 下载更新系统已安装的所有软件包
yum upgrade 大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级
yum install 安装新软件包
yum update 更新指定的软件包
yum remove 卸载指定的软件包
yum groupinstall 安装指定软件组中的软件包
yum groupupdate 更新指定软件组中的软件包
yum groupremove 卸载指定软件组中的软件包
yum grouplist 查看系统中已经安装的和可用的软件组
yum list 列出资源库中所有可以安装或更新以及已经安装的rpm包
yum list 列出资源库中与正则表达式匹配的可以安装或更新以及已经安装的rpm包
yum list available 列出资源库中所有可以安装的rpm包
yum list available 列出资源库中与正则表达式匹配的所有可以安装的rpm包
yum list updates 列出资源库中所有可以更新的rpm包
yum list updates 列出资源库中与正则表达式匹配的所有可以更新的rpm包
yum list installed 列出资源库中所有已经安装的rpm包
yum list installed 列出资源库中与正则表达式匹配的所有已经安装的rpm包
yum list extras 列出已经安装的但是不包含在资源库中的rpm包
yum list extras 列出与正则表达式匹配的已经安装的但是不包含在资源库中的rpm包
yum list recent 列出最近被添加到资源库中的软件包
yum search 检测所有可用的软件的名称、描述、概述和已列出的维护者,查找与正则表达式匹配的值
yum provides 检测软件包中包含的文件以及软件提供的功能,查找与正则表达式匹配的值
yum clean headers 清除缓存中的rpm头文件
yum clean packages 清除缓存中rpm包文件
yum clean all 清除缓存中的rpm头文件和包文件
yum deplist 显示软件包的依赖信息

RPM

一、RPM包管理的用途

1、可以安装、删除、升级和管理软件;当然也支持在线安装和升级软件;

2、通过RPM包管理能知道软件包包含哪些文件,也能知道系统中的某个文件属于哪个软件包;

3、可以在查询系统中的软件包是否安装以及其版本;

4、作为开发者可以把自己的程序打包为RPM 包发布;

5、软件包签名GPG和MD5的导入、验证和签名发布

6、依赖性的检查,查看是否有软件包由于不兼容而扰乱了系统;

二、RPM 的使用权限

RPM软件的安装、删除、更新只有root权限才能使用;对于查询功能任何用户都可以操作;如果普通用户拥有安装目录的权限,也可以进行安装;

三、rpm 的一点简单用法

我们除了软件包管理器以外,还能通过rpm 命令来安装;是不是所有的软件包都能通过rpm 命令来安装呢?不是的,文件以.rpm 后缀结尾的才行;有时我们在一些网站上找到file.rpm ,都要用 rpm 来安装;

rpm执行安装包

二进制包(Binary)以及源代码包(Source)两种。二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译、安装。源代码包经常以src.rpm作为后缀名。

常用命令组合:

-ivh:安装显示安装进度–install–verbose–hash
-Uvh:升级软件包–Update;
-qpl:列出RPM软件包内的文件信息[Query Package list];
-qpi:列出RPM软件包的描述信息[Query Package install package(s)];
-qf:查找指定文件属于哪个RPM软件包[Query File];
-Va:校验所有的RPM软件包,查找丢失的文件[View Lost];
-e:删除包

rpm -q samba //查询程序是否安装
rpm -ivh /media/cdrom/RedHat/RPMS/samba-3.0.10-1.4E.i386.rpm //按路径安装并显示进度
rpm -ivh –relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm //指定安装目录
rpm -ivh –test gaim-1.3.0-1.fc4.i386.rpm    //用来检查依赖关系;并不是真正的安装;
rpm -Uvh –oldpackage gaim-1.3.0-1.fc4.i386.rpm //新版本降级为旧版本
rpm -qa | grep httpd      #[搜索指定rpm包是否安装]–all搜索*httpd*
rpm -ql httpd         #[搜索rpm包]–list所有文件安装目录
rpm -qpi Linux-1.4-6.i368.rpm #[查看rpm包]–query–package–install package信息
rpm -qpf Linux-1.4-6.i368.rpm #[查看rpm包]–file
rpm -qpR file.rpm       #[查看包]依赖关系
rpm2cpio file.rpm |cpio -div #[抽出文件]
rpm -ivh file.rpm  #[安装新的rpm]–install–verbose–hash
rpm -ivh
rpm -Uvh file.rpm #[升级一个rpm]–upgrade
rpm -e file.rpm #[删除一个rpm包]–erase

yum与rpm的区别:rpm适用于所有环境,而yum要搭建本地yum源才可以使用!yum是上层管理工具,自动解决依赖性,而rpm是底层管理工具。

本文转载自旷野历程的CSDN博客,分享知识,传递快乐。

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/242194.html

(0)
上一篇 2022年4月7日 17:13
下一篇 2022年4月7日 17:14

相关推荐

发表回复

登录后才能评论