Linux环境下安装及管理程序(软件包封装、RPM命令、源代码编译安装的基本过程)

这是我参与 8 月更文挑战的第 4 天,活动详情查看: 8月更文挑战node

一名致力于在技术道路上的终身学习者、实践者、分享者,一位忙起来又偶尔偷懒的原创博主,一个偶尔无聊又偶尔幽默的少年。程序员

欢迎各位掘友们微信搜索「杰哥的IT之旅」关注!数据库

1、Linux 命令与应用程序的关系

  • 应用程序命令的执行文件大多比较小,一般放置在/bin和/sbin目录中。对于内部命令,常集成在Bash程序内,而不是独立地执行文件。vim

  • 命令文件通常在安装操做系统时一块儿安装,用于辅助操做系统自己的管理。服务器

  • 命令行大多适用于“命令字  选项  参数”形式的通常格式。微信

  • 命令只在字符操做界面中运行。markdown

  • 应用程序的执行文件一般放在/usr/bin、/usr/sbin和/usr/local/bin、/usr/local/sbin等目录中。架构

  • 应用程序通常须要在操做系统以外再另行安装,提供相对独立于操做系统的功能,有时候等同于“软件”的概念。运维

  • 应用程序通常没有固定的执行格式,运行方式由程序开发者自行定义。编辑器

  • 应用程序可能会使用到图形界面,形式多样。

  • 有些应用程序提供的执行文件,可以使用像Linux命令同样的运行格式,因此也常常称为程序命令。

2、Linux 应用程序的组成

  • 普通的可执行程序文件:通常保存在"/usr/bin"目录中,普通用户便可执行。

  • 服务器程序、管理程序文件:通常保存在"/usr/sbin"目录中,只有管理员能执行。

  • 配置文件:通常保存在"/etc"目录中,配置文件较多时会创建相应的子目录。

  • 日志文件:通常保存在"/var/log"目录中。

  • 关于应用程序的参考文档等数据:通常保存在"/usr/share/doc/"目录中。

  • 执行文件及配置文件的man手册页:通常保存在"/usr/share/man/"目录中。

3、软件包的封装类型

对于各类应用程序的软件包,在封装时可采用不一样的类型,不一样类型的软件包其安装方法也不一样。

3.1 常见的软件包封装类型

  • RPM软件包:这种软件包文件的扩展名为".rpm",只能在使用RPM软件包管理器机制的Linux操做系统中安装,对特定版本的系统量身定制,依赖性比较强。安装RPM包须要使用系统中rpm命令。

  • DEB软件包:这种软件包文件的扩展名为".deb",只能在使用DPKG机制的Linux操做系统中进行安装,如Ubuntu,安装DEB软件包须要使用dpkg命令。

  • 源代码软件包:这种软件包是程序员开发完成的原始代码,通常被制做为".tar.gz"和".tar.bz2"等格式的压缩包文件。

  • 移植附带安装程序的软件包:这种软件包的扩展名不一,但仍以TarBall格式的居多,用于安装的可执行程序或脚本文件,如install.sh、setup等,只需运行安装文件就能够根据向导程序的提示完成安装操做。

4、RPM 概述

RPM包管理器经过创建统一的文件数据库,对在Linux系统中安装、卸载、升级的各类.rpm软件包进行详细的记录,并可以自动分析软件包以前的依赖关系。

通常使用"软件名-软件版本-发布次数.操做系统类型.硬件架构类型.rpm"的文件名形式表示;

5、RPM 的主要功能

  • 查询、验证RPM软件包的相关信息。

  • 安装、升级、卸载RPM软件包。

  • 维护RPM数据库信息等综合管理操做。

6、RPM 包管理命令

man rpm 得到关于rpm命令的详细帮助信息。
-qa 显示当前系统中以RPM方式安装的全部软件列表。
-qi 查看指定软件包的名称、版本、许可协议、用途描述等。
-ql 显示指定的软件包在当前系统中安装的全部目录、文件列表。
-qf 查看指定的文件或目录是由哪一个软件包所安装的。
-qp 针对还没有安装的RPM包文件进行查询。
-qpl 查看该软件包准备要安装的全部目标目录、文件列表。
-i 在当前系统中安装一个新的rpm软件包。
-e 卸载指定名称的软件包。
-U 检查并升级系统中的某个软件包,若软件包未安装,则等同于“-i”选项
-F 检查并更新系统中的某个软件包,若软件包未安装,则放弃安装。
--force 强制安装某个软件包。须要替换现已安装的软件包及文件,或者安装一个比当前使用的软件版本更旧的软件时,可使用此选项。
--nodeps 在安装或升级卸载软件包时,不检查与其余软件包的依赖关系。
-h 在安装或升级软件包的过程当中,以“#”号显示安装进度。
-v 显示软件安装过程当中的详细信息。

7、编译安装的基本过程

得到所需安装的软件源代码之后,安装的基本过程包括解包、配置、编译及安装的步骤,具体流程图以下:

image.png

  • 解包:开源软件的源代码包通常为tarball形式,扩展名为“.tar.gz”或“.tar.bz2”,可使用tar命令进行解压缩。对于只有“.gz”扩展名的源代码包,表示只通过压缩而并未使用tar归档,这样的文件只需使用gzip命令进行解压缩。

  • 配置:配置工做由源代码目录中的“configure”脚本文件来完成,可用的各类配置参数能够经过在源代码目录中执行“./configure --help”进行查看。对于不一样的软件程序来讲,其配置蚕食会存在区别,可是“--prefix”形式的参数,大多数开源软件通用,该配置参数用于指定的软件包安装的目标文件夹。

  • 编译:编译过程主要是根据makefile文件内的配置信息,将源代码文件进行编译而生成二进制的程序模块、动态连接库、可执行文件等。配置完成后,只要在源代码目录中执行“make”命令便可进行编译操做。

  • 安装:编译完成后,执行“make install”命令将软件的执行程序、配置文件、帮助文档等相关文件复制到系统中,即应用程序的最后“安装”过程。为方便起见,上述的编译、安装步骤能够写成一行命令执行,中间使用“&&”符号分隔。make && make install

推荐阅读

99%的Linux运维工程师必需要掌握的命令及运用

Linux 环境下 Oracle 数据库经常使用命令

Linux 环境下 vi/vim 编辑器经常使用命令

本文完。


原创不易,若是你以为这篇文章对你有点用的话,麻烦你为本文点个赞、评论或转发一下,由于这将是我输出更多优质文章的动力,感谢!

对了,掘友们记得给我点个免费的关注哟!防止你迷路下次就找不到我了。

咱们下期再见!

相关文章
相关标签/搜索