linux源码安装流程

作者 : 慕源网 本文共3295个字,预计阅读时间需要9分钟 发布时间: 2021-09-21 共352人阅读

linux 的安装方法,主要有三种:rpm 安装,yum 安装 ,源码安装。今天就先说下源码安装。

linux源码安装流程

  源码安装相比rpm和yum, 复杂很多,为什么还要采用源码安装呢?如果你想使用的软件最新的版本yum源中没有,

 

或者你想安装时,自已指定安装目录或参数。这就体现出源码安装的优势了。

 

下面说说如何源码安装。

 

源码安装正常流程:

 

1. 配置(configure)

 

2. 编译(make)

 

3. 安装(make install)

 

4. 环境变量(export)

 

5. 确认安装成功(version)

 

第一步:配置configure

 

查看configure帮助可以看到configure可用的参数,这里主要介绍下比较重要的几个。不同软件配置可能不同。

 

# ./configure –help

 

–help print this message

 

–prefix=PATH set installation prefix

 

–sbin-path=PATH set nginx binary pathname

 

–conf-path=PATH set nginx.conf pathname

 

–error-log-path=PATH set error log pathname

 

–pid-path=PATH set nginx.pid pathname

 

–lock-path=PATH set nginx.lock pathname

 

–user=USER set non-privileged user for worker processes

 

–group=GROUP set non-privileged group for worker processes

 

–builddir=DIR set build directory

 

–with-rtsig_module enable rtsig module

 

–with-select_module enable select module

 

–without-select_module disable select module

 

–with-poll_module enable poll module

 

–without-poll_module disable poll module

 

–with-file-aio enable file AIO support

 

–with-ipv6 enable IPv6 support

 

–with-http_ssl_module enable ngx_http_ssl_module

 

–with-http_spdy_module enable ngx_http_spdy_module

 

–http-fastcgi-temp-path=PATH set path to store http fastcgi temporary files

 

–http-uwsgi-temp-path=PATH set path to store http uwsgi temporary files

 

–with-debug enable debug logging

 

(太多了,省略,用法类似)

 

具本用法:

 

./configure –prefix=/usr/local/XXX –with-XXX –without-XXX

 

不指定prefix,则可执行文件默认安装到/usr/local/bin目录下

 

库文件默认安装到/usr/local/lib目录下

 

配置文件默认安装到/usr/local/etc目录下

 

其它资源文件安装到/usr/local/share目录下

 

指定目录安装,则–prefix=目录,目录可以放在任何地方,通常是放到/usr/local/XXX目录下.

 

如安装python到/usr/local/python3目录下,安装后结构如下

linux源码安装流程

  –with-XXX : 安装文件所依赖的库文件

 

第二步:编译

 

# make -j 4

 

make是编译, 参数:-j [num]表用多少进程同时执行,通常num指定为小以cpu核数。编译过程通常比较慢,主要加快编译速度。

 

如果编译过程中报错或想重新生成,可以先清除已编译的文件,再编译。

 

清除编译过的文件和目标文件

 

# make clean

 

重编

 

# make -j 4

 

第三步:安装

 

安装,就是把编译好的文件和配置,资源等拷贝到指定的安装目录PRIFIX或默认安装目录。

 

命令

 

make install

 

指定PRIFIX_DIR

 

头文件:PRIFIX_DIR/include

 

库文件:PRIFIX_DIR/lib

 

可执行文件:PRIFIX_DIR/bin

 

资源文件: PRIFIX_DIR/share

 

配置文件: PRIFIX_DIR/etc

 

总体为这几个文件,不同软件可能会有更多目录,如:man,data,scripts等。

 

未指定安装目录,默认安装到:

 

可执行文件: /usr/local/bin

 

库文件: /usr/local/lib

 

配置文件: /usr/local/etc

 

其它资源文件: /usr/local/share

 

取消安装, 则删除上面目录内容

 

# make uninstall

 

其他方法:

 

rpm -e 软件

 

yum remove 软件

 

第四步:设置环境变量

 

配置环境变量,主要为了安装的软件,可以直接使用。主要配置可bin目录,lib目录。

 

在 /etc/profile 尾添加:

 

#vim /etc/profile

 

export PATH=$PATH:PRIFIX_DIR/bin

 

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:PRIFIX_DIR/lib

 

让配置文件生效:

 

# . /etc/profile

 

 

# source /etc/profile

 

最后,测试安装软件是否安装版本,是否可用,python为例:

 

# python –version

 

Python 2.7.5

 

多说几句,如果是自已想装指定版本或第三方工具,建议用源码安装。如果系统自已的,建议直接rpm系统自带包。正常来说,安装的软件,非必要不用升级,因为升级可能会导致其他依赖的不兼容而出错。所以安装的系统和软件,最好用系统自带的。

 

如果确定要升级,一定要处理好。比如:系统带python2, 想升级为python3,那么升级后,yum肯定会出问题。升级前,记录好原来版本,原来的包。 理清原有依赖。安装成功后,再确定要不要删除旧的包。后面再讲。

 

什么是“Linux函数库”?

 

运行在Linux上的软件时常会调用Linux内核的某些功能或其他软件的某些功能,那么这些被软件调用的功能称为Linux的函数库。软件自身的函数库存放在软件安装目录下的lib中,而Linux的函数库存放在/usr/lib和/usr/include中,linux内核的函数库存放在/lib/modules中。

 

Linux函数库的分类

 

Linux函数库分为静态函数库 和 动态函数库。

 

1. 静态函数库

 

– 扩展名:xxx.a

 

– 在编译时会被整合到软件的二进制文件中去。因此拥有静态函数库的软件较为庞大。而且当系统的函数库更新时,引用该函数库的所有软件都需要重新编译才能正常使用。这是非常麻烦的!但拥有静态函数库的软件可以独立运行。

 

2.动态函数库

 

– 扩展名:xxx.so

 

– 在编译时仅仅将函数库的路径整合到软件的二进制文件中去。由于软件中包含的是函数库的路径,因此该软件无法独立运行,且函数库的路径不能发生变化,一旦变化,该软件将无法找到函数库,从而无法运行!这是动态函数库的最大缺点。但当动态函数库更新时,软件无需重新编译,因此更新较为方便,这是动态函数库的最大优点。

 

目前大部分软件均使用动态函数库,就是因为动态函数库在更新时体现出的优势。

 

提升函数库读取效率

 

软件在运行某些功能时需要调用函数库中的函数,而函数库又是以文件的形式存放在外设上。那么如果将函数库存放在内存中,那么将会大大提升读取速度。在Linux中,可以使用ldconfig命令将指定的函数库加载进内存。具体步骤如下:

 

1. 在/etc/ld.so.conf中设置需要加载进内存的函数库

 

2. 使用ldconfig命令使配置生效

 


慕源网 » linux源码安装流程

常见问题FAQ

程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!

发表评论

开通VIP 享更多特权,建议使用QQ登录