linux运维基础[软件包管理]——————源码包安装管理[下载、解压、安装、启动服务、卸载]

本文详细介绍了Linux中源码包与RPM包的区别,包括安装位置、启动服务及卸载过程。源码包提供更大的安装自由度,但安装复杂;RPM包安装快速,但位置固定。源码包需手动指定安装位置,RPM包则自动安装在系统默认位置。在服务管理上,RPM包通常使用systemctl,而源码包可能需要自定义启动脚本。文章还阐述了源码包的安装步骤,包括安装C编译器、下载源码、解压、配置、编译和安装。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.源码包与RPM包的区别

1.1 区别

安装之前:

  • 源码包是开源的,安装更自由,安装后工作效率更高。但是安装更慢,更容易报错

  • rpm包是经过编译的,不能看到源代码,但是安装速度更快,报错容易解决都是依赖性上的问题

安装之后:

  • rpm包不需要指定安装位置,他会安装在系统的默认位置当中

  • 源码包是认为手工指定安装位置

1.2 RPM包安装位置

RPM包的安装位置,是rpm包中设定好的默认安装位置。一般有以下几个位置。

RPM包默认安装路径
/etc/配置文件安装目录
/usr/bin/可执行命令安装目录
/usr/lib/程序所使用的函数库保存的位置
/usr/share/doc/基本软件使用手册的保存位置
/usr/share/man/帮助文件的保存位置

我们查看一下,我们昨天安装过的httpd服务的安装位置。

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
一般我们不建议改安装位置,rpm包是可以自己更改安装位置的,但是如果一但乱改可能会出现一些不必要的后果。

1.3 源码包的安装位置

源码包一般是安装在指定的位置,一般是:

/usr/local/软件名/

目录/usr/是系统资源目录,其中有一个/local/目录,这个目录就是系统为我们准备的安装的开源软件的位置,我们只需要在其下新建一个软件名就可以进行安装了,比如源码httpd包,我们只需要将它安装在/usr/local/httpd/目录下就可以安装成功了。

1.4 安装位置不同带来的影响

最主要的影响就是服务的管理方法(启动、停止、重启动)。

1.4.1 RPM

1.4.1.1 启动文件

RPM包的启动方法有两种

systemctl start httpd

这种方式实际上是在系统中建立了service服务文件,文件建立在:

/usr/lib/systemd/system/httpd.service 

我们可以进入目录进行查看:
在这里插入图片描述查看httpd的服务文件:
在这里插入图片描述在这里插入图片描述因此我们能够从中确认redhat系中http的rpm安装包的启动文件在:

/usr/sbin/httpd
/usr/sbin/httpd -k start[同样打开httpd服务]

这就是第二种启动方式。

1.4.1.2 开机自启动

指向开机自启动命令:

systemctl enable httpd

在这里插入图片描述因为执行systemctl enable httpd.service命令时,httpd.service的一个符号链接,就会放在/etc/systemd/system目录下面的multi-user.target.wants子目录之中。

在这里插入图片描述

Systemd 有默认的启动 Target。默认的启动 Target 是multi-user.target。在这个组里的所有服务,都将开机启动。这就是为什么systemctl enable命令能设置开机启动的原因。

1.4.2 源码包

我们知道源码包是指定的安装位置,一般在/usr/local下,所以他是没有systemctl的启动方式的,你也可以自己写入service文件在/usr/lib/systemd/system/,就可以使用systemctl启动源码包了。

1.4.2.1 启动文件
/usr/local/apache/bin/apachectl start

我们一般安装源码包都需要指定安装位置,在安装完之后会再安装目录下的bin目录下有启动文件。

你也就可以将这个路径写入service文件中建立自己的systemctl启动方式。

你也可以通过命令重命名的方式,在确保没有冲突命令的条件下建立命令:

echo 'alias apache="/usr/local/apache/bin/apachectl start"' >> /etc/bashrc

source /etc/bashrc 

这样就可以通过apache命令来直接启动apache服务。

2. 源码包安装过程

2.1 安装准备

2.1.1 安装C语言编译器

源码大多是C语言的源码包,所以我们要编译运行就要安装C语言编辑器:

yum install -y gcc

在这里插入图片描述在这里插入图片描述

2.1.2 下载源码包

我们安装的时候,已经有了RPM包的安装,现在要安装源码包,这是可以的因为安装位置不同,但是一般我们不会两个都安装,因为会占用较大的重复空间。

我们下载源码包可以在中科大开源镜像网站阿里云镜像清华大学开源镜像网站华中科技大学开源镜像网站 ,就可以在其中下载源码包镜像。

从华中科技大学开源镜像网站下载apache的源码包:

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

2.2 安装注意事项

系统给我们专门准备了源码包的安装位置:

/usr/local/src
src:source code 源代码的缩写

安装位置:

/usr/local/

安装过程中的报错,安装的过程是言代码的编译过程,这整个过程报错有两个报错条件:

  • 安装过程停止,如果不停止出现了error都不算。
  • error:错误、warning:警告、no:找不到。

2.3 解压压缩包

将下载下来的压缩包进行解压:
在这里插入图片描述解压后的目录大小:
在这里插入图片描述

2.4 安装

要进入解压目录安装,其后的所有操作目录都在解压目录下:
在这里插入图片描述在这里插入图片描述
在所有的源码包解压目录下都有这两个文件:

  • INSTALL:安装说明
  • README: 使用说明

首先查看安装说明:

在这里插入图片描述在这里插入图片描述我们解读一下这几个步骤:

./configure 软件的配置与检查步骤

  • 定义需要的功能选项。
    在这里插入图片描述
  • 检测系统环境是否符合安装要求。
  • 定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编辑。等./configure执行完之后,就可以得到文件,在之后的make和make install。

在这里插入图片描述在这里插入图片描述查看是否有了Makefile:
在这里插入图片描述
开始make编译:
在这里插入图片描述如果编译出现错误,就可以使用make clean将编译产生的临时文件删除,只有make install才会真正的创建文件,执行make install:
在这里插入图片描述这时候就安装成功了。

2.5 启动服务

现在只需要启动服务就可以了:

/usr/local/apache2/bin/apachectl start

启动命令就在bin目录下:
在这里插入图片描述

因为之前我们的RPM安装的httpd服务已经成功,所以这时打开就不能使用80端口,我们必须先关闭RPM的httpd服务。

在这里插入图片描述
这样一个源码包服务就完全安装成功了。

2.6 源码包的卸载

直接将安装目录删除就可以了

rm -fr /usr/local/apache2/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值