Linux程序安装之编译安装

简介:
  1. 前言

    有别于Windows下的双击安装程序,Linux程序的安装略显繁琐,但也因为Linux程序安装的较高自由度,对于技术人员来说真是妙趣横生啊!(讨厌Windows为了用户做一切决定的态度)

    本文就来介绍如何在Linux下安装各种程序,对于难度最大的方式(即编译安装)做重点介绍。

  2. Linux程序安装方式

    1. 4大程序安装方式

      1. 简单地二进制格式打包程序:如某些perl程序,直接解压包就可以运行

      2. 使用包管理器

        优势:便捷,易用

        分类:Debian系:dpkg;Redhat系:rpm

      3. 使用包管理器的前端工具

        优势:借助包管理器,还能自动处理各程序包间的依赖关系,更方便了

        分类:Debian系:apt-get;Redhat系:yum

      4. 源代码编译安装

        优势:可以自由定制安装过程中各项配置,可集中安装在同一路径下,利于卸载;学习源代码编译安装,对于理解Linux系统的实现原理也是大有益处的

    2. 已安装程序的文件组成:

      wKiom1MLXIiwzFS7AAWHK4Hz6Ig742.jpg

  3. 编译安装(重点)

    1. 基本安装步骤

      1. 最基本的编译安装步骤如下

        # 下载源代码包
        wget http://mirrors.hust.edu.cn/apache//httpd/httpd-2.2.26.tar.gz
        # 解压包
        tar zxvf httpd-2.2.26.tar.gz
        # 进入解压后程序目录
        cd httpd-2.2.26
        # 执行configure脚本,进行编译前的准备工作
        ./configure
        # 编译
        make
        # 安装
        make install
    2. configure脚本的详细解释

      1. 用户执行configure脚本后,会检查编译环境是否满足编译需求,并定义当前程序编译时启用哪些特性或功能,以及安装路径的定义等,如:

        # 用户需要定义的配置:
        # 指定安装路径:
        --prefix=/usr/local/package_name
        --sysconf=/etc/configfile_name
        # 指定启用/禁用的特性:
        --enable-fpm
        --disable-socket
        # 指定所依赖的功能、程序或文件:
        --with-function:启用某功能
        --without-function:禁用某功能
      2. configure脚本在执行过程中,还会根据压缩后目录中的Makefile.ini文件生成makefile文件(makefile文件是下一步编译make命令的配置文件)

      3. 不同的程序,其configure脚本功能不同,要获取帮助:./configure --help

    3. 注意事项

      1. 编译安装前,需检查编译环境是否可以编译,如已安装gcc等(一般Linux系统都自带)

      2. 若没有安装gcc等根据,可通过yum安装开发套件,如下所示

        yum -y groupinstall "Server Platform Development" "Development Tools"

 4.  Apache编译安装实例

    1. 下载httpd源文件

      wKioL1MLX0fiLPAOAACQ6AhM7-E526.jpg

    2. 解压缩打包源文件

      wKiom1MLX3qzN3LyAAA6rCT168g414.jpg

    3. 编译前准备

      wKioL1MLX2jSjuEWAAGq7x1Sqyo507.jpg

    4. 编译

      wKiom1MLX5ywq15wAAANIzx-WOk042.jpg

    5. 安装

      wKioL1MLX4SBsftDAAAcExqoEKE030.jpg

    6. 后续处理(若指定了特定的安装路径,则需要进行如下配置,防止程序执行出错)

      1. 二进制程序输出:修改环境变量$PATH,使得直接运行程序

        # vi /etc/profile.d/apache.sh 添加如下内容
        PATH=/var/local/apache/bin:/var/local/apache/sbin:$PATH
        export $PATH
      2. 头文件输出:

        ln –sv /var/local/apache/include /usr/include/httpd
      3. 库文件输出:

        #  vi /etc/ld.so.conf.d/httpd.conf 添加如下内容
        /var/local/apache/lib
        # 执行ldconfig:让系统重新生成库文件路径缓存
      4. man文件输出:使得man命令可以找到httpd的帮助文档

        # vi /etc/man.conf 添加如下内容
        MANPATH /var/local/apache/man
    7. 启动服务

      apachectl -k start
    8. 检查服务是否启动(8080端口已经被监控,说明程序已启动)

      wKioL1MLZIbTrRagAADAHBH152Y438.jpg










本文转自 xxrenzhe11 51CTO博客,原文链接:http://blog.51cto.com/xxrenzhe/1362936,如需转载请自行联系原作者
目录
相关文章
|
存储 编译器
Linux--程序地址空间
Linux--程序地址空间
|
2月前
|
算法 中间件 Linux
Linux-计算机程序概览
Linux-计算机程序概览
44 0
|
3月前
|
网络协议 Linux
拿来即用的Linux上TCP服务端程序
拿来即用的Linux上TCP服务端程序
|
1天前
|
Linux 开发工具 C语言
Linux 安装 gcc 编译运行 C程序
Linux 安装 gcc 编译运行 C程序
10 0
|
14天前
|
关系型数据库 Linux PHP
linux 编译安装php7.2 实测!!
linux 编译安装php7.2 实测!!
10 0
|
1月前
|
Shell Linux C语言
【Shell 命令集合 系统设置 内置命令】⭐⭐Linux 测量程序的执行时间和资源使用情况 time命令 使用指南
【Shell 命令集合 系统设置 内置命令】⭐⭐Linux 测量程序的执行时间和资源使用情况 time命令 使用指南
31 0
|
1月前
|
前端开发 Unix Linux
Linux indent命令 (格式化C语言源代码的程序)
Linux indent命令 (格式化C语言源代码的程序)
18 0
Linux indent命令 (格式化C语言源代码的程序)
|
1月前
|
存储 缓存 安全
掌握Linux字符设备驱动程序的核心要点
掌握Linux字符设备驱动程序的核心要点
57 0
|
1月前
|
Shell Linux 调度
【Linux】—— 进程程序替换
【Linux】—— 进程程序替换
|
1月前
|
Java Linux Shell
进程的程序替换(exec函数)【Linux】
进程的程序替换(exec函数)【Linux】