0

0

笔记005 RRM软件管理程序

黄舟

黄舟

发布时间:2016-12-26 10:53:51

|

1651人浏览过

|

来源于php中文网

原创

RPM 默认的安装路径

一般来说,rpm 类型的文件在安装的时候,会先去读取文件内记载的配置参数内容,然后将该数据用来比对 linux 系统的环境,以找出是否有属性相依的软件尚未安装的问题。

例如 Openssh 依赖于 Openssl 这个加密软件,所以得先安装 openssl 才能装 openssh。如果环境中没有 openssl , 你就无法安装 openssh。

若环境检查合格,则 RPM 文件就会开始安装到 Linux 系统上,安装完毕以后,软件相关的资讯信息会写入到/var/lib/rpm/目录下的数据库文件中。/var/lib/rpm/这个目录很重要,未来任何软件的升级需求、版本比较都是来自于这个数据库,如果想要查询已经安装的软件,也是从这里进行相应的查询。

软件内相应文件的安装位置如下:

/etc                        一些配置档放置的目录,例如 /etc/crontab

/usr/bin                  一些可运行文件

/usr/lib                   一些程序使用的动态函式库

/usr/share/doc       一些基本的软件使用手册与说明档

/usr/share/man      一些 man page 文件

RPM 安装

注意,安装需要root权限。

如果要安装一个文档名为rp-pppoe-3.5-32.1.i386.rpm的文件,最简单的命令可以是:

[root@www ~]# rpm -i rp-pppoe-3.5-32.1.i386.rpm

不过这样的安装并不会显示相应的进度信息,为了方便查看安装状态,可以这样写:

[root@www ~]# rpm -ivh package_name选项与参数:
-i :install 的意思
-v :察看更细部的安装资讯画面
-h :以安装资讯列显示安装进度

范例一:安装 rp-pppoe-3.5-32.1.i386.rpm
[root@www ~]# rpm -ivh rp-pppoe-3.5-32.1.i386.rpmPreparing...     ####################################### [100%]
   1:rp-pppoe    ####################################### [100%] 

范例二、一口气安装两个以上的软件时:
[root@www ~]# rpm -ivh a.i386.rpm b.i386.rpm *.rpm# 后面直接接上许多的软件文件!范例三、直接由网络上面的某个文件安装,以网址来安装:
[root@www ~]# rpm -ivh http://website.name/path/pkgname.rpm

其它的安装参数如下:

独响
独响

一个轻笔记+角色扮演的app

下载

263.png

RPM 升级

使用 RPM 来升级真是太简单了!就以 -Uvh 或 -Fvh 来升级即可,而 -Uvh 与 -Fvh 可以用的选项与参数,跟 install 是一样的。不过, -U 与 -F 的意义还是不太一样的,基本的差别是这样的:

-Uvh    后面接的软件即使没有安装过,则系统将予以直接安装; 若后面接的软件有安装过旧版,则系统自动升级至新版;
-Fvh    如果后面接的软件并未安装到你的 Linux 系统上,则该软件不会被安装;亦即只有已安装至你 Linux 系统内的软件会被『升级』!

由上面的说明来看,如果你想要大量的升级系统旧版本的软件时,使用 -Fvh 则是比较好的作法,因为没有安装的软件才不会被不小心安装进系统中。但是需要注意的是,如果你使用的是 -Fvh ,偏偏你的机器上尚无这一个软件,那么很抱歉,该软件并不会被安装在你的 Linux 主机上面,所以请重新以 ivh 来安装吧!

RPM 查询

RPM 在查询的时候,其实查询的地方是在 /var/lib/rpm/ 这个目录下的数据库文件啦!另外, RPM 也可以查询未安装的 RPM 文件内的资讯喔!那如何去查询呢? 我们先来谈谈可用的选项有哪些?

