in

Instalar o Erlang no Fedora 26/27/28/29

Erlang é uma linguagem de programação usada para construir sistemas em tempo real massivamente escalonáveis com requisitos de alta disponibilidade.

Alguns de seus usos são em telecomunicações, bancos, comércio eletrônico, telefonia por computador e mensagens instantâneas. O sistema de tempo de execução da Erlang possui suporte integrado para simultaneidade, distribuição e tolerância a falhas.

OTP é um conjunto de bibliotecas e princípios de design da Erlang, fornecendo produtos intermediários para o desenvolvimento desses sistemas. Ele inclui seu próprio banco de dados distribuído, aplicativos para interface com outras linguagens, depuração e liberação de ferramentas de manipulação.

Erlang suporta nativamente hot swapping, de forma que o código pode ser modificado sem a parada do sistema. Originalmente surgido em 1986 era uma linguagem proprietária da Ericsson para suportar aplicações distribuídas a serem executadas em um ambiente de tempo real e ininterrupto, mas foi lançada em código aberto em 1998.

Erlang é voltado para sistema de alto nível, concorrentes, robustos e com integração real-time.

Alguns projetos que utilizam o Erlang:

  • SimpleDB no Amazon EC2
  • Bookmarking no Delicious
  • Serviço de Chat do Facebook
  • CouchDB

Para saber mais sobre o Erlang, acessa a página de documentação do projeto.

Documentação Online Erlang

Para interagir mais com quem usa Erlang, tem um grupo no facebook para os interessados.

Erlang Brasil

Instalar o Erlang no Fedora 26/27/28/29

Nessa dica vamos ver como instalar o Erlang no Fedora 29 mas que funcionará também nas versões antecessoras. Para qualquer modificação no sistema deverá ser executado com privilégio de root.

1. Instalar o Erlang

Para a instalação do Erlang execute o comando e aceite a instalação com suas dependências.

dnf install erlang
Saída:
Última verificação de data de vencimento de metadados: 0:50:47 atrás em ter 22 jan 2019 14:53:31 -02.
Dependências resolvidas.
================================================================================
Pacote Arq. Versão Repo Tam.
================================================================================
Instalando:
erlang x86_64 20.3.8.14-1.fc29 updates 23 k
Instalando dependências:
erlang-asn1 x86_64 20.3.8.14-1.fc29 updates 742 k
erlang-common_test x86_64 20.3.8.14-1.fc29 updates 1.1 M
erlang-compiler x86_64 20.3.8.14-1.fc29 updates 1.1 M
erlang-cosEvent x86_64 20.3.8.14-1.fc29 updates 154 k
erlang-cosEventDomain x86_64 20.3.8.14-1.fc29 updates 116 k
erlang-cosFileTransfer x86_64 20.3.8.14-1.fc29 updates 173 k
erlang-cosNotification x86_64 20.3.8.14-1.fc29 updates 759 k
erlang-cosProperty x86_64 20.3.8.14-1.fc29 updates 166 k
erlang-cosTime x86_64 20.3.8.14-1.fc29 updates 109 k
erlang-cosTransactions x86_64 20.3.8.14-1.fc29 updates 169 k
erlang-crypto x86_64 20.3.8.14-1.fc29 updates 124 k
erlang-debugger x86_64 20.3.8.14-1.fc29 updates 398 k
erlang-dialyzer x86_64 20.3.8.14-1.fc29 updates 692 k
erlang-diameter x86_64 20.3.8.14-1.fc29 updates 711 k
erlang-edoc x86_64 20.3.8.14-1.fc29 updates 304 k
erlang-eldap x86_64 20.3.8.14-1.fc29 updates 111 k

netpbm x86_64 10.84.03-1.fc29 updates 173 k
gts x86_64 0.7.6-34.20121130.fc29 fedora 233 k
lasi x86_64 1.1.2-11.fc29 fedora 46 k
libXaw x86_64 1.0.13-11.fc29 fedora 192 k
wxBase3 x86_64 3.0.4-4.fc29 fedora 1.1 M
wxGTK3 x86_64 3.0.4-4.fc29 fedora 4.8 M
wxGTK3-gl x86_64 3.0.4-4.fc29 fedora 38 k
wxGTK3-i18n noarch 3.0.4-4.fc29 fedora 505 k
xemacs-filesystem noarch 21.5.34-30.20171230hg92757c2b8239.fc29
fedora 10 k
xorg-x11-fonts-ISO8859-1-100dpi noarch 7.5-20.fc29 fedora 1.1 M
Instalando dependências fracas:
libyui-qt-graph x86_64 2.44.6-3.fc29 fedora 54 k

Resumo da transação
================================================================================
Instalar 59 Pacotes

