1.RPM简介
1. 相比于Tarball软件包,采用二进制文件形式安装软件的优点?
-
二进制文件安装形式比较简单
二进制形式安装软件,厂商已经根据不同的硬件环境将不同的系统软件已经进行了编译。因此,用户只要下载对应硬件的软件版本,就无须再次编译该软件就能直接安装了。这对于新手来说尤其重要,因为Tarball形式安装软件需要具备一定的基础才能正确的安装。 -
软件的管理变得容易
通过二进制形式安装软件的另外一个好处是软件管理比较容易,因为二进制形式安装软件配套了相应的软件管理机制,例如RPM(centos等)、DPKG(ubuntu等),通过这两个软件,可以方便的管理软件。 -
便于了解软件
RPM文件本身提供软件版本信息、相依属性软件名称、软件用途说明、软件所含文件等信息,便于了解软件; -
避免文件被错误安装
RPM 在被安装之前,会先检查系统的硬盘容量、操作系统版本等,可避免文件被错误安装;
2.采用二进制安装形式,厂家释出的软件是什么形式的?
软件厂商将以下文件打包后释出:
- 在特定硬件平台编译好的二进制文件
- 提供软件相关信息(文件依赖信息等)
- 检测系统与依赖的脚本文件(检查依赖,是否满足安装条件)
3.用户如何根据释出的软件文件安装?
用户获取该安装包后,采用特定的命令就可以进行安装。安装前首先会检测系统环境,包括软件依赖,如果满足安装条件,则进行安装。
4. DPKG和RPM怎么做到管理软件的?
在软件安装完成后,软件管理机制(DPKG,RPM)会将安装的相关信息记录到数据库中,以便于后面的升级、移除等软件管理。
5. 二进制形式安装软件存在哪些缺点?
第一,所下载的安装包必须符合自身系统软件、硬件环境。比如,自身系统是ubuntu发行版,如果下载centos的安装包,则可能安装失败。
第二,所安装的软件必须满足依赖条件。
第三,卸载时必须由上至下卸载。
6. 解决第一个缺点的方法是什么?
采用SRPM形式安装软件。
SRPM 的扩展名是以 ***.src.rpm 这种格式来命名的,即,该软件包中包含的是源码,并且是未编译的,因此可以根据自身环境进行编译。类似于Tarball形式,采用SRPM形式安装软件,首先应该编译软件,将软件采用特定命令转化为RPM形式,再像RPM软件一样进行安装即可。
7.RPM文件名称中各个部分的意义?
以rp-pppoe-3.11-5.el7.x86_64.rpm为例
rp-pppoe | 3.11 | 5.el7 | x86_64 | .rpm |
---|---|---|---|---|
软件名称 | 软件的版本信息 | 释出的次数 | 适合的硬件平台 | 扩展名 |
8. 硬件平台的含义?
指的是CPU的等级。
从下到上依次为:i386,i586,i686,x86_64
没有等级限制:noarch
9. RPM解决软件依赖问题的依据?
为了解决这种具有相关性的软件依赖问题,RPM 就在提供打包的软件时,同时加入一些讯息登录的功能,这些讯息包括软件的版本、 打包软件者、相依属性的其他软件、本软件的功能说明、本软件的所有文件记录等等,然后在 Linux 系统上面亦建立一个 RPM 软件数据库,如此一来,当你要安装某个以 RPM 型态提供的软件时,在安装的过程中, RPM 会去检验一下数据库里面是否已经存在相关的软件了, 如果数据库显示不存在,那么这个 RPM 文件『预设』就不能安装。
10.RPM具体解决软件依赖的方法?
-
yum软件库维护软件依赖清单
CentOS (1)先将释出的软件放置到 YUM 服务器内,然后(2)分析这些软件的相依属性问题,将软件内的记录信息写下来 (header)。 然后再将这些信息分析后记录成软件相关性的列表。这些列表数据与软件所在的本机或网络位置可以称呼为容器或软件仓库或软件库 (repository)。 -
yum 会向软件库要求清单的更新
当客户端有软件安装的需求时,客户端主机会主动的向网络上面的 yum 服务器的软件库网址下载清单。 -
对比软件清单,下载依赖软件
下载列表后透过列表列出的数据与本机 RPM 数据库已存在的软件数据相比较,就能获取需要更新或下载的依赖软件。
2. RPM软件管理程序
1. RPM形式安装软件的安装路径?数据库记录路径?
数据库记录路径:/var/lib/rpm/ 目录下的数据库文件
2. /var/lib/rpm ,目录下包含了哪些信息?
- 软件版本升级的比较信息
- 查询已经安装的软件
- 数字签名信息
3. RPM安装命令?
rpm -ivh package_name
选项与参数:
-i :install 的意思
-v :察看更细部的安装信息画面
-h :以安装信息列显示安装进度
4. RPM安装过程中出现问题的处理的相关参数?
–nodeps
–replacefiles
–replacepkgs
–force
–test
–justdb
–nosignature
–prefix 新路径
–noscripts
5.RPM升级与更新参数?
-Uvh 后面接的软件即使没有安装过,则系统将予以直接安装; 若后面接的软件有安装过旧版,则系统自动更新至新版;
-Fvh 如果后面接的软件并未安装到你的 Linux 系统上,则该软件不会被安装;亦即只有已安装至你 Linux 系统内的软件会被『升级』!
6. RMP 查询参数
选项与参数: 查询已安装软件的信息:
-q :仅查询,后面接的软件名称是否有安装; -qa :列出所有的,已经安装在本机 Linux 系统上面的所有软件名称; -qi :列出该软件的详细信息 (information),包含开发商、版本与说明等;
-ql :列出该软件所有的文件与目录所在完整文件名 (list);
-qc :列出该软件的所有配置文件 (找出在 /etc/ 底下的檔名而已)
-qd :列出该软件的所有说明文件 (找出与 man 有关的文件而已)
-qR :列出与该软件有关的相依软件所含的文件 (Required 的意思)
-qf :由后面接的文件名,找出该文件属于哪一个已安装的软件;
-q --scripts:列出是否含有安装后需要执行的脚本档,可用以 debug 喔!查询某个 RPM 文件内含有的信息:
-qp[icdlR]:注意 -qp 后面接的所有参数以上面的说明一致。但用途仅在于找出某个 RPM 文件内的信息,而非已安装的软件信息!注意!
7. RMP验证与数字签名指的是什么?
RPM验证是指,当安装的.rpm文件发生变化,想要查询是哪里发生了变化的话,可以采用RPM的验证机制去查询。
数字签名是指,为了软件安全,即防止下载的软件释被篡改过的软件,那么可以通过软件签名机制来防止这种情况的发生。
8. RPM 卸载软件的参数?
-e