linux源码安装流程(20180123)


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



 源码安装相比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目录下,安装后结构如下

源码安装 nginx 源码安装步骤_源码安装

--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肯定会出问题。升级前,记录好原来版本,原来的包。 理清原有依赖。安装成功后,再确定要不要删除旧的包。后面再讲。

查软件在哪
#whereis   ptyhon

查软件版本
# rpm -qa  ptyhon 

查依赖
#yum  install XXX