linux rpm安装及源码包编译步骤

命令与应用程序的关系

  1. 应用程序命令执行文件大多比较小,通常放置在/bin和/sbin目录中。对于内部内部命令,常集成在 Bash 程序内,而不是独立地执行文件;命令文件一般在安装操作系统时一起安装,用于辅助操作系统本身的管理;命令行大多适用于“命令字 选项 参数”形式的一般格式;命令只在字符操作界面中运行。
  2. 应用程序的执行文件通常放在/usr/in、/usr/sbin和/usr/1ocal/bin、/usr/local/sbin 等目录中;应用程序一般需要在操作系统之外另行安装,提供相对独立于操作系统的功能,有时候等同于“软件”的概念;应用程序一般没有固定的执行格式,运行方式由程序开发者自行定义;应用程序可能会用到图形界面,形式多样;有些应用程序提供的执行文件,能够使用像Linux命令一样的运行格式,所以也经常被称为程序命令。

常用应用程序

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

以OpenEuler中安装postfix软件包(一款邮件服务器程序)为例,展示服务器应用程序文件组成。执行“rpm –ql postfix”命令,可以查看postfix软件包在系统中安装的目录和文件清单

安装软件包

常见类型

常见软件包封装类型

扩展名

rpm软件包

.rpm 只能在rpm((RPMPackageManager,RPM软件包管理器)机制的 Linux 操作系统中安装

DEB软件包

.deb只能在使用 DPKG(DebianPackage,Debian 包管理器)机制的 Linux 操作系统中进行安装

源代码软件包

这种软件包是程序员开发完成的原始代码,一般被制作成“.tar.gz”或“.tar.bz2”等格式的压缩包文件,因多数使用 tar 命令打包而成,所以经常被称为“TarBa11” 安装源代码软件包需要使用相应的编译工具,如 Linux 中的 c语言编译器 gcc。

附带安装程序的软件包

这种软件包的扩展名不一,但仍以TarBa11 格式的居多软件包中会提供用于安装的可执行程序或脚本文件

开放源代码的自由软件大多数以TarBall的形式发布,而PRM软件包,DEB软件包等使用二进制的文件格式,代码相对比较封闭

PRM软件包

概述:rpm软件包管理机制有最早Red Hat公司提出。官方站点rpm.org - Homehttp://www.rpm.org

RPI 软件包管理器通过建立统一的文件数据库,对在 Linux 操作系统中安装、卸载、升级的各种.rpm软件包进行详细的记录,并能够自动分析软件包之间的依赖关系,保持各应用程序在一个协调、有序的整体环境中运行

使用 RPI 机制封装的软件包文件拥有约定俗成的命名格式,一般使用“软件名-软件版本-发布次数.操作系统类型,硬件架构类型.rpm”的文件名形式

rpm命令

    1. -qp:针对尚未安装的rpm软件包文件进行查询
    2. -qa:显示当前系统中以rpm方式安装的所有软件列表
    3. -qi:查看指定软件包的名称,版本,许可协议,用途描述等详细信息(info)
    4. -ql:显示指定的软件包在当前系统中安装的所有目录,文件列表(list)
    5. -qf:查看指定的文件或目录是由那个软件包安装的(file)
    6. -a:查询/验证所有软件包
    7. -f:指定文件或目录
    8. -g:验证组中软件包
    9. -p:验证一个软件包文件
    10. -q:rpm查询模式
    11. -i:在当前系统中安装一个新的rpm软件包
    12. -e:卸载指定名称的安装包
    13. -U:检查并升级系统中的某个软件包
    14. -F:检查并更新系统中的某个软件包
    15. -h:安装或升级软件包过程中,以“#”显示安装进度
    16. -v:显示安装过程中详细信息
    17. -froce:强制安装某个软件包
    18. -nodeps:在安装或升级,卸载时,不检查与其他软件包的依赖关系
    19. -e卸载软件包

重建rpm 数据库

    -rebuilddb     或      -initdb命令

执行还可以结合管道“|”操作和“wc -l”使用 统计出系统中已安装的rpm软件的个数

rpm结合不同的命令选项及子选项主要可以实现三种功能

  1. 查询,验证PRM软件包的相关信息
  2. 安装,升级,维护 卸载rpm软件包
  3. 维护rpm数据库信息等综合管理操作

 

导入验证公钥

在 Limux/uIx 应用领域,相当一部分软件厂商会对发布的软件包进行数字签名,以确保软件的完整性、合法性。对于用户来说,可以利用官方提供的公钥文件,自动对下载的软件包进行验证,若在安装软件时出现验证失败的提示,则表示该软件包可能已经被非法改。

0penEuler 的 DW 光盘中默认已经提供了用于数字签名验证的公钥文件,即位于光盘根目录下的RPI-GPG-KEY-openEuler 文件。在没有导入公钥文件之前,安装 0penEuler 光盘中的一部分 RPI 软件包时,可能会出现“warning:…….x86_64.rpm: Header V3 RSA/SHA256 signature,key ID……: NOKEY的警告信息(一般不影响正常使用)。

向 RPM 数据库中导入公钥文件时,需要用到“一import”选项。

执行以下操作可以把光盘目录中的 RPM-GPG-KEY-Cent0s-7 公钥文件导入 RPM 数据库中。[root@localhost ~]# rpm --import /media/cdrom/RPM-GPG-KEY-openEuler

源代码编译概述

Linux 操作系统之所以能够在十余年的时间里发展壮大以至风靡全球,其开放源代码和操作简单的特性是很重要的原因之一,即 Linux 操作系统中包括内核在内的所有软件都可以获得源代码,并且可以经过定制修改后编译安装。

现代的 Linux 发行版本通常使用软件包管理机制对软件进行打包安装,这样省去了软件的编译安装过程,大大简化了 Linux 操作系统的安装和使用难度。

编译源代码需要有相应的开发环境,对自由软件来说,gcc和make是最佳的编译工具

步骤

1.解包

开源软件的源代码包一般为 TarBal1 形式,扩展名为“.tar.gz”或“.tar.bz2”,都可以使用 tar命令进行解压释放。对于只有“.gz”扩展名的源代码包,表示只经过压缩而并未使用 tar 归档,这样的文件只需使用 gzip 进行解压缩即可。在 Linux 操作系统中,通常将各种软件的源代码目录保存到“/usr/src/”目录中,以便于集中管理。

2.配置

在编译应用程序之前,需要进入源代码目录,通过目录下的脚本检查安装环境,并且对软件的安装目录、功能选择等参数进行预先配置。

环境检查与配置工作通常由源代码目录中的 configure 脚本文件来完成,可用的各种配置参数可以通过在源代码目录中执行“./configwre 一help”命令进行查看。对不同的软件程序来说,其配置参数存在区别,但是有一个“-prefix”形式的参数却是大多数开源软件通用的,该配置参数用于指定软件包安装的目标文件夹。如果没有指定任何配置参数,“configure”脚本将采用软件默认的值进行配置。

如果软件的功能比较复杂,配置过程会需要一定的时间,期间会在屏幕中显示大量的输出信息,这些信息可以帮肋管理员了解程序配置的过程。配置结果将保存到源代码目录的makefi1e文件中。如果配置过程出现错误,如包含“error”、“failed”或“not found”等关键字,通常是缺少相关的依赖软件包所致,此时只要根据提示安装对应的软件即可。

3.编译

编译的过程主要是根据 Iakefile 文件内的配置信息(若上一步的配置操作失败,将无法进行编译)将源代码文件进行编译生成二进制的程序模块、动态链接库、可执行文件等。配置完成后,只要在源代码目录中执行“make”命令即可执行编译操作。编译的过程比配置过程需要更长的时间,期间同样会显示大量的执行过程信息。

4.安装

编译完成以后,就可以执行如下的“make insta11”命令将软件的执行程序、配置文件、帮助文档等相关文件复制到 Linux 操作系统中了,即应用程序的最后“安装”过程。安装过程需要的时间相对要短一些,期间也会显示安装的过程信息。

有时为了简便,可将上述的编译、安装步骤写成一行命令执行,中间用“&&”符号分隔。(make  && make install)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值