Tamanho total do download: 46 M
Tamanho depois de instalado: 96 M
Correto? [s/N]: s
Baixando pacotes:
(1/59): erlang-20.3.8.14-1.fc29.x86_64.rpm 19 kB/s | 23 kB 00:01
(2/59): erlang-asn1-20.3.8.14-1.fc29.x86_64.rpm 113 kB/s | 742 kB 00:06
(3/59): erlang-common_test-20.3.8.14-1.fc29.x86 151 kB/s | 1.1 MB 00:07
(4/59): erlang-cosEvent-20.3.8.14-1.fc29.x86_64 141 kB/s | 154 kB 00:01
(5/59): erlang-cosEventDomain-20.3.8.14-1.fc29. 119 kB/s | 116 kB 00:00
(6/59): erlang-compiler-20.3.8.14-1.fc29.x86_64 149 kB/s | 1.1 MB 00:07
(7/59): erlang-cosFileTransfer-20.3.8.14-1.fc29 111 kB/s | 173 kB 00:01
(8/59): erlang-cosProperty-20.3.8.14-1.fc29.x86 125 kB/s | 166 kB 00:01
(9/59): erlang-cosTime-20.3.8.14-1.fc29.x86_64. 110 kB/s | 109 kB 00:00

(47/59): netpbm-10.84.03-1.fc29.x86_64.rpm 183 kB/s | 173 kB 00:00
(48/59): gts-0.7.6-34.20121130.fc29.x86_64.rpm 171 kB/s | 233 kB 00:01
(49/59): lasi-1.1.2-11.fc29.x86_64.rpm 168 kB/s | 46 kB 00:00
(50/59): libXaw-1.0.13-11.fc29.x86_64.rpm 182 kB/s | 192 kB 00:01
(51/59): libyui-qt-graph-2.44.6-3.fc29.x86_64.r 170 kB/s | 54 kB 00:00
(52/59): erlang-wx-20.3.8.14-1.fc29.x86_64.rpm 185 kB/s | 3.1 MB 00:17
(53/59): graphviz-2.40.1-37.fc29.x86_64.rpm 192 kB/s | 1.7 MB 00:08
(54/59): wxGTK3-gl-3.0.4-4.fc29.x86_64.rpm 54 kB/s | 38 kB 00:00
(55/59): wxBase3-3.0.4-4.fc29.x86_64.rpm 199 kB/s | 1.1 MB 00:05
(56/59): xemacs-filesystem-21.5.34-30.20171230h 132 kB/s | 10 kB 00:00
(57/59): wxGTK3-i18n-3.0.4-4.fc29.noarch.rpm 190 kB/s | 505 kB 00:02
(58/59): xorg-x11-fonts-ISO8859-1-100dpi-7.5-20 265 kB/s | 1.1 MB 00:04
(59/59): wxGTK3-3.0.4-4.fc29.x86_64.rpm 380 kB/s | 4.8 MB 00:12
——————————————————————————–
Total 509 kB/s | 46 MB 01:32
Executando verificação da transação
Verificação de transação completa.
Executando teste de transação
Teste de transação completo
Executando a transação
Preparando : 1/1
Instalando : erlang-crypto-20.3.8.14-1.fc29.x86_64 1/59
Executando scriptlet: erlang-erts-20.3.8.14-1.fc29.x86_64 2/59
(Tue Jan 22 15:46:32:361564 2019) [sss_cache] [confdb_get_domains] (0x0010): No domains configured, fatal error!
Could not open available domains
groupadd: sss_cache exited with status 2
groupadd: Failed to flush the sssd cache.
(Tue Jan 22 15:46:32:412774 2019) [sss_cache] [confdb_get_domains] (0x0010): No domains configured, fatal error!
Could not open available domains
groupadd: sss_cache exited with status 2
groupadd: Failed to flush the sssd cache.

Instalando : erlang-erts-20.3.8.14-1.fc29.x86_64 2/59
Instalando : erlang-kernel-20.3.8.14-1.fc29.x86_64 3/59
Instalando : erlang-stdlib-20.3.8.14-1.fc29.x86_64 4/59
Instalando : erlang-hipe-20.3.8.14-1.fc29.x86_64 5/59
Instalando : erlang-compiler-20.3.8.14-1.fc29.x86_64 6/59
Instalando : erlang-syntax_tools-20.3.8.14-1.fc29.x86_64 7/59
Instalando : erlang-mnesia-20.3.8.14-1.fc29.x86_64 8/59
Instalando : erlang-runtime_tools-20.3.8.14-1.fc29.x86_64 9/59
Instalando : erlang-snmp-20.3.8.14-1.fc29.x86_64 10/59
Instalando : erlang-asn1-20.3.8.14-1.fc29.x86_64 11/59