[root@www ~]# rpm -qa                              <==已安装软件
[root@www ~]# rpm -q[licdR] 已安装的软件名称       <==已安装软件
[root@www ~]# rpm -qf 存在於系统上面的某个档名     <==已安装软件
[root@www ~]# rpm -qp[licdR] 未安装的某个文件名称  <==查阅RPM文件选项与参数:
查询已安装软件的资讯:
-q  :仅查询,后面接的软件名称是否有安装;
-qa :列出所有的,已经安装在本机 Linux 系统上面的所有软件名称;
-qi :列出该软件的详细资讯 (information),包含开发商、版本与说明等;
-ql :列出该软件所有的文件与目录所在完整档名 (list);
-qc :列出该软件的所有配置档 (找出在 /etc/ 底下的档名而已)
-qd :列出该软件的所有说明档 (找出与 man 有关的文件而已)
-qR :列出与该软件有关的相依软件所含的文件 (Required 的意思)
-qf :由后面接的文件名称,找出该文件属於哪一个已安装的软件;
查询某个 RPM 文件内含有的资讯:
-qp[icdlR]:注意 -qp 后面接的所有参数以上面的说明一致。但用途仅在於找出
        某个 RPM 文件内的资讯,而非已安装的软件资讯!注意!

在查询的部分,所有的参数之前都需要加上 -q 才是所谓的查询!查询主要分为两部分, 一个是查已安装到系统上面的的软件资讯,这部份的资讯都是由 /var/lib/rpm/ 所提供。另一个则是查某个 rpm 文件内容, 等於是由 RPM 文件内找出一些要写入数据库内的资讯就是了,这部份就得要使用 -qp (p 是 package 的意思)。 那就来看看几个简单的范例吧!

范例一:找出你的 Linux 是否有安装 logrotate 这个软件?
[root@www ~]# rpm -q logrotatelogrotate-3.7.4-8
[root@www ~]# rpm -q logrotatingpackage logrotating is not installed# 注意到,系统会去找是否有安装后面接的软件名称。注意,
# 不必要加上版本喔!至於显示的结果,一看就知道有没有安装啦!范例二:列出上题当中,属於该软件所提供的所有目录与文件:
[root@www ~]# rpm -ql logrotate/etc/cron.daily/logrotate
/etc/logrotate.conf
....(以下省略)....# 可以看出该软件到底提供了多少的文件与目录,也可以追踪软件的数据。范例三:列出 logrotate 这个软件的相关说明数据:
[root@www ~]# rpm -qi logrotateName        : logrotate             Relocations: (not relocatable)
Version     : 3.7.4                      Vendor: CentOS
Release     : 8                      Build Date: Sun 02 Dec 2007 08:38:06 AM CST
Install Date: Sat 09 May 2009 11:59:05 PM CST    Build Host: builder6
Group       : System Environment/Base  Source RPM: logrotate-3.7.4-8.src.rpm
Size        : 53618                     License: GPL
Signature   : DSA/SHA1, Sun 02 Dec 2007 09:10:01 AM CST, Key ID a8a447dce8562897
Summary     : Rotates, compresses, removes and mails system log files.
Description :
The logrotate utility is designed to simplify the administration oflog files on a system which generates a lot of log files.  Logrotate
allows for the automatic rotation compression, removal and mailing oflog files.  Logrotate can be set to handle a log file daily, weekly,
monthly or when the log file gets to a certain size.  Normally,
logrotate runs as a daily cron job.

Install the logrotate package if you need a utility to deal with thelog files on your system.
# 列出该软件的 information (资讯),里面的资讯可多著呢,包括了软件名称、
# 版本、开发商、SRPM文件名称、打包次数、简单说明资讯、软件打包者、
# 安装日期等等!如果想要详细的知道该软件的数据,用这个参数来了解一下范例四:分别仅找出 logrotate 的配置档与说明档
[root@www ~]# rpm -qc logrotate[root@www ~]# rpm -qd logrotate范例五:若要成功安装 logrotate ,他还需要什么文件的帮忙?
[root@www ~]# rpm -qR logrotate/bin/sh
config(logrotate) = 3.7.4-8libc.so.6....(以下省略)....
# 由这里看起来,呵呵~还需要很多文件的支持才行喔!范例六:由上面的范例五,找出 /bin/sh 是那个软件提供的?
[root@www ~]# rpm -qf /bin/shbash-3.2-21.el5
# 这个参数后面接的可是『文件』呐!不像前面都是接软件喔!
# 这个功能在查询系统的某个文件属於哪一个软件所有的。范例七:假设我有下载一个 RPM 文件,想要知道该文件的需求文件,该如何?
[root@www ~]# rpm -qpR filename.i386.rpm# 加上 -qpR ,找出该文件需求的数据!

