Linux源码包安装和卸载教程(以apache为例)

由于 Linux 操作系统开放源代码,因此在其上安装的软件大部分也都是开源软件,例如 Apache、Tomcat 和 PHP 等。开源软件基本都提供源码下载,可采用源码安装的方式安装软件。

注意,本节使用的源码包,指的是软件所有源代码的压缩包,其后缀名为 “.tar.gz” 或 “.tar.bz2″;而 SRPM 源码包本质上属于 RPM 包,也就是源码的RPM包,其文件后缀为 “.src.rpm”。虽然都叫源码包,但不是一码事。

软件的源代码,也就是软件的原始数据,任何人都可以通过源代码查看该软件的设计架构和实现方法,但软件源代码无法再计算机中直接运行安装,需要将源代码通过编译转换为计算机可以识别的机器语言,然后才可以安装。

Linux 系统中,绝大多数软件的源代码都是用 C 语言编写的,少部分用 C++(或其他语言)编写。因此要想安装源码包,必须安装 gcc 编译器(如果涉及 C++ 源码程序,还需要安装 gcc-c++)。

安装 gcc 之前,可先使用如下命令看看是否已经安装:

[root@localhost ~]# rpm -q gcc
gcc-4.4.6-4.el6.i686

如果未安装,考虑到安装 gcc 所依赖的软件包太多,推荐大家使用 yum 安装 gcc。具体安装方式可阅读《Linux yum命令》一节。

除了安装编译器,还需要安装 make 编译命令。要知道,编译源码包可不像编译一个 hello.c 文件那样轻松,包中含大量的源码文件,且文件之间有着非常复杂的关联,直接决定着各文件编译的先后顺序,因此手动编译费时费力,而使用 make 命令可以完成对源码包的自动编译。

同样,在安装 make 命令之前,可使用如下命令查看其是否已经安装:

[root@localhost yum. repos.d]# rpm -q make
make-3.81-20.el6.i686

如果未安装,可使用
yum -y install make 命令直接安装 make。

安装好了 gcc 编译器和 make 编译工具,接下来学习使用源码包安装软件。

Linux源码包安装软件

本节仍然以安装 apache 为例,安装过程分为如下几步:

  1. 下载 apache 源码包。该软件的源码包可通过官方网站 http://httpd.apache.org/download.cgi#apache24 下载,得到的源码包格式为压缩包( “.tar.gz” 或 “.tar.bz2” )。

    将各种文件分门别类保存在对应的目录中,应该成为合格 Linux 管理员约定俗成的习惯。Linux 系统中用于保存源代码的位置主要有 2 个,分别是 “/usr/src” 和 “/usr/local/src”,其中 “/usr/src” 用来保存内核源代码,”/usr/local/src” 用来保存用户下载的源代码。

  2. 将源码包进行解压缩,使用命令如下:

    [root@localhost ~]#tar -zxvf httpd-2.2.9.tar.gz|more

  3. 进入解压目录,执行如下命令:

    [root@localhost ~]# ls
    anaconda-ks.cfg httpd-2.2.9 httpd-2.2.9.tar.gz install.log install.log.syslog
    [root@localhost ~]# cd httpd-2.2.9

  4. ./configure 软件配置与检查。这一步主要完成以下 3 项任务:
    • 检测系统环境是否符合安装要求。
    • 定义需要的功能选项。通过 “./configure–prefix=安装路径” 可以指定安装路径。注意,configure 不是系统命令,而是源码包软件自带的一个脚本程序,所以必须采用 “./configure” 方式执行(”./” 代表在当前目录下)。

      “./configure” 支持的功能选项较多,可执行 “./configure–help” 命令查询其支持的功能,例如:

      [root@localhost httpd-2.2.9]#./configure –help|more
      #查询apache支持的选项功能(不是必需步骤)

    • 把系统环境的检测结果和定义好的功能选项写入 Makefile 文件,因为后续的编译和安装需要依赖这个文件的内容。

    此步具体执行代码如下:

    [root@localhost httpd-2.2.9]# ./configure –prefix=/usr/local/apache2
    checking for chosen layout…Apache
    checking for working mkdir -p…yes
    checking build system type…i686-pc-linux-gnu
    checking host system type…i686-pc-linux-gnu
    checking target system typa…i686-pc-linux-gnu
    …省略部分输出…

    –prefix 选项的含义为指定安装目录。

    此命令没有加载其他功能,只是指定安装目录。需要说明的是,”/usr/local/apache2″ 目录不需要手工建立,安装完成后会自动建立(这个目录是否生成也是检测软件是否正确安装的重要标志)。

  5. make 编译。make 会调用 gcc 编译器,并读取 Makefile 文件中的信息进行系统软件编译。编译的目的就是把源码程序转变为能被 Linux 识别的可执行文件,这些可执行文件保存在当前目录下。

    执行的编译命令如下:

    [root@localhost httpd-2.2.9]# make

    编程过程较为耗时,需要有足够的耐心。

  6. 正式开始安装软件,这里通常会写清程序的安装位置,如果没有,则建议读者把安装的执行过程保存下来,以备将来删除软件时使用。安装指令如下:

    [root@localhost httpd-2.2.9]# make install

    整个过程不报错,即为安装成功。

    安装源码包过程中,如果出现“error”(或“warning”)且安装过程停止,表示安装失败;反之,如果仅出现警告信息,但安装过程还在继续,这并不是安装失败,顶多使软件部分功能无法使用。
     

注意,如果在 “./configure” 或 “make” 编译中报错,则在重新执行命令前一定要执行
make clean 命令,它会清空 Makefile 文件或编译产生的 “.o” 头文件。

Linux源码包卸载

通过源码包方式安装的各个软件,其安装文件独自保存在 /usr/local/ 目录下的各子目录中。例如,apache 所有的安装文件都保存在 /usr/local/apache2 目录下。这就为源码包的卸载提供了便利。

源码包的卸载,只需要找到软件的安装位置,直接删除所在目录即可,不会遗留任何垃圾文件。需要读者注意的是,在删除软件之前,应先将软件停止服务。

以删除 apache 为例,只需关闭 apache 服务后执行如下命令即可:

[root@localhost ~]# rm -rf /usr/local/apache2/

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/212076.html<

(0)
运维的头像运维
上一篇2025-04-10 16:56
下一篇 2025-04-10 16:57

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注