Instalando : erlang-reltool-20.3.8.14-1.fc29.x86_64 51/59
Instalando : libXaw-1.0.13-11.fc29.x86_64 52/59
Instalando : lasi-1.1.2-11.fc29.x86_64 53/59
Executando scriptlet: lasi-1.1.2-11.fc29.x86_64 53/59
Instalando : netpbm-10.84.03-1.fc29.x86_64 54/59
Instalando : gts-0.7.6-34.20121130.fc29.x86_64 55/59
Executando scriptlet: gts-0.7.6-34.20121130.fc29.x86_64 55/59
Instalando : graphviz-2.40.1-37.fc29.x86_64 56/59
Executando scriptlet: graphviz-2.40.1-37.fc29.x86_64 56/59
Instalando : erlang-dialyzer-20.3.8.14-1.fc29.x86_64 57/59
Instalando : erlang-20.3.8.14-1.fc29.x86_64 58/59
Instalando : libyui-qt-graph-2.44.6-3.fc29.x86_64 59/59
Executando scriptlet: libyui-qt-graph-2.44.6-3.fc29.x86_64 59/59
Verificando : erlang-20.3.8.14-1.fc29.x86_64 1/59
Verificando : erlang-asn1-20.3.8.14-1.fc29.x86_64 2/59
Verificando : erlang-common_test-20.3.8.14-1.fc29.x86_64 3/59
Verificando : erlang-compiler-20.3.8.14-1.fc29.x86_64 4/59
Verificando : erlang-cosEvent-20.3.8.14-1.fc29.x86_64 5/59
Verificando : erlang-cosEventDomain-20.3.8.14-1.fc29.x86_64 6/59
Verificando : erlang-cosFileTransfer-20.3.8.14-1.fc29.x86_64 7/59
Verificando : erlang-cosNotification-20.3.8.14-1.fc29.x86_64 8/59
Verificando : erlang-cosProperty-20.3.8.14-1.fc29.x86_64 9/59
Verificando : erlang-cosTime-20.3.8.14-1.fc29.x86_64 10/59
Verificando : erlang-cosTransactions-20.3.8.14-1.fc29.x86_64 11/59

Verificando : lasi-1.1.2-11.fc29.x86_64 51/59
Verificando : libXaw-1.0.13-11.fc29.x86_64 52/59
Verificando : libyui-qt-graph-2.44.6-3.fc29.x86_64 53/59
Verificando : wxBase3-3.0.4-4.fc29.x86_64 54/59
Verificando : wxGTK3-3.0.4-4.fc29.x86_64 55/59
Verificando : wxGTK3-gl-3.0.4-4.fc29.x86_64 56/59
Verificando : wxGTK3-i18n-3.0.4-4.fc29.noarch 57/59
Verificando : xemacs-filesystem-21.5.34-30.20171230hg92757c2b 58/59
Verificando : xorg-x11-fonts-ISO8859-1-100dpi-7.5-20.fc29.noa 59/59

