应用程序的安装与管理(一)

本文介绍了Linux应用程序的基本组成部分,包括可执行文件、服务器程序、配置文件、日志文件、文档和手册页。重点讲解了RPM软件包管理器的作用、分类以及如何使用RPM进行软件安装、卸载、查询和维护RPM数据库,包括重建和验证公钥的过程。
摘要由CSDN通过智能技术生成

Linux应用程序的组成

应用程序的执行文件通常放在/usr/bin、/usr/sbin和/usr/local/bin、/usr/local/sbin等目录中。
安装完一个软件包以后,应用程序可能会向系统复制大量的数据文件,并进行相关设置。在Linux系统中,典型的应用程序通常由以下6个部分组成。

  1. 普通的可执行程序文件:一般保存在/usr/bin目录中,普通用户即可执行。
  2. 服务器程序、管理程序文件:一般保存在/usr/sbin目录中,只有管理员能执行。
  3. 配置文件:一般保存在/etc目录中,配置文件较多时会建立相应的子目录。
  4. 日志文件:一般保存在/var/log目录中。
  5. 关于应用程序的参考文档等数据:一般保存在/usr/share/doc/目录中。
  6. 执行文件及配置文件的man手册页:一般保存在/usr/share/man/目录中。

软件包和RPM

RPM软件包管理器最初是由红帽开发的,该程序提供了一种标准的方式来打包软件进行分发。与使用从存档提取到文件系统的软件相比,采用RPM软件包形式管理软件要简单得多。管理员可以通过它跟踪软件包所安装的文件,需要删除哪些软件(如果卸载)并检查确保显示支持软件包(如果安装)。有关已安装软件包的信息存储在各个系统的本地RPM数据库中。红帽为红帽企业 Linux提供的所有软件都以RPM 软件包的形式提供。
RPM软件包文件名由四个元素组成(再加上.rpm后缀) : name-version-release.architecture
image.png

  1. NAME是描述其内容的一个或多个词语(coreutils)。
  2. VERSION是原始软件的版本号(8.30)。
  3. RELEASE 是基于该版本的软件包的发行版号,由软件打包商设置,后者不一定是原始软件开发商(4.el8)。
  4. ARCH是编译的软件包运行的处理器架构。noarch表示此软件包的内容不限定架构(与表示64位的x86_64和表示64位ARM的aarch64等等相反)。

熟悉Linux中的应用软件类型

软件包安装分类

  1. RPM
  2. YUM/DNF(安装方式,主要解决RPM依赖性问题)
  3. source code(源码,即tar包)

包管理概念

通过软件包管理器把应用程序与操作系统关联起来

常见的包管理系统

  1. APT(Advanced package tool)
  2. RPM(RedHat Package Management)
  3. YUM
  4. DNF

学会使用RPM包进行管理

包管理系统的作用

  1. 软件安装
  2. 软件卸载
  3. 软件信息查询
  4. 安装软件包生成

使用RPM管理工具

  1. 安装命令:rpm [-i] [选项] 需要安装的软件包名
  2. 卸载命令:rpm [-e] [选项] 要卸载的软件包名
  3. 升级命令:rpm [-U] [选项] 要升级的软件包名

RPM的命令参数

  1. -F:如果已经安装则升级、如果没有安装则不安装
  2. -U:如果已经安装则升级、如果没有安装则安装
  3. -ivh:显示并安装软件包
  4. -e:卸载,只跟软件包名
  5. –replacepkgs:在原来的基础上修复安装,不覆盖原来修改过的
  6. –force:强制安装
  7. –oldpackage: 安装旧的版本
  8. –nodeps:去掉软件包依赖性关系

rpm查询命令(rpm [-q] 指定查询的对象 指定查询的信息)

  1. rpm -qa:列出所有已安装的软件包
  2. rpm -q:列出当前安装的软件包的版本
  3. rpm -qf:查询哪个文件或文件夹是属于哪个软件包
  4. rpm -qi:查询安装的软件包的详细信息
  5. rpm -qpi:查询安装或没有安装的软件包的详细信息
  6. rpm -ql:查看软件包安装到系统的路径信息
  7. rpm -qc:仅列出软件包的配置文件
  8. rpm -qd:仅列出软件包的文档文件
  9. rpm -q --scripts:列出在安装或删除软件包之前或之后运行的shell脚本
  10. rpm -q --changelog:列出软件包的更改信息

维护RPM数据库

重建RPM数据库

用户记录在Linux系统中安装、卸载、升级应用程序的相关信息,由RPM软件包管理系统自动完成维护,一般不需要用户干预。当RPM数据库发生损坏(如误删文件、非法关机、病毒破坏等),且Linux系统无法自动完成修复时,将导致无法使用rpm命令正常地安装、卸载及查询软件包。

  1. rpm --rebuilddb:创建rpm数据库
  2. rpm --initdb:初始化rpm数据库

导入验证公钥

在Linux/UNIX应用领域,相当一部分的软件厂商会对发布的软件包进行数字签名,以确保软件的完整性、合法性。对于用户来说,可以利用软件官方提供的公钥文件,自动对下载的软件包进行验证。如果在安装软件时出现验证失败的提示,则表示该软件包可能已经被非法篡改。
RHEL 8系统的DVD光盘已经提供了用于数字签名验证的公钥文件,即位于光盘根目录下的RPM-GPG-KEY-redhat-release文件中。
rpm --import /mnt/RPM-GPG-KEY-redhat-release:导入公钥文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘俊辉个人博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值