[9-5]Rpm与Yum安装包管理知识梳理

本文旨在复习Linux上安装包管理rpm与yum工具

知识储备


  • 所谓的包管理是指在Linux平台上查询、校验、安装、升级、卸载以及打包package
  • 不同的Distribution Linux上包管理工具各不相同,最主流的有通吃RedHat/CentOS的RPM、YUM、DNF[新一代的前端管理工具],Debian上的APT管理工具
  • 一个程序包package通用组成部分
    • 二进制程序:/bin, /sbin,/, /usr/bin, /usr/sbin,
    • 库文件:/lib, /lib64, /usr/lib64
    • 配置文件:/etc
    • 帮助文件:manual, info, readme.txt, install.txt等

RPM基础知识



● RPM打包机制:基于specs文件的打包,specs这个文件指挥着如何打包,按照何种规则组织包的元数据、包内容等等,可以使用rpmbuild命令

● RPM分包机制:有些程序在设计时除了核心功能外还有各种附加小功能,打包者选择性组合这些功能对源码程序打包,分为了核心包和支包,核心包通常名为software-version,支包通常为software-devel-version

● RPM包命名机制:5段命名法

● 包依赖关系

一个包B的功能实现需要调用别包A的底层文件、服务、共享对象等,这种情况下单独安装packageB是无法成功的,需要安装好A包[可以强制忽略依赖关系安装B包,但是功能可能会受影响]

另外依赖关系可能有很多层,比如A包依赖B包C包,而B包又依赖D包等等,有可能无穷无尽也~

● 获取RPM包

RPM管理程序包



RPM主要能实现对package安装、升级、卸载、查询、校验等功能,并不能很好地解决依赖关系,需要手工安装!

安装与升级


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17


安装:
    rpm {-i|--install} [install-options] PACKAGE_FILE ...
        -ivh:安装包, v显示安装进度, 
        -ivvh: vv的作用是详细显示安装了哪些文件, 还有vvv
        --nodeps:忽略依赖关系强制安装, 可能导致软件功能不正常
        --replacepkgs:重装程序包

升级:
    rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
    rpm {-F|--freshen} [install-options] PACKAGE_FILE ...

-Uvh: 如果有旧版程序包,则升级之;如果没有,则安装之;
        -Fvh: 如果有旧版程序包,则升级之;如果没有,则不安装;

--nodeps:忽略依赖关系
        --oldpackage:降级,要带上这个参数
        --force:

例:安装sendmail包,可以很明显看到依赖关系,然后强制忽略依赖关系进行安装[只做演示,显示情况应妥善处理好依赖关系]

卸载和查询


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18


卸载:
     rpm {-e|--erase} [--nodeps] [--noscripts] [--notriggers] [--test] PACKAGE_NAME ...

查询:
     rpm {-q|--query} [select-options] [query-options]
            -qa: 查询本机已经安装的所有程序包;
            -qf /PATH/TO/SOMEFILE: 查询此处的文件由哪个程序包安装生成;

-qc: 查询指定程序包安装生成的配置文件
            -qd: 查询指定的程序包安装生成的文档
            -qi: 查询指定的程序包的相关信息;
            -ql: 查询程序包安装生成的所有文件的列表;
            -q --scripts:查询程序包相关的脚本:
                preinstall: 安装前脚本
                postinstall:安装后脚本
                preuninstall: 卸载前脚本
                postuninstall: 卸载后脚本
            -p: 查询针对是未安装的程序包文件;

例:查询本机已经安装的所有package可以使用rpm -qa,选择openssl安装包查看配置文件

包检验


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18


校验:
     rpm {-V|--verify} [select-options] [verify-options]
             S file Size differs
             M Mode differs (includes permissions and file type)
             5 digest (formerly MD5 sum) differs
             D Device major/minor number mismatch
             L readLink(2) path mismatch
             U User ownership differs
             G Group ownership differs
             T mTime differs
             P caPabilities differ

包校验:
        来源合法性验正:非对称加密
        完整性验正:单向加密

导入密钥:rpm --import /PATH/TO/KEY_FILE
        校验:rpm -K /PATH/TO/RPM_FILE

例:导入一份密钥文件,并且验证/tmp/sendmail该package是否合法完整

RPM几个要点



1.默认情况下只能够处理安装包,而不能解决依赖关系,依赖的包需要依次安装,有顺序

2.包来源请尽量确保安全,可以使用密钥进行合法性完整性验证,推荐去较大的mirrors站点下载

3.--nodeps可以忽略依赖关系安装,不推荐使用,可能导致若干问题

4.--scripts脚本,在某些package安装前后、卸载前后可以指定一些官方或自定义的脚本来实现自动化

YUM基本知识



时间: 2024-08-26 15:15:04

[9-5]Rpm与Yum安装包管理知识梳理的相关文章

rpm,yum程序包管理器

