zoukankan      html  css  js  c++  java
  • Linux_源码安装包管理理论概述

    一、源码包基本概述

    1️⃣:源码包的编译用到了linux系统里的编译器,通常源码包都是用C语言开发的,这也是因为C语言为linux上最标准的程序语言

    2️⃣:Linux上的C语言编译器叫做gcc,利用它就可以把C语言变成可执行的二进制文件

    3️⃣:如果你的机器上没有安装gcc就没有办法去编译源码。可以使用yum install -y gcc来完成安装

    二、源码包的好处

    1️⃣:自定义修改源代码

    2️⃣:定制需要的相关功能

    3️⃣:新版软件优先更新源码

    三、源码包的获取

    官方网站, 可以获得最新的软件包

    1️⃣:Apache官方网站:http://apache.org

    2️⃣:Nginx官方网站:http://nginx.org

    3️⃣:Mysql官方网站:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

    四、源码包的分类

    1️⃣:源码格式(需要编译安装)

    2️⃣:二进制格式(解压后可以直接使用)

    五、源码包的安装

    1️⃣:编译需要编译环境,开发环境,开发库,开发工具。

    2️⃣:常用的编译环境有c、c++、perl、java、python共5种

    3️⃣:c环境的编译器:gcc(GNU C Complier)

    4️⃣:c++环境的编译器:g++

    5️⃣:make:c、c++的统一项目管理工具,编译时有可能调用gcc也有可能调用g++;使用makefile文件定义make按何种次序去编译源程序文件中的源程序

    六、源码安装三部曲

    1、第一步:/.configure (定制组件)

    • 指定安装路径,例如 --prefix=/opt/nginx-1.12
    • 启用或禁用某项功能, 例如 --enable-ssl
    • 和其它软件关联,例如--with-pcre
    • 检查安装环境,例如是否有编译器 gcc,是否满足软件的依赖需求
    • 检测通过后生成Makefile文件

    2、第二步:make

    • 执行make命令进行编译, 可以使用-j指定CPU核心数进行编译
    • 按Makefile文件进行编译, 编译成可执行二进制文件
    • 生成各类模块和主程序

    3、第三步:make install

    • 按Makefile定义好的路径拷贝至安装目录中

    注释:源码三部曲不能百分百通用于所有源码包, 也就是说源码包的安装并非存在标准安装步骤,但是大部分源码安装都是类似的步骤

    七、configure脚本的功能

    • 让用户选定编译特性
    • 检查编译环境是否符合程序编译的基本需要

    八、编译安装注意事项

    1、如果安装时不是使用的默认路径,则必须要修改PATH环境变量,以能够识别此程序的二进制文件路径;

    • 修改/etc/profile文件或在/etc/profile.d/目录建立一个以.sh为后缀的文件,在里面定义export PATH=$PATH:/path/to/somewhere

    2、默认情况下,系统搜索库文件的路径只有/lib,/usr/lib

    • 增添额外库文件搜索路径方法:
      • 在/etc/ld.so.conf.d/中创建以.conf为后缀名的文件,而后把要增添的路径直接写至此文件中
      • 此时库文件增添的搜索路径重启后有效,若要使用增添的路径立即生效则要使用ldconfig命令
    • ldconfig:通知系统重新搜索库文件

    3、头文件:输出给系统

    • 默认:系统在/usr/include中找头文件,若要增添头文件搜索路径,使用链接进行

    4、man文件路径:安装在--prefix指定的目录下的man目录

    • 默认:系统在/usr/share/man中找man文件
    • 默认:系统在/usr/share/man中找man文件:
      • man -M /path/to/man_dir command
      • 在/etc/man_db.conf文件中添加一条MANPATH
  • 相关阅读:
    2017.5.11下午学习内容
    windows消息和消息队列
    探索Win32系统之窗口类(转载)
    WinMain函数详解(转载)
    Ajax爬取实战头条街拍美图
    Ajax实战微博
    Ajax请求分析实战
    ubuntu 安装rails
    ubuntu Thunderbird 接收邮件显示乱码的问题排除
    ubuntu 开机挂载windows分区
  • 原文地址:https://www.cnblogs.com/itwangqiang/p/13500622.html
Copyright © 2011-2022 走看看