Centos 用Kerl安装及管理Erlang

江枫思渺然 提交于 2020-07-29 09:20:56

1.安装依赖

yum -y update
yum -y install make 
yum -y install gcc 
yum -y install gcc-c++ 
yum -y install kernel-devel 
yum -y install m4 
yum -y install ncurses-devel 
yum -y install openssl-devel 
yum -y install rsync 
yum -y install perl-net-snmp 
yum -y install wx 
yum -y install fop 
yum -y install net-snmp 
yum -y install unixODBC 
yum -y install unixODBC-devel 
yum -y install lrzsz 
yum -y install bc 
yum -y install sysstat 
yum -y install lsof 
yum -y install wget 
yum -y install xz  
yum -y install automake 
yum -y install autoconf

2.安装kerl

root@SummerGao:/home/summergao#

安装位置: 

cd /home/summergao/kerl

下载 

curl -O https://raw.githubusercontent.com/kerl/kerl/master/kerl

修改执行权限 

chmod a+x kerl

3.配种环境变量

Win10 CentOS子系统配置方式:

sudo vim ~/.bashrc  

在打开的文件末尾添加: 

export KERL_HOME=/home/summergao/kerl
export PATH=${KERL_HOME}/:$PATH

使配置生效:

source ~/.bashrc

原装CentOS配置方式

vim /etc/profile

在export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL下面添加如下代码:

export KERL_HOME=/home/summergao/kerl
export PATH=${KERL_HOME}/:$PATH

使配置生效

source /etc/profile

验证环境变量是否配置成功

kerl version 

[root@SummerGao kerl]# kerl version
1.8.6
[root@SummerGao kerl]#

4.从erlang官网更新版本

kerl update releases

5.显示所有发布的版本 

kerl list releases

6.构建指定的版本(默认使用Java编译,需要安装JDK及配置环境变量)

方式一、默认使用Java编译

kerl build 22.0 22.0

方式二、(取消java编译)使用gcc编译

KERL_CONFIGURE_OPTIONS=--without-javac kerl build 22.0 22.0

作为一个试验性功能, 还可以从git仓库构建

kerl build git https://github.com/erlang/otp.git dev 19.2_dev

构建需要一段时间建议耐心等待。

[root@SummerGao builds]# kerl build 22.0 22.0
Verifying archive checksum...
Checksum verified (9842663e49f48e967c44b7574423f9e9)
Extracting source code
Building Erlang/OTP 22.0 (22.0), please wait...
APPLICATIONS DISABLED (See: /root/.kerl/builds/22.0/otp_build_22.0.log)
 * jinterface     : No Java compiler found

APPLICATIONS INFORMATION (See: /root/.kerl/builds/22.0/otp_build_22.0.log)
 * wx             : wxWidgets not found, wx will NOT be usable

出现上面的信息则需要另开一个终端安装一下JDK JDK

JDK安装成功后会提示:

Erlang/OTP 22.0 (22.0) has been successfully built

下载安装包可能很慢,为此可以使用迅雷先把安装包下载下来,比如安装22.0: 首先访问 https://www.erlang.org/downloads/22.0 找到 :OTP 22.0 Source File (91806805) 右键复制链接地址到迅雷下载。下载完成之后复制(或上传)到 /root/.kerl/archives/ 目录下,重新执行第6步。

7.显示已构建版本

kerl list builds

显示的结果由,号分隔, 第一列为kerl list releases命令中列出的版本号, 第二列为构建名称, 该构建名字可以被后续的kerl install命令使用.

[root@SummerGao home]# kerl list builds
22.0,22.0
[root@SummerGao home]#

8.显示状态

kerl status

[root@SummerGao home]# kerl status
Available builds:
22.0,22.0
----------
Available installations:
There are no installations available
----------
No Erlang/OTP installation is currently active
[root@SummerGao home]#

9.安装特定版本

kerl install 22.0 ~/kerl/22.0

Installing Erlang/OTP 22.0 (22.0) in /root/kerl/22.0...
You can activate this installation running the following command:
.  /root/kerl/22.0/activate
Later on, you can leave the installation typing:
kerl_deactivate

安装需要一段时间请耐心等待

10.显示已安装版本

kerl list installations

11.激活特定版本

. /root/kerl/22.0/activate

激活将备份您的$ PATH,并将其添加到安装的bin /目录中。因此,它仅对当前shell会话有效,直到您激活另一个安装或调用kerl_deactivate。

12.查看已激活的Erlang版本

kerl active

[root@SummerGao home]# kerl active
The current active installation is:
/root/kerl/22.0
[root@SummerGao home]#

13.试运行erl

erl

[root@SummerGao home]# erl
Erlang/OTP 22 [erts-10.4] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe]

Eshell V10.4  (abort with ^G)
1>

拓展:

14.删除特定的构建

kerl delete build 22.0

13.配置

你可以在命令行中执行构建的配置选项, 也可以在配置文件中进行配置

①配置编译选项

命令行通过编译参数指定, 如:

KERL_CONFIGURE_OPTIONS=--enable-hipe kerl build 22.0 22.0_hipe

②配置文件在$HOME/.kerlrc指定

# $HOME/.kerlrc
KERL_CONFIGURE_OPTIONS="
--disable-debug 
--without-javac 
--enable-shared-zlib 
--enable-dynamic-ssl-lib 
--enable-hipe 
--enable-smp-support 
--enable-threads 
--enable-kernel-poll 
--with-wx"

③配置应用程序

构建一个最小的Erlang环境, 只包含kernel,stdlib,sasl三个应用程序

KERL_CONFIGURE_APPLICATIONS="kernel stdlib sasl" kerl build 22.0 22.0_minimal

④禁用应用程序

在构建的Erlang环境中排除ODBC应用

KERL_CONFIGURE_DISABLE_APPLICATIONS="odbc" kerl build 22.0 22.0_no_odbc

⑤安装Erlang

安装到指定的目录, 为了能够安装多个版本, 安装目录应该使用版本号进行标识

kerl install <build_name> <path>

例如

kerl install 22.0_hipe /tmp/erlang/22.0_hipe

15.部署

把指定Erlang构建版本部署到远程服务器上, 这样在一个集群中, 我们可以在一个服务器上编译, 统一部署所有的集群节点的 Erlang 运行环境.

kerl deploy <[user@]host> [directory] [remote_directory]
kerl deploy test@192.168.1.100 /deploy/erlang/22.0_hipe

注意: 
要配置公钥能让ssh直接无密码登陆远程服务器
把公钥添加到远程服务器的$HOME/.ssh/authorized_key文件中即可
本地默认公钥位置为$HOME/.ssh/id_rsa.pub

更多配置请访问kerl官网:https://github.com/kerl/kerl

参考:https://segmentfault.com/a/1190000004909357

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!