- 厂商现在他们的系统上编译好了我们用户所需要的软件,然后将这个编译好成可执行的文件直接发布给用户来安装,客户端取得这个软件后,只要通过特定的命令来安装,该软件文件就会按照内部的脚本来检测先关的前驱软件是否存在,若安装的环境符合要求,就会开始安装
- CentOS系统使用的软件管理机制为RPM机制,而用来作为在线升级的方式则为yum
- RPM全名是“RedHat Pakage Manager”,简称则为RPM。RPM是一种以数据库记录的方式来将你所需要的软件安装到Linux系统的一套管理机制
- SRPM是Source RPM的意思,也就是这个RPM文件里面含有的源代码
- RPM文件必须要在相同的Linux环境下才能够安装,而SRPM既然是源代码的格式,自然我们就可以通过修改SRPM内的参数设置文件,然后重新编译生成适合我们Linux环境的RPM文件
- CentOS先将发布的软件放置到YUM服务器内,然后分析这些软件的依赖属性问题,将软件记录信息写下来(header),然后再将这些信息分析后记录成软件相关性的清单列表,这些列表数据与软件所在的位置可以成为容器(repository)。当客户端有升级、安装的需求时,yum会向容器要求清单的更新,等到清单更新到本机/var/cache/yum里面后,等一下更新时就会用这个本机清单与本机的RPM数据库进行比较,这样就知道该下载什么软件。接下来yum会跑到容器服务器下载所需要的软件,然后再通过RPM机制开始安装软件
- rpm命令有查询功能,可以很轻易的知道某个系统有没有安装我们所需要的软件。rpm安装命令参数可以直接使用-ivh就好了
- rpm -qa可以列出所有的已经安装在本机Linux系统上的所有软件名称
- RPM提供了一个可以验证原本的文件系统的方法,其作用的方式是使用/var/lib/rpm下面的数据库内容来比较目前Linux系统的环境下的所有软件文件
- 验证给出的参数信息如下几个,SM5DLUGT,也就是说,如果一个文件的所有的信息都被改动过,就会显示以上信息,每个字符表示一种内容,比如S表示文件的容量大小
- 如果RPM数据库var/lib/rpm内的文件损坏,则可以使用–rebuilddb这个参数来重建一下数据库
- 新版的rpm已经将RPM与SRPM的命令分开了,SRPM使用的是rpmbuild这个命令,而不是rpm(忍不住吐槽一下,每次提到rpm就想到健身房教练单车课时喊的欢迎大家参加这一期的rpm^_^)
- 由于SRPM需要重新编译,所以我们至少需要有make与其相关的程序,及gcc、c、c++等其他的编译用的程序语言来进行编译
- 要在将/usr/src/redhat下面的数据编译或者是单纯打包为RPM或者SRPM时,就需要使用rpmbuild命令与相关选项的帮忙了,比如rpmbuild -ba rp-pppoe.spec表示编译并同时生成RPM与SRPM文件,rpmbuild -bb rp-pppoe.spec表示仅编译成RPM文件
- yum命令具有查询功能, 列出yum服务器上的提供的所有软件名称,直接yum list即可
- 安装与升级功能直接使用yum install 软件名称或者yum update 软件名称,yum remove 软件名称表示删除该软件
- yum是架构在rpm上面发展起来的,还是要了解一些rpm
- 删除已下载过的所有容器的相关数据(含软件本身列表)直接使用yum clean all
- yum具有软件组功能,yum grouplist可以列出目前容器与本机上面的可用与安装过的软件组
- 在管理上,rpm和tarbal,优先选择原厂的rpm功能
- RPM最大的问题就是软件依赖性问题
(五)Linux学习之——软件管理
最新推荐文章于 2026-06-26 21:11:15 发布
本文介绍了CentOS系统中软件的管理机制RPM及其在线升级方式yum的工作原理。详细解析了RPM与SRPM文件的区别,以及如何利用rpm与rpmbuild命令进行软件的安装、验证和重新编译。此外,还概述了yum如何实现软件的搜索、安装、更新与删除等功能。
Linux学习之——软件管理&spm=1001.2101.3001.5002&articleId=80035030&d=1&t=3&u=1ec9021c7c494dcbb3d8f19312e7f254)
929

被折叠的 条评论
为什么被折叠?



