2018-04-27 《鸟哥的Linux私房菜 基础学习篇(第四版)》 第22章 软件安装RPM, SRPM 与YUM 笔记
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018-04-27 《鸟哥的Linux私房菜 基础学习篇(第四版)》 第22章 软件安装RPM, SRPM 与YUM 笔记相关的知识,希望对你有一定的参考价值。
Linux 界软件安装方式最常见的有两种:
?dpkg:这个机制最早是由 Debian Linux 社群所开发出来的,透过 dpkg 的机制, Debian 提供的软件就能够简单的安装起来,同时还能提供安装后的软件信息,实在非常不错。 只要是衍生于 Debian 的其他 Linux distributions 大多使用 dpkg 这个机制来管理软件的, 包括 B2D, Ubuntu 等等。
?RPM:这个机制最早是由 Red Hat 这家公司开发出来的,后来实在很好用,因此很多 distributions 就使用这个机制来作为软件安装的管理方式。包括 Fedora, CentOS, SuSE 等等知名的开发商都是用这咚咚。
distribution 代表 软件管理机制 使用指令 在线升级机制(指令)
Debian/Ubuntu DPKG dpkg APT (apt-get)
Red Hat/Fedora RPM rpm, rpmbuild YUM (yum)
RPM 全名是『 RedHat Package Manager 』。RPM 的扩展名:xxx.rpm
RPM 是一个将你要安装的软件先编译过并且打包成为 RPM 机制的包装文件。透过包装好的软件里头默认的数据库记录, 记录这个软件要安装的时候必须具备的相依属性软件。当你在你的 Linux 主机进行安装操作时, RPM 会先依照软件里头的数据查询 Linux 主机的相依属性软件是否满足, 若满足则予以安装,若不满足则不予安装。安装的时候还将该软件的信息整个写入 RPM 的数据库中,以便未来的查询、验证与反安装。
RPM文件安装时的要求:
1. 软件文件安装的环境必须与打包时的环境需求一致或相当;
2. 需要满足软件的相依属性需求;
3. 反安装时需要特别小心,最底层的软件不可先移除,否则可能造成整个系统的问题。
rpm文件名的意义,例如rp-pppoe-3.11-5.el7.x86_64.rpm :
rp-pppoe -3.11 -5 .el7.x86_64 .rpm
软件名称 软件的版本信息 释出的次数 适合的硬件平台 扩展名
RPM 的优点:
? RPM 内含已经编译过的程序与配置文件等数据,可以让用户免除重新编译的困扰;
? RPM 在被安装之前,会先检查系统的硬盘容量、操作系统版本等,可避免文件被错误安装;
? RPM 文件本身提供软件版本信息、相依属性软件名称、软件用途说明、软件所含文件等信息,便于了解软件;
? RPM 管理的方式使用数据库记录 RPM 文件的相关参数,便于升级、移除、查询与验证。
RPM 的缺点:
? 由于 RPM 文件是已经编译、包装好的数据,无法再修改参数配置文件,所以,该软件文件几乎只能安装在原本默认的硬件与操作系统版本中。
? 有些软件是有相关性的,如果RPM软件安装时,却找不到它相关的前驱软件,此时就无法安装。
SRPM Source RPM 的意思。RPM 文件里面含有原始码。SRPM 的扩展名格式是***.src.rpm。
SRPM文件的作用:可以通过修改SRPM 内的参数配置文件,重新编译产生能适合我们 Linux 环境的 RPM 文件。
SRPM文件的安装:
? 先将该软件以 RPM 管理的方式编译,此时 SRPM 会被编译成为 RPM 文件;
? 然后将编译完成的 RPM 文件安装到 Linux 系统当中
/root/rpmbuild/:
specs 这个目录当中放置的是该软件的配置文件,例如这个软件的信息参数、设定项目等等都放置在这里;
suorces 这个目录当中放置的是该软件的原始文件 (*.tar.gz 的文件) 以及 config 这个配置文件;
build 在编译的过程中,有些暂存的数据都会放置在这个目录当中;
rpms 经过编译之后,并且顺利的编译成功之后,将打包完成的文件放置在这个目录当中。里头有包含了 x86_64, noarch.... 等等的次目录。
srpms 与 RPMS 内相似的,这里放置的就是 SRPM 封装的文件啰!有时候你想要将你的软件用 SRPM 的方式释出时, 你的 SRPM 文件就会放置在这个目录中了。
crontab
纠正:
找出文件的实际路径:find /mnt -name ‘pam-devel*‘
在 Linux 底下也有相当优异的搜寻指令呦!通常 find 不很常用的!因为速度慢之外, 也很操硬盘!一般我们都是先使用 whereis 或者是 locate 来检查,如果真的找不到了,才以 find 来搜寻呦! 为什么呢?因为 whereis 只找系统中某些特定目录底下的文件而已, locate则是利用数据库来搜寻文件名,当然两者就相当的快速, 并且没有实际的搜寻硬盘内的文件系统状态,比较省时间啦!
以上是关于2018-04-27 《鸟哥的Linux私房菜 基础学习篇(第四版)》 第22章 软件安装RPM, SRPM 与YUM 笔记的主要内容,如果未能解决你的问题,请参考以下文章