设为首页 收藏本站
查看: 1208|回复: 0

[经验分享] Linux程序包管理之RPM、YUM

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-12-8 09:59:43 | 显示全部楼层 |阅读模式
RPM
简介
     RPM:redhat package manager, RPM is Package Manager;是红帽公司研发的一种包管理器
其功能主要有安装、卸载、查询、升级和校验;由此,下面对其功能做详细介绍:
1.1 发行号;
在介绍其功能之前,先看一下其发行号的
eg:bash-4.3.2-1.x86_64.rpm
name(包名)-Major(主版本号).Minor(次版本号).Release(发行号)-release.arch(适用硬件平台).rpm
注意:-release,rpm包自己的发行号,与源代码的发行号无关;仅用于标识对rpm自身的修订


1.2安装;
rpm {-i|--install} [install-options] PACKAGE_FILE ...

rpm -ivh [install-options] PACKAGE_FILE
i:install
        v:安装过程详细程度,想再详细,则-vv,-vvv,...
        h:hash,显示安装包进度条,#显示
[install-options]:
--replacepkgs:重新安装
--nodeps: 忽略依赖关系
--test: 测试安装,而不执行真正的安装过程;


1.3卸载
rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] [--notriggers] [--test] PACKAGE_NAME ...
rpm -e PACKAGE_NAME ...
--nodeps: 忽略依赖关系
-test: 卸载测试
注意:如果包的配置文件安装后曾被改动过,卸载时,此文件将不会删除,而是被重命名(原文件加.rpmsave后缀)并保留;


1.4升级
用较高版本程序包替换安装原有较老的程序包的过程
rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
         如果有较旧版本程序包,则升级安装;否则,则执行安装操作;
rpm {-F|--freshen} [install-options] PACKAGE_FILE ...
         如果有较旧版本程序包,则升级安装;否则,中止;
          rpm -Uvh [install-options] PACKAGE_FILE ...
         rpm -Fvh
          [install-options]
  --oldpackage:降级安装;
  --force: 忽略冲突,强制执行过程;

注意:不要对内核包执行升级操作;linux支持多版本内核并存,因此,对新版本内核可直接安装;如果原程序包的配置文件安装后曾被改动,升级时,新版本的文件并不会直接覆盖老版本的文件,而是把新版本的文件重命(加后缀.rpmnew)名后保留;


1.5查询

检查某包是否已经安装,或检查安装的所有包
rpm {-q|--query} [select-options] [query-options]
      [select-options]:
      1、查询某包是否安装:
       rpm -q PACKAGE_NAME ...
      2、查询已安装的所有包:
       rpm -qa
      3、查询某文件是由哪个包安装生成:
       rpm -qf /path/to/somefile
      4、查询尚未安装包的相关信息:
rpm -qpl PACKAGE_FILE
rpm -qpi PACKAGE_FILE

1.6校验
    目的:检查包安装之后生成的文件是否发生了改变
    rpm {-V|--verify} [select-options] [verify-options]

   常用用法:rpm -V PACKAGE_NAME


       S file Size differs                                                                     文件大小改变
       M Mode differs (includes permissions and file type)             模式改变(包括许可和文件类型)
       5 digest (formerly MD5 sum) differs                                       MD5校验和不一致
       D Device major/minor number mismatch                               主次设备号不匹配
       L readLink(2) path mismatch                                                   readLink(2)路径不匹配
       U User ownership differs                                                         属主不一样
      G Group ownership differs                                                      属组不一样

       T mTime differs                                                                       修改时间不一样
       P caPabilities differ                                                                  包提供功能改变


1.7包来源合法性及完整性验正:
                rpm --import PUBKEY ...
                rpm {-K|--checksig} [--nosignature] [--nodigest] PACKAGE_FILE ...
                                --nosignature: 不检查来源合法性
                                --nodigest: 不检查完整性


1.8公共数据库:/var/lib/rpm
                重建数据库
                         rpm {--initdb|--rebuilddb}
                         初始化:--initdb

                                 如果事先不存在数据,则会新之;否则,不执行任何操作
                         重新构建:--rebuilddb

                                 无论当前是否已经存在数据库,都会直接重建并覆盖现有数据库;


YUM
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
其主要功能简介:
2.1安装:
yum install PACKAGE_NAME ... (不指定版本号则通常为yum仓库里面最新版本)     
yum install PACKAGE-VERSION (如果要安装指定的版本的程序)
yum reinstall PACKAGE_NAME ...(重装指定的程序包)
       
2.2升级:

yum update PACKAGE_NAME      (更新到最新版本)
yum update PACKAGE-VERSION  (  升级到指定版本)       
yum downgrade PACKAGE_NAME (降级)
yum check-update       (检查可用升级)
        
2.3 卸载:

yum erase|remove PACKAGE_NAME  (删除卸载程序包)
注意:依赖于指定程序包的其它包,会被一并卸载;



2.4查询:

yum list  (列出所有包文件,可搭配grep查询软件包,如yum list | grep kernel)
yum repolist  (列出所有可用yum仓库)
yum info PACKAGE_NAME  (显示包详细信息,即使没有安装)
yum search KEYWORD  ( 根据关键字模糊查询包名或包的sumary信息包含此KEYWORD的相关列表;)
yum provides|whatprovides /path/to/somefile
2.5包组管理:
yum grouplist    (显示所有包组)
yum groupinfo "GROUP_NAME"     (显示指定包组的相关信息)
yum groupinstall "GROUP_NAME"       (安装包组-method1)                                      
yum install @GROUP_NAME              (安装包组-method2)

yum groupremove "GROUP_NAME"  (卸载包组-method1)
yum remove @"GROUP_NAME"   (卸载包组-method2)
yum groupupdate "GROUP_NAME"      (升级包组)
                       
2.6yum安装本地rpm包文件:
yum localinstall /path/to/rpm_package_file ...  (适用CentOS7之前版本,如:CentOS6)
yum install /path/to/rpm_package_file ...   (适用CentOS 7)


2.7其他yum选项:
--enablerepo=       (启用指定的yum仓库)
--disablerepo=       (禁用某yum仓库)
注意:优先级高于/etc/yum.repos.d/*.repo配置文件中定义的属性;
-y: 自动回答为yes   (常用于想自动安装程序包)
--nogpgcheck         (忽略程序包校验)

更多信息请参考:https://access.redhat.com/search ... rtal_language=zh_CN,en&portal_component=yum



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-37563-1-1.html 上篇帖子: rrdtool学习和自定义脚本绘制图形备忘 下篇帖子: 进程管理工具之ps top详解 Linux 程序
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表