Erlang - функциональный язык параллельного программирования, разработанный специально для систем с высокими требованиями к доступности. Первоначальная реализация языка была разработана компанией Ericsson в 1980-х годах, а в 1998 году он был выпущен с открытым исходным кодом.
За прошедшие годы Erlang приобрел репутацию языка, особенно хорошо подходящего для параллельных и распределенных систем. Это связано с поддержкой "легких" процессов, которые могут создаваться и уничтожаться очень эффективно. Кроме того, благодаря отказоустойчивости Erlang способен изящно устранять сбои, не приводя к отказу всей системы. В результате Erlang стал популярным выбором для критически важных приложений, требующих высокой готовности.
В следующем руководстве вы узнаете, как установить ErLang на Debian 11 Bullseye desktop или headless-сервер с официального репозитория APT с помощью терминала командной строки, а также инструкции по обновлению и удалению программного обеспечения в будущем, если это потребуется.
Обновление Debian
Сначала обновите систему, чтобы убедиться, что все существующие пакеты актуальны, во избежание конфликтов.
1 | sudo apt update && sudo apt upgrade |
Установка Erlang
Лучший способ установки Erlang - это установка из официального репозитория Erlang APT.
Сначала установите необходимые пакеты.
1 | sudo apt install dirmngr ca-certificates software-properties-common gnupg gnupg2 apt-transport-https curl -y |
Далее импортируйте GPG-ключ, необходимый для проверки подлинности пакетов, следующим образом.
1 | curl -fsSL https://packages.erlang-solutions.com/debian/erlang_solutions.asc | sudo gpg --dearmor -o /usr/share/keyrings/erlang.gpg |
Теперь импортируйте репозиторий APT с помощью следующей команды.
1 | echo "deb [signed-by=/usr/share/keyrings/erlang.gpg] https://packages.erlang-solutions.com/debian bullseye contrib" | sudo tee /etc/apt/sources.list.d/erlang.list |
Выполните быстрое обновление APT, чтобы отразить вновь добавленный источник APT.
1 | sudo apt update |
Наконец, установите Erlang с помощью следующей команды.
1 | sudo apt install erlang -y |
Как запустить оболочку Erlang Shell
Если Erlang установлен, для запуска среды оболочки используйте следующую команду.
1 | erl |
Ниже приведены некоторые полезные команды, которые вы можете часто использовать в терминале.
- q(). Завершает работу оболочки и среды выполнения Erlang
- c(file). Компилирует указанный файл Erlang
- b(). Отображает все привязки переменных
- f(). Очищает все привязки переменных
- f(X). Очищает указанную привязку переменной
- h(). Выводит список команд истории
- e(N). Повторяет команду, находящуюся в строке N
- v(N). Возвращаемое значение строки N
- catch_exception(boolean). Устанавливает, насколько строго оболочка будет относиться к передаче ошибок
- rd(Name,Definition). Определяет тип записи Name с содержимым, заданным Definition
- rr(File). Определяет типы записей на основе содержимого файла File
- rf(). Очищает все определения записей. Может также очищать конкретные определения
- rl(). Выводит список всех текущих определений записей
- pwd(). Получает текущий рабочий каталог
- ls(). Перечисляет файлы в текущем местоположении
- cd(Directory). Изменение указанного каталога
Создание теста Hello World в Erlang
В качестве дополнительной опции вы можете создать знаменитый вывод Hello World для тестирования вашей установки Erlang.
Сначала создайте файл с помощью любого текстового редактора; в данном руководстве будет использоваться nano.
1 | nano helloworld.erl |
Затем скопируйте и вставьте в файл следующую строку.
1 2 3 4 5 | -module(helloworld). % Имя нашего модуля. -export([helloworld/0]). % Объявление функции, которую мы хотим экспортировать из модуля. helloworld() -> io:format("Hello World!! ~n"). % Что должно произойти при вызове функции, здесь: На экране должно быть написано Hello world. |
Сохраните файл, если вы используете nano в соответствии с руководством, CTRL+O и затем ENTER KEY, затем CTRL+X для выхода из файла.
Теперь откройте оболочку erl.
1 | erl |
Скомпилируйте только что созданный файл-программу Hello World test с помощью следующей команды.
1 | c(helloworld). |
После этого запустите скомпилированную программу следующим образом.
1 | helloworld:helloworld(). |
Пример вывода:
Выйдите из оболочки и введите следующую команду.
1 | q(). |
Как обновить/обновить Erlang
Далее приведены команды, которые необходимо выполнить в терминале для проверки наличия обновлений. Эти команды выполняют пустую проверку всех установленных в системе пакетов, которые соответствуют менеджеру установочных пакетов. В идеале их следует выполнять независимо от наличия автообновления, даже если оно настроено, чтобы убедиться в актуальности системы и отсутствии ошибок обновления для новых пользователей.
1 | sudo apt update && sudo apt upgrade |
Как удалить (деинсталлировать) Erlang
Сначала удалите программу с помощью следующей команды для пользователей, которые больше не хотят иметь установленный Erlang.
1 | sudo apt autoremove erlang --purge -y |
Для полного удаления необходимо удалить репозиторий APT из списка источников.
1 | sudo rm /etc/apt/sources.list.d/erlang.list |
По желанию можно удалить и GPG с помощью следующей команды.
1 | sudo rm /usr/share/keyrings/erlang.gpg |
Заключение
Если вы ищете язык, способный с легкостью работать с системами высокой доступности, то Erlang заслуживает внимания. Он был разработан специально для этих целей и имеет богатый опыт успешной работы. Кроме того, благодаря тому, что он является открытым исходным кодом, вы можете использовать его возможности, не тратя ни копейки.
Более подробную информацию можно найти в документации по Erlang.