要特别说明的是,在查询本机上面的 RPM 软件相关资讯时, 不需要加上版本的名称,只要加上软件名称即可!因为他会由 /var/lib/rpm 这个数据库里面去查询, 所以我们可以不需要加上版本名称。但是查询某个 RPM 文件就不同了,我们必须要列出整个文件的完整档名才行~ 这一点朋友们常常会搞错。底下我们就来做几个简单的练习吧!

RPM 卸载

解安装的过程一定要由最上一级往下解除以 rp-pppoe 为例,这一个软件主要是依据 ppp 这个软件来安装的,所以当你要解除 ppp 的时候,就必须要先解除 rp-pppoe 才行!否则就会发生结构上的问题啦!这个可以由建筑物来说明, 如果你要拆除五、六楼,那么当然要由六楼拆起,否则先拆的是第五楼时,那么上面的楼层难道会悬空?

移除的选项很简单,就透过 -e 即可移除。不过,很常发生软件属性相依导致无法移除某些软件的问题! 我们以底下的例子来说明:

# 1. 找出与 pam 有关的软件名称,并尝试移除 pam 这个软件:[root@www ~]# rpm -qa | grep pampam-devel-0.99.6.2-3.27.el5
pam_passwdqc-1.0.2-1.2.2pam_pkcs11-0.5.3-23pam_smb-1.1.7-7.2.1pam-0.99.6.2-3.27.el5
pam_ccreds-3-5pam_krb5-2.2.14-1[root@www ~]# rpm -e pamerror: Failed dependencies:  <==这里提到的是相依性的问题
        libpam.so.0 is needed by (installed) coreutils-5.97-14.el5.i386
        libpam.so.0 is needed by (installed) libuser-0.54.7-2.el5.5.i386
....(以下省略)....# 2. 若仅移除 pam-devel 这个之前范例安装上的软件呢?
[root@www ~]# rpm -e pam-devel  <==不会出现任何信息!
[root@www ~]# rpm -q pam-devel
package pam-devel is not installed

从范例一我们知道 pam 所提供的函式库是让非常多其他软件使用的,因此你不能移除 pam ,除非将其他相依软件一口气也全部移除!你当然也能加 --nodeps 来强制移除, 不过,如此一来所有会用到 pam 函式库的软件,都将成为无法运行的程序,我想,你的主机也只好准备停机休假了吧! 至於范例二中,由於 pam-devel 是依附於 pam 的开发工具,你可以单独安装与单独移除。

由於 RPM 文件常常会安装/移除/升级等,某些动作或许可能会导致 RPM 数据库 /var/lib/rpm/ 内的文件破损。果真如此的话,那你该如何是好?别担心,我们可以使用 --rebuilddb 这个选项来重建一下数据库喔! 作法如下:

[root@www ~]# rpm --rebuilddb   <==重建数据库

 以上就是笔记005 RRM软件管理程序的内容,更多相关内容请关注PHP中文网(www.php.cn)!

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
拼多多赚钱的5种方法 拼多多赚钱的5种方法
拼多多赚钱的5种方法 拼多多赚钱的5种方法

在拼多多上赚钱主要可以通过无货源模式一件代发、精细化运营特色店铺、参与官方高流量活动、利用拼团机制社交裂变,以及成为多多进宝推广员这5种方法实现。核心策略在于通过低成本、高效率的供应链管理与营销,利用平台社交电商红利实现盈利。