Instalados:
erlang-20.3.8.14-1.fc29.x86_64
libyui-qt-graph-2.44.6-3.fc29.x86_64
erlang-asn1-20.3.8.14-1.fc29.x86_64
erlang-common_test-20.3.8.14-1.fc29.x86_64
erlang-compiler-20.3.8.14-1.fc29.x86_64
erlang-cosEvent-20.3.8.14-1.fc29.x86_64
erlang-cosEventDomain-20.3.8.14-1.fc29.x86_64
erlang-cosFileTransfer-20.3.8.14-1.fc29.x86_64
erlang-cosNotification-20.3.8.14-1.fc29.x86_64
erlang-cosProperty-20.3.8.14-1.fc29.x86_64
erlang-cosTime-20.3.8.14-1.fc29.x86_64
erlang-cosTransactions-20.3.8.14-1.fc29.x86_64
erlang-crypto-20.3.8.14-1.fc29.x86_64
erlang-debugger-20.3.8.14-1.fc29.x86_64
erlang-dialyzer-20.3.8.14-1.fc29.x86_64
erlang-diameter-20.3.8.14-1.fc29.x86_64
erlang-edoc-20.3.8.14-1.fc29.x86_64
erlang-eldap-20.3.8.14-1.fc29.x86_64
erlang-erl_docgen-20.3.8.14-1.fc29.x86_64
erlang-erl_interface-20.3.8.14-1.fc29.x86_64
erlang-erts-20.3.8.14-1.fc29.x86_64
erlang-et-20.3.8.14-1.fc29.x86_64
erlang-eunit-20.3.8.14-1.fc29.x86_64
erlang-hipe-20.3.8.14-1.fc29.x86_64
erlang-ic-20.3.8.14-1.fc29.x86_64
erlang-inets-20.3.8.14-1.fc29.x86_64
erlang-jinterface-20.3.8.14-1.fc29.x86_64
erlang-kernel-20.3.8.14-1.fc29.x86_64
erlang-megaco-20.3.8.14-1.fc29.x86_64
erlang-mnesia-20.3.8.14-1.fc29.x86_64
erlang-observer-20.3.8.14-1.fc29.x86_64
erlang-odbc-20.3.8.14-1.fc29.x86_64
erlang-orber-20.3.8.14-1.fc29.x86_64
erlang-os_mon-20.3.8.14-1.fc29.x86_64
erlang-otp_mibs-20.3.8.14-1.fc29.x86_64
erlang-parsetools-20.3.8.14-1.fc29.x86_64
erlang-public_key-20.3.8.14-1.fc29.x86_64
erlang-reltool-20.3.8.14-1.fc29.x86_64
erlang-runtime_tools-20.3.8.14-1.fc29.x86_64
erlang-sasl-20.3.8.14-1.fc29.x86_64
erlang-snmp-20.3.8.14-1.fc29.x86_64
erlang-ssh-20.3.8.14-1.fc29.x86_64
erlang-ssl-20.3.8.14-1.fc29.x86_64
erlang-stdlib-20.3.8.14-1.fc29.x86_64
erlang-syntax_tools-20.3.8.14-1.fc29.x86_64
erlang-tools-20.3.8.14-1.fc29.x86_64
erlang-wx-20.3.8.14-1.fc29.x86_64
erlang-xmerl-20.3.8.14-1.fc29.x86_64
graphviz-2.40.1-37.fc29.x86_64
netpbm-10.84.03-1.fc29.x86_64
gts-0.7.6-34.20121130.fc29.x86_64
lasi-1.1.2-11.fc29.x86_64
libXaw-1.0.13-11.fc29.x86_64
wxBase3-3.0.4-4.fc29.x86_64
wxGTK3-3.0.4-4.fc29.x86_64
wxGTK3-gl-3.0.4-4.fc29.x86_64
wxGTK3-i18n-3.0.4-4.fc29.noarch
xemacs-filesystem-21.5.34-30.20171230hg92757c2b8239.fc29.noarch
xorg-x11-fonts-ISO8859-1-100dpi-7.5-20.fc29.noarch

Concluído!

2. Verificar a versão do Erlang

Para saber a versão do Erlang, execute o comando erl.

erl
Saída:
Erlang/OTP 20 [erts-9.3.3.6] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V9.3.3.6 (abort with ^G)
1>

Pressione Ctrl + c duas vezes para sair do shell Erlang.

3. Programa Erlang SUP

Para começar, vamos criar um arquivo chamado sup.erl. Use o editor de texto de sua preferência. Aqui vamos usar o nano.

nano sup.erl

Com o editor aberto, vamos colocar as linhas abaixo dentro do arquivo, depois salvar e sair.

% sup program
-module(sup).
-export([start/0]).

start() ->
io:fwrite("Bem vindo ao Sempre Update!\n").

Em seguida vamos compilar o programa com o comando abaixo.

erlc sup.erl

Após a compilação será criado um arquivo sup.beam no diretório onde compilou o programa. Execute o comando ls -l para listar os arquivos.

ls -l
Saída:
total 48
-rw-rw-r–. 1 mcnd2 mcnd2 692 jan 22 16:18 sup.beam
-rw-rw-r–. 1 mcnd2 mcnd2 96 jan 22 16:18 sup.erl

Agora para executar o programa sup, execute o comando abaixo.

erl -noshell -s sup start -s init stop
Saída:
Bem vindo ao Sempre Update!

Para saber mais sobre o Erlang, acesse o manpages com o comando man erlang que tem mais de 10.000 linhas no manual para consulta.

Pronto! Erlang já para o uso de seu desenvolvimento.

Se gostou do tutorial, compartilhe.

Para receber atualizações de nosso blog, siga-nos no Twitter.

Caso queira comentar, tem alguma dúvida ou algum tipo de problema, faça parte do nosso grupo no Telegram, lá temos todos os tipos de usuário.

Até a próxima.

Written by Glauber GF

Graduando em Sistemas de Informação, militante de software livre, usuário assíduo do sistema GNU/Linux e também membro do Viva o Linux.

Parrot, Porteus Kiosk e Endless lançam atualizações.

Parrot, Porteus Kiosk e Endless lançam atualizações.

Telegram permite grupos de até 200 mil pessoas e bloqueio de conteúdo

Telegram permite grupos de até 200 mil pessoas e bloqueio de conteúdo