Linux 安装及管理应用程序

Linux 应用程序基础

本节将对 Linux 操作系统中应用程序的一些基本知识进行介绍,内容包括 Linux 命令与应用程序的关系、应用程序的组成部分、软件包的封装类型等。

Linux 命令与应用程序的关系

在 Linux 操作系统中,一直以来命令和应用程序并没有特别明确的区别,从长期使用习惯来看,可以通过以下描述来对两者进行区别。

应用程序命令的执行文件大多比较小,通常放置在/bin 和/sbin 目录中。对于内部命令,常集成在 Bash 程序内,而不是独立地执行文件:命令文件一般在安装操作系统时一起安装,用于辅助操作系统本身的管理;命令行大多适用于“命令字 选项 参数"形式的一般格式;命令只在字符操作界面中运行。

应用程序的执行文件通常放在/usr/bin、/usr/sbin和/usr/local/bin、/usr/local/sbin等目录中;应用程序一般需要在操作系统之外另行安装,提供相对独立于操作系统的功能,有时候等同于“软件”的概念;应用程序一般没有固定的执行格式,运行方式由程序开发者自行定义;应用程序可能会用到图形界面,形式多样;有些应用程序提供的执行文件,能够使用像 Linux 命令一样的运行格式,所以也经常被称为程序命令。

Linux 应用程序的组成

安装完一个软件包以后,可能会向系统中复制大量的数据文件,并进行相关设置。在Linux 操作系统中,典型的应用程序通常由以下几部分组成。

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

下面以 CentOS 中已经安装的 postfix 软件包(一款邮件服务器程序)为例,展示服务器应用程序的文件组成。执行“rpm -ql postfix"命令,可以査看 postfix 软件包在系统中安装的目录和文件清单(关于rpm 命令的详细用法将在下节详细讲解),具体操作如下:在这里插入图片描述

软件包的封装类型

对于各种应用程序的软件包,在封装时可以采用各种不同的类型,不同类型的软件包其安装方法也各不相同。常见的软件包封装类型如下所述。

1.RPM 软件包:这种软件包文件的扩展名为“.rpm”,只能在使用 RPM(RPM PackageManager, RPM 软件包管理器)机制的 Linux 操作系统中安装,RPM 软件包一般针对特定版本的操作系统量身定制,因此依赖性较强。安装 RPM 软件包需要使用操作系统中的rpm 命令。
2.DEB 软件包:这种软件包文件的扩展名为“.deb",只能在使用 DPKG(Debian Package,Debian 包管理器)机制的 Linux操作系统中进行安装,安装 DEB 软件包需要使用操作系统中的 dpkg 命令。
源代码软件包:这种软件包是程序员开发完成的原始代码,一般被制作成“.tar.gz或".tar.bz2"等格式的压缩包文件,因多数使用 tar 命令打包而成,所以经常被称为"TarBall”。安装源代码软件包需要使用相应的编译工具,如 Linux 中的 C语言编译器 gcc。因此,在安装操作系统的时候尽量勾选“开发工具”一项来安装基本的编译环境
3.附带安装程序的软件包:这种软件包的扩展名不一,但仍以TarBall 格式的居多。软件包中会提供用于安装的可执行程序或脚本文件,如install.sh、setup 等,有时候会以".bin"格式的单个安装文件形式出现。安装时只需运行安装文件就可以根据
向导程序的提示完成安装操作。

使用RPM软件包管理工具

RPM 软件包是各种 Linux 发行版本中应用较广泛的软件包之一。RPM 软件包以其强大的功能得到多数 Linux 发行版本的支持和广大 Linux 使用者的拥护。在本节中将学习 RPM软件包的常用管理操作。

RPM概述

RPM 软件包管理机制最早由 Red Hat 公司提出,后来随着版本的升级逐渐融入更多的优秀特性,成为众多 Linux发行版中公认的软件包管理标准。
RPM 软件包管理器通过建立统一的文件数据库,对在 Linux 操作系统中安装、卸载、升级的各种.rpm 软件包进行详细的记录,并能够自动分析软件包之间的依赖关系,保持各应用程序在一个协调、有序的整体环境中运行。

使用RPM软件包管理命令——rom

在 CentOS 系统中,rpm 命令是实现 RPM 软件包管理的主要工具。本小节将学习使用rpm 命令安装、卸载软件包及査询 RPM 相关信息的方法。
1.rom命令格式
使用 rpm 命令能够实现几乎所有对 RPM 软件包的管理功能,执行“man rpm"命令可以获得关于 rpm 命令的详细帮助信息,具体操作如下:
在这里插入图片描述

从 rpm 命令的手册页信息中可以看出,rpm 命令具有非常强大的功能,结合不同的命令选项及子选项主要可以实现以下三类功能。

查询、验证 RPM 软件包的相关信息。
安装、升级、卸载 RPM 软件包。
维护 RPM 数据库信息等综合管理操作。

2.查询RPM软件包信息

使用 rpm 命令的查询功能可以查看某个软件包是否已经安装,软件包的用途以及软件包复制到系统中的文件等相关信息,以便更好地管理 Linux 操作系统中的应用程序。