28

2026.01.26

edge浏览器怎样设置主页 edge浏览器自定义设置教程
edge浏览器怎样设置主页 edge浏览器自定义设置教程

在Edge浏览器中设置主页,请依次点击右上角“...”图标 > 设置 > 开始、主页和新建标签页。在“Microsoft Edge 启动时”选择“打开以下页面”,点击“添加新页面”并输入网址。若要使用主页按钮,需在“外观”设置中开启“显示主页按钮”并设定网址。

8

2026.01.26

苹果官方查询网站 苹果手机正品激活查询入口
苹果官方查询网站 苹果手机正品激活查询入口

苹果官方查询网站主要通过 checkcoverage.apple.com/cn/zh/ 进行,可用于查询序列号(SN)对应的保修状态、激活日期及技术支持服务。此外,查找丢失设备请使用 iCloud.com/find,购买信息与物流可访问 Apple (中国大陆) 订单状态页面。

31

2026.01.26

npd人格什么意思 npd人格有什么特征
npd人格什么意思 npd人格有什么特征

NPD(Narcissistic Personality Disorder)即自恋型人格障碍,是一种心理健康问题,特点是极度夸大自我重要性、需要过度赞美与关注,同时极度缺乏共情能力,背后常掩藏着低自尊和不安全感,影响人际关系、工作和生活,通常在青少年时期开始显现,需由专业人士诊断。

3

2026.01.26

windows安全中心怎么关闭 windows安全中心怎么执行操作
windows安全中心怎么关闭 windows安全中心怎么执行操作

关闭Windows安全中心(Windows Defender)可通过系统设置暂时关闭,或使用组策略/注册表永久关闭。最简单的方法是:进入设置 > 隐私和安全性 > Windows安全中心 > 病毒和威胁防护 > 管理设置,将实时保护等选项关闭。

5

2026.01.26

2026年春运抢票攻略大全 春运抢票攻略教你三招手【技巧】
2026年春运抢票攻略大全 春运抢票攻略教你三招手【技巧】

铁路12306提供起售时间查询、起售提醒、购票预填、候补购票及误购限时免费退票五项服务,并强调官方渠道唯一性与信息安全。

35

2026.01.26

个人所得税税率表2026 个人所得税率最新税率表
个人所得税税率表2026 个人所得税率最新税率表

以工资薪金所得为例,应纳税额 = 应纳税所得额 × 税率 - 速算扣除数。应纳税所得额 = 月度收入 - 5000 元 - 专项扣除 - 专项附加扣除 - 依法确定的其他扣除。假设某员工月工资 10000 元,专项扣除 1000 元,专项附加扣除 2000 元,当月应纳税所得额为 10000 - 5000 - 1000 - 2000 = 2000 元,对应税率为 3%,速算扣除数为 0,则当月应纳税额为 2000×3% = 60 元。

12

2026.01.26

oppo云服务官网登录入口 oppo云服务登录手机版
oppo云服务官网登录入口 oppo云服务登录手机版

oppo云服务https://cloud.oppo.com/可以在云端安全存储您的照片、视频、联系人、便签等重要数据。当您的手机数据意外丢失或者需要更换手机时,可以随时将这些存储在云端的数据快速恢复到手机中。

40

2026.01.26

抖币充值官方网站 抖币性价比充值链接地址
抖币充值官方网站 抖币性价比充值链接地址

网页端充值步骤:打开浏览器,输入https://www.douyin.com,登录账号;点击右上角头像,选择“钱包”;进入“充值中心”,操作和APP端一致。注意:切勿通过第三方链接、二维码充值,谨防受骗

7

2026.01.26

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Git 教程
Git 教程

共21课时 | 3万人学习

计算机系统从应用层到底层
计算机系统从应用层到底层

共6课时 | 0.4万人学习

ThinkPHP6.x 微实战--十天技能课堂
ThinkPHP6.x 微实战--十天技能课堂

共26课时 | 1.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号