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