rpm 命令的查询功能主要通过“-q"选项实现,主要针对当前系统中已经安装的软件包;通过“-qp”选项可以针对尚未安装的 RPM 软件包文件进行查询。根据所需查询的具体项目不同,还可以为这两个选项指定相关的子选项。
(1)查询已安装的RPM软件包信息

-qa:显示当前系统中以 RPM 方式安装的所有软件列表。
-qi:查看指定软件包的名称、版本、许可协议、用途描述等详细信息(–info)。
-ql:显示指定的软件包在当前系统中安装的所有目录、文件列表(–list)。
-qf:查看指定的文件或目录是由哪个软件包所安装的(–file)。

(2)查询RPM软件包文件的相关信息
使用“-qp"选项时,必须以 RPM 软件包文件的路径作为参数(可以有多个),而不是软件包名称。其相关的子选项与使用“-q"查询时类似,常用的两个查询选项如下所述。

-qpi:查看指定软件包的名称、版本、许可协议、用途描述等详细信息。
-qpl:查看该软件包准备要安装的所有目标目录、文件列表。

(3)安装,升级,卸载RPM软件包
在日常系统管理工作中,安装、升级及卸载软件包是管理应用程序最基本的工作内容。使用rpm 命令实现这些操作时,基本的命令选项如下所述。

-i:在当前系统中安装(Install)一个新的 RPM 软件包。
-e:卸载指定名称的软件包。
-U:检查并升级系统中的某个软件包,若该软件包原来并未安装,则等同于“-i”选项。
-F:检查并更新系统中的某个软件包,若该软件包原来并未安装,则放弃安装。
-h:在安装或升级软件包的过程中,以“#”号显示安装进度。
-V:显示软件安装过程中的详细信息。
–force:强制安装某个软件包,当需要替换已安装的软件包及文件,或者安装一个比当前使用的软件版本更旧的软件时,可以使用此选项。
–nodeps:在安装或升级、卸载一个软件包时,不检查与其他软件包的依赖关系。

(4)维护RPM数据库

  1. 重建RPM数据库
    RPM 数据库用于记录在 Linux 操作系统中安装、卸载、升级应用程序的相关信息,由RPM 软件包管理系统自动完成维护,一般不需要用户干预。当RPM 数据库发生损坏(可能由误删文件、非法关机、病毒破坏等导致),且 Linux 操作系统无法自动完成修复时,将导致无法使用rpm 命令正常地安装、卸载及查询软件包。这时可以使用rpm 命令的“–rebuilddb"或“–initdb"功能对 RPM 数据库进行重建,具体操作如下:
    在这里插入图片描述

  2. 导入验证公钥
    CentOS 的 DVD 光盘中默认已经提供了用于数字签名验证的公钥文件,即位于光盘根目录下的 RPM-GPG-KEY-redhat-release 文件。在没有导入公钥文件之前,安装 CentOS光盘中的一部分 RPM 软件包时,可能会出现"warning:…x86_64.rpm: Header V3 RSA
    /SHA256 signature, key ID …: NOKEY”的警告信息(一般不影响正常使用)。
    向 RPM 数据库中导入公钥文件时,需要用到"–import"选项。例如,执行以下操作可以把光盘目录中的 RPM-GPG-KEY-CentOS-7 公钥文件导入 RPM 数据库中。在这里插入图片描述

从源代码编译安装程序

在 Linux 操作系统中搭建一些大型服务时,考虑兼容性与功能的扩展,通常会选择源代码安装软件,其实最早的 Linux 操作系统整体上都是编译安装而成的,本节将学习如何从源代码编译安装应用程序。

编译安装的基本过程

在这里插入图片描述
本小节将以编译安装 Apache 软件为例,说明应用程序的源代码编译安装过程。Apache是运行在 Linux 操作系统下的 Web 服务器软件,能够用于架设 Web 服务器。执行下面的命令可以査看当前目录中上传的 Apache 服务的源代码安装包文件。
在这里插入图片描述

对于从互联网中下载的软件包,建议使用 md5sum 命令工具检查 MD5 校验。
在这里插入图片描述
Apache 的配置及运行需要 apr、pcre 等软件包的支持,因此应预先安装这些软件的开发包(devel),以便提供相应的库和头文件,确保Apache 的安装顺利完成。
在这里插入图片描述在这里插入图片描述

1.解包

开源软件的源代码包一般为 TarBal 形式,扩展名为“.tar.gz"或".tar.bz2”,都可以使用 tar命令进行解压释放。对于只有".g2"扩展名的源代码包,表示只经过压缩而并未使用 tar 归档这样的文件只需使用 gzip 进行解压缩即可。在 Linux 操作系统中,通常将各种软件的源代码目录保存到"/usr/src!"目录中,以便于集中管理。释放后的软件包目录一般包括软件名和版本信息(如 httpd-2.4.25)。解包前先安装编译环境和依赖包。
在这里插入图片描述

2.配置

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

3.编译

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

4.安装

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

5.使用

安装后使用时需要先调整配置文件,操作如下:
在这里插入图片描述
然后修改配置文件 httpd.conf 的第 194 行,将前面的"#去掉,保存并退出。最后启动 Apache,操作如下:在这里插入图片描述安装 lynx 网页浏览器,并在命令行下运行 lynx 127.0.0.1 查看本机 Apache 运行状态

  • 22
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值