在早期我们在Linux上安装程序时,都采用的源代码来安装应用程序,这就意味着我们每次都要经过预处理,编译,汇编,链接最后生成可执行的二进制文件:这样的操作太过繁琐,为简化安装步骤,便于广大用户的安装部署程序,程序提供商就在特定的系统上面编译好相关程序的安装文件并进行打包,提供给大家下载,而对这些程序包进行管理的就是程序包管理器: 不同Linux发行版本,就有不同的程序包管理器:在这里列举一些常用的程序包管理器: 在Debian中dpkg工具来管理所有.deb后缀名的包文件:Redhat中就使用最

rpm和yum程序包的管理

rpm和yum程序包的管理 rpm简介: RPM,是RPM Package Manager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux.S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了. 程序包管理: 内核功能:进程管理.内存管理.网络协议栈.驱动程序.... 应用程序:由二进制程序.管理程序文件.配置文件.文档文件.帮助手册文件组成 程序包的组成部分: 二进

yum安装与管理

程序包管理 内核功能:进程管理.内存管理.网络协议栈.驱动程序.... 应用程序:特定功能 包管理器:打包,包管理(安装.升级.卸载.查询及校验) deb: debian rpm: redhat package manager RPM is Package Manager(包管理器) 程序包的组成部分: 二进制程序:/bin, /sbin,/ /usr/bin, /usr/sbin, 库文件:/lib64, /usr/lib64(程序共通的功能,代码运行时可以共通) 配置文件:/etc 帮助文件

yum程序包管理器浅谈

基于rpm安装程序包时,程序包之间的依赖性太过于复杂和麻烦,开发了yum程序包管理器,可以自行的解决程序包之间的依赖关系,并且一次性安装所有的有依赖关系的程序包,无须繁琐的下载依赖性的程序包,相对于rpm来说,rpm为基础包管理,yum是前端工具.而yum需要一个文件服务的服务器,总共有四种文件服务器:ftp服务,http服务,本地文件目录,NFS服务.yum命令工具可以通过配置文件,指向仓库的位置以及相关的各种配置信息:每个yum命令行可以同时指向多个仓库,仓库间可以优先级等相关的配置. 当y

Linux学习之:yum程序包管理命令

1.yum简述:   yum(全称 Yellow dog Updater, Modified)是一个前端软件包管理器.基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载.安装.              文件服务器:            ftp://. htpp:// .nfs://. file://                yum客户端:        配置文件:            /etc/yu

CentOS-rpm与yum程序包管理

作业(练习)内容: 1.总结rpm和yum实现程序包的管理功能. 要求:作业要图文并茂 一.RPM包管理的用途: 1.可以安装.删除.升级和管理软件:当然也支持在线安装和升级软件:2.通过RPM包管理能知道软件包包含哪些文件,也能知道系统中的某个文件属于哪个软件包:3.可以在查询系统中的软件包是否安装以及其版本:4.作为开发者可以把自己的程序打包为RPM 包发布:5.软件包签名GPG和MD5的导入.验证和签名发布6.依赖性的检查,查看是否有软件包由于不兼容而扰乱了系统: 二.RPM 的使用权限:

RPM(RPM Package Manager)程序包管理工具的常见使用方法

软件包有两种: 二进制格式的软件包和源码程序包. 如何选择适合自己的二进制格式的软件包? 1.根据CPU架构选择软件包 二进制格式的软件包就是已经把源程序转化为CPU所支持的指令集,它可以直接运行的.因为不同架构的CPU指令集不完全一样的.所以二进制格式的 软件包通常会标识适用于那种架构的CPU. CPU 常见平台arch:     1).Power  造价高.性能强劲     2).简化板的 PowerPC     3).UItraSparc     4).x86 功耗低,性能接近服务器级架构

yum源包管理器配置方法的详细总结

yum是红帽软件包管理器,可以查询有关可用的软件包的信息,使用来自yum仓库的rpm包,安装和卸载,并更新整个系统的最新版本.yum执行自动依赖解析更新时,安装或删除软件包,从而能够自动判断.获取和安装所有可用的依赖包. yum可以配置新的,额外的yum仓库或者包的来源,也提供了很多插件,增强和扩展其功能.同时yum还能够执行许多rpm包管理软件能够执行的工作:此外,许多命令行选项是相似的.yum是容易简单的包管理器在单一的机器. 下面的部分假设您的系统在安装过程中注册了红帽订阅管理,如红帽企业

LINUX RPM、YUM软件包的管理

一.RPM.YUM 软件包管理管理工具的简介 1.首先讲一下自己的感觉:对于 初学linux的人来说安装软件是比较头疼的事,大家习惯了windos的操作,是中文的,只要上网一搜什么都有,然后下一步安装就行啦,卸载的话更是简单,在卸载或更改程序了么也很简单,还有360等.linux软件包大致分三种:以.rpm .压缩包.源码包最为常见,却他们的安装方法也是有差别的.掌握好软件安装卸载工具是以后搭建服务不可缺少的必备能力,而 RPM.YUM 就是不可或缺的利器. 2.rpm的简单介绍 1.可以安装.