跳至主内容
版本:4.2

在 Debian 和 Ubuntu 上安装

概述

本指南介绍了在 Debian、Ubuntu 以及基于它们的发行版上安装 RabbitMQ。

RabbitMQ 已包含在标准的 Debian 和 Ubuntu 存储库中。然而,包含的版本最新的 RabbitMQ 版本 晚了许多个版本,并且可能提供已 停止支持 的 RabbitMQ 版本。

RabbitMQ 团队制作了自己的 Debian 软件包,并通过 RabbitMQ 团队的 apt 存储库 进行分发。

本指南的关键部分包括:

支持的 Erlang 版本将从 现代 Erlang apt 存储库 中的一个提供,这些存储库位于 LaunchpadRabbitMQ 团队的 apt 存储库

想要更详细了解安装步骤的描述,请参考:

更高级的主题包括:

如何在 Debian 和 Ubuntu 上安装最新 RabbitMQ

使用 Apt

目前,在 Debian 和 Ubuntu 上安装现代 RabbitMQ 的推荐选项是使用 RabbitMQ 团队的 apt 存储库(快速入门脚本,更详细的 分步说明)。

这些存储库提供 现代版本的 Erlang。或者,最新版本的 Erlang 可通过 Launchpad PPA 和其他存储库 获取。

手动使用 Dpkg

或者,可以手动下载软件包并使用 dpkg -i 安装。此选项需要手动安装所有 RabbitMQ 软件包依赖项,并且 **强烈不推荐**。

支持的发行版

RabbitMQ 支持几种主要的基于 Debian 的发行版,这些发行版仍在其主要供应商或开发团队的支持范围内("全面支持",无需额外费用)。

对于 Debian,这意味着 RabbitMQ 核心团队软件包的关注点是 Debian 发行版当前和之前的版本,即符合 发行版 EOL 策略

目前支持的基于 Debian 的发行版列表包括:

  • Ubuntu 20.04 (Focal), 22.04 (Jammy) 和 24.04 (Noble)
  • Debian Bullseye (11), Bookworm (12) 和 Trixie (13)

如果 依赖项 得到满足(例如,使用 backports 存储库),该软件包可能在其他基于 Debian 的发行版上运行,但其测试和支持是尽力而为的。

在 Debian 和 Ubuntu 上获取最新 Erlang 版本的途径

RabbitMQ 需要 Erlang/OTP 来运行。标准 Debian 和 Ubuntu 存储库中的 Erlang/OTP 软件包可能已过时,并且 不被现代 RabbitMQ 版本支持

大多数最新的 Erlang/OTP 发行版系列可从多个备用 apt 存储库获取。

Erlang 发行版系列提供它的 Apt 存储库备注
27.x

从 4.0.0 开始支持。请参阅 Erlang 兼容性指南

26.x

从 3.12.0 开始支持,并且从 3.13.0 开始是必需的。请参阅 Erlang 兼容性指南

本指南将重点介绍 RabbitMQ 团队维护的 apt 存储库 以及 Launchpad 上的存储库

使用 RabbitMQ 团队的 Apt 存储库:快速入门脚本

下面是一个执行本指南中解释的步骤的 shell 片段。它从 RabbitMQ 团队托管 的 apt 存储库提供 RabbitMQ 和 Erlang。

重要

此存储库仅提供 amd64 (x86-64) Erlang 软件包。对于 arm64 (aarch64),必须修改此脚本以从 Launchpad 提供受支持的 Erlang 系列。

#!/bin/sh

sudo apt-get install curl gnupg apt-transport-https -y

## Team RabbitMQ's signing key
curl -1sLf "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/com.rabbitmq.team.gpg > /dev/null

## Add apt repositories maintained by Team RabbitMQ
sudo tee /etc/apt/sources.list.d/rabbitmq.list <<EOF
## Modern Erlang/OTP releases
##
deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb1.rabbitmq.com/rabbitmq-erlang/ubuntu/noble noble main
deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb2.rabbitmq.com/rabbitmq-erlang/ubuntu/noble noble main

## Latest RabbitMQ releases
##
deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb1.rabbitmq.com/rabbitmq-server/ubuntu/noble noble main
deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb2.rabbitmq.com/rabbitmq-server/ubuntu/noble noble main
EOF

## Update package indices
sudo apt-get update -y

## Install Erlang packages
sudo apt-get install -y erlang-base \
erlang-asn1 erlang-crypto erlang-eldap erlang-ftp erlang-inets \
erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key \
erlang-runtime-tools erlang-snmp erlang-ssl \
erlang-syntax-tools erlang-tftp erlang-tools erlang-xmerl

## Install rabbitmq-server and its dependencies
sudo apt-get install rabbitmq-server -y --fix-missing

使用 RabbitMQ 团队的 Apt 存储库

RabbitMQ 团队维护两个 apt 存储库。它们为最新的 RabbitMQ 和现代 Erlang 版本提供软件包。

这两个存储库都使用相同的 签名密钥 进行签名。

本指南的这部分将侧重于设置附加 apt 存储库和安装软件包的更传统和明确的方法。

除非另有说明,下面介绍的所有步骤都是 **必需的**。

安装必备依赖项

sudo apt-get update -y

sudo apt-get install curl gnupg -y

启用 apt HTTPS 传输

为了让 apt 能够从 RabbitMQ 团队 apt 存储库或 Launchpad 下载 RabbitMQ 和 Erlang 软件包,必须安装 apt-transport-https 软件包。

sudo apt-get install apt-transport-https

添加存储库签名密钥

为了使用这些存储库,首先必须将它们的签名密钥添加到系统中。这将使 apt 信任由该密钥签名的软件包。

sudo apt-get install curl gnupg apt-transport-https -y

## Team RabbitMQ's signing key
curl -1sLf "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/com.rabbitmq.team.gpg > /dev/null

请参阅 签名指南 以了解更多信息。

添加存储库(Apt 源列表)文件

重要

本节中描述的文件内容会根据目标 Debian 发行版略有不同。请确保切换到相应的选项卡。

与所有第三方 apt 存储库一样,描述 RabbitMQ 和 Erlang 软件包存储库的文件必须放在 /etc/apt/sources.list.d/ 目录下。推荐的位置是 /etc/apt/sources.list.d/rabbitmq.list

文件内容将根据使用的发行版略有不同。

sudo tee /etc/apt/sources.list.d/rabbitmq.list <<EOF
## Modern Erlang/OTP releases
##
deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb1.rabbitmq.com/rabbitmq-erlang/ubuntu/noble noble main
deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb2.rabbitmq.com/rabbitmq-erlang/ubuntu/noble noble main

## Provides modern RabbitMQ releases
##
deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb1.rabbitmq.com/rabbitmq-server/ubuntu/noble noble main
deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb2.rabbitmq.com/rabbitmq-server/ubuntu/noble noble main
EOF

安装软件包

更新 apt 源列表后,必须运行 apt-get update

sudo apt-get update -y

然后使用以下命令安装软件包:

## Install Erlang packages
sudo apt-get install -y erlang-base \
erlang-asn1 erlang-crypto erlang-eldap erlang-ftp erlang-inets \
erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key \
erlang-runtime-tools erlang-snmp erlang-ssl \
erlang-syntax-tools erlang-tftp erlang-tools erlang-xmerl

## Install rabbitmq-server and its dependencies
sudo apt-get install rabbitmq-server -y --fix-missing

Debian 软件包版本和存储库固定

版本固定是 **可选** 步骤。如果未使用,apt 将安装可用的最新版本。

当同一软件包(例如 erlang-base)可从多个 apt 存储库获得时,操作员需要一种方法来指示应优先使用哪个存储库。还可能希望限制 Erlang 版本以避免不期望的升级。可以使用 apt 软件包固定 功能来解决这两个问题。

软件包固定通过放置在 /etc/apt/preferences.d/ 目录下的文件来配置,例如 /etc/apt/preferences.d/erlang。更新 apt 偏好设置后,必须运行 apt-get update

sudo apt-get update -y

以下偏好文件示例将配置 apt 从上面示例中使用的 RabbitMQ 团队 apt 存储库安装 erlang-* 软件包。

# /etc/apt/preferences.d/erlang
Package: erlang*
Pin: origin RabbitMQ
# Note: priority of 1001 (greater than 1000) allows for downgrading.
# To make package downgrading impossible, use a value of 999
Pin-Priority: 1001

以下与上面的示例类似,但更偏好 Launchpad。

# /etc/apt/preferences.d/erlang
Package: erlang*
Pin: origin ppa.launchpad.net
# Note: priority of 1001 (greater than 1000) allows for downgrading.
# To make package downgrading impossible, use a value of 999
Pin-Priority: 1001

可以使用以下命令验证有效的软件包固定策略:

sudo apt-cache policy

以下偏好文件示例将所有 erlang-* 软件包固定到 26.2.5.13(假设软件包的 包时期 为 1)。

# /etc/apt/preferences.d/erlang
Package: erlang*
Pin: version 1:26.2.5.13-1
# Note: priority of 1001 (greater than 1000) allows for downgrading.
# To make package downgrading impossible, use a value of 999
Pin-Priority: 1001

以下偏好文件示例将 rabbitmq-server 软件包固定到:4.2.0(假设软件包的 包时期 为 1)。

# /etc/apt/preferences.d/rabbitmq
Package: rabbitmq-server
Pin: version 1:4.2.0-1
# Note: priority of 1001 (greater than 1000) allows for downgrading.
# To make package downgrading impossible, use a value of 999
Pin-Priority: 1001

使用 Dpkg 进行手动安装

在某些情况下,直接从 GitHub 下载软件包并使用 sudo dpkg -i 进行手动安装可能更简单。下面是一个下载链接。

描述下载签名
.deb 文件,适用于基于 Debian 的 Linux(来自 GitHubrabbitmq-server_4.2.0-1_all.deb签名

使用 dpkg 手动安装时,有必要先安装软件包依赖项。dpkgapt 不同,它不解析或管理依赖项。

这是一个执行此操作的示例,它安装 wget,下载 RabbitMQ 软件包并进行安装:

# sync package metadata
sudo apt-get update
# install dependencies manually
sudo apt-get -y install logrotate init-system-helpers adduser

# download the package
sudo apt-get -y install wget
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v4.2.0/rabbitmq-server_4.2.0-1_all.deb

# install the package with dpkg
sudo dpkg -i rabbitmq-server_4.2.0-1_all.deb

rm rabbitmq-server_4.2.0-1_all.deb

建议通过 apt 存储库 进行安装,而不是直接下载软件包并通过 dpkg -i 进行安装。当使用 dpkg -i 手动安装 RabbitMQ 软件包时,操作员负责确保所有软件包依赖项都得到满足。

用户权限要求

RabbitMQ Debian 软件包在安装和管理时需要 sudo 权限。在没有 sudo 的环境中,请考虑使用 通用二进制构建

运行 RabbitMQ 服务器

启动服务器

默认情况下,当安装 RabbitMQ 服务器软件包时,服务器会作为守护进程启动。它将作为非特权用户 rabbitmq 运行。

作为管理员,像往常一样在基于 Debian 的系统上启动和停止服务器:

systemctl start rabbitmq-server

配置 RabbitMQ

在大多数系统上,节点应该能够以所有默认设置启动和运行。请参考 配置指南 以了解更多信息,并参考 部署指南 获取开发环境之外的指导。

注意:节点设置为以系统用户 rabbitmq 运行。如果更改了 节点数据库或日志的位置,文件和目录必须属于此用户。

端口访问

RabbitMQ 节点绑定到端口(打开服务器 TCP 套接字)以接受客户端和 CLI 工具的连接。SELinux 等其他进程和工具可能会阻止 RabbitMQ 绑定到端口。发生这种情况时,节点将无法启动。有关更多详细信息,请参阅网络指南

默认用户访问

代理创建一个用户 guest,密码为 guest。未配置的客户端通常会使用这些凭据。**默认情况下,这些凭据只能在连接到本地主机上的代理时使用**,因此在从任何其他计算机连接之前,您需要采取相应措施。

有关如何创建更多用户和删除 guest 用户的信息,请参阅访问控制文档。

控制 Linux 上的系统限制

运行生产工作负载的 RabbitMQ 安装可能需要调整系统限制和内核参数,才能处理大量并发连接和队列。需要调整的主要设置是打开文件的最大数量,也称为 ulimit -n。许多操作系统上的默认值对于消息代理来说太低了(在几个 Linux 发行版上为 1024)。我们建议在生产环境中为用户 rabbitmq 允许至少 65536 个文件描述符。对于许多开发工作负载,4096 应该足够了。

存在两个限制:操作系统内核允许的最大打开文件数(fs.file-max)和每个用户的限制(ulimit -n)。前者必须高于后者。

使用 systemd(最近的 Linux 发行版)

在使用 systemd 的发行版上,操作系统限制通过 /etc/systemd/system/rabbitmq-server.service.d/limits.conf 的配置文件进行控制。例如,要将最大打开文件句柄限制(nofile)设置为 64000

[Service]
LimitNOFILE=64000

如果上述限制设置为高于 65536 的值,则必须相应地更新 ERL_MAX_PORTS 环境变量 以增加 运行时 限制。

有关支持的限制和其他指令的信息,请参阅systemd 文档

使用 Docker

要为 Docker 容器配置内核限制,请在 Docker 守护进程配置文件 中使用 "default-ulimits" 键。该文件必须安装在 Docker 主机上的 /etc/docker/daemon.json

{
"default-ulimits": {
"nofile": {
"Name": "nofile",
"Hard": 64000,
"Soft": 64000
}
}
}

如果上述限制设置为高于 65536 的值,则必须相应地更新 ERL_MAX_PORTS 环境变量 以增加 运行时 限制。

验证限制

RabbitMQ 管理 UI 在“概览”选项卡上显示了可供其使用的文件描述符数量。

rabbitmq-diagnostics status

包含相同的值。

可以使用以下命令

cat /proc/$RABBITMQ_BEAM_PROCESS_PID/limits

来显示正在运行进程的有效限制。$RABBITMQ_BEAM_PROCESS_PID 是运行 RabbitMQ 的 Erlang VM 的操作系统 PID,由 rabbitmq-diagnostics status 返回。

管理服务

要启动和停止服务器,请使用 systemctl 工具。服务名称为 rabbitmq-server

# stop the local node
sudo systemctl stop rabbitmq-server

# start it back
sudo systemctl start rabbitmq-server

systemctl status rabbitmq-server 将报告 systemd(或类似的服务的管理器)观察到的服务状态。

# check on service status as observed by service manager
sudo systemctl status rabbitmq-server

它会产生类似如下的输出:

Redirecting to /bin/systemctl status rabbitmq-server.service
● rabbitmq-server.service - RabbitMQ broker
Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/rabbitmq-server.service.d
└─limits.conf
Active: active (running) since Wed 2021-05-07 10:21:32 UTC; 25s ago
Main PID: 957 (beam.smp)
Status: "Initialized"
CGroup: /system.slice/rabbitmq-server.service
├─ 957 /usr/lib/erlang/erts-10.2/bin/beam.smp -W w -A 64 -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -P 1048576 -t 5000000 -stbt db -zdbbl 128000 -K true -- -root /usr/lib/erlang -progname erl -- -home /var/lib/rabbitmq -- ...
├─1411 /usr/lib/erlang/erts-10.2/bin/epmd -daemon
├─1605 erl_child_setup 400000
├─2860 inet_gethost 4
└─2861 inet_gethost 4

Aug 26 10:21:30 localhost.localdomain rabbitmq-server[957]: ## ##
Aug 26 10:21:30 localhost.localdomain rabbitmq-server[957]: ## ## RabbitMQ 4.1.4. Copyright (c) 2005-2025 Broadcom. All Rights Reserved. The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
Aug 26 10:21:30 localhost.localdomain rabbitmq-server[957]: ########## Licensed under the MPL 2.0. Website: https://rabbitmq.cn/
Aug 26 10:21:30 localhost.localdomain rabbitmq-server[957]: ###### ##
Aug 26 10:21:30 localhost.localdomain rabbitmq-server[957]: ########## Logs: /var/log/rabbitmq/rabbit@localhost.log
Aug 26 10:21:30 localhost.localdomain rabbitmq-server[957]: /var/log/rabbitmq/rabbit@localhost_upgrade.log
Aug 26 10:21:30 localhost.localdomain rabbitmq-server[957]: Starting broker...
Aug 26 10:21:32 localhost.localdomain rabbitmq-server[957]: systemd unit for activation check: "rabbitmq-server.service"
Aug 26 10:21:32 localhost.localdomain systemd[1]: Started RabbitMQ broker.
Aug 26 10:21:32 localhost.localdomain rabbitmq-server[957]: completed with 6 plugins.

rabbitmqctlrabbitmq-diagnostics 和其他 CLI 工具 将在 PATH 中可用,并且可以被启用 sudo 的用户调用。

# checks if the local node is running and CLI tools can successfully authenticate with it
sudo rabbitmq-diagnostics ping

# prints enabled components (applications), TCP listeners, memory usage breakdown, alarms
# and so on
sudo rabbitmq-diagnostics status

# prints cluster membership information
sudo rabbitmq-diagnostics cluster_status

# prints effective node configuration
sudo rabbitmq-diagnostics environment

如果没有任何节点正在运行,所有 rabbitmqctl 命令都会报告错误。请参阅 CLI 工具监控 指南以了解更多信息。

日志文件和管理

服务器日志可以在 可配置 的目录下找到,通常在 RabbitMQ 通过 Linux 包管理器安装时默认为 /var/log/rabbitmq

RABBITMQ_LOG_BASE 可用于覆盖 日志目录位置

假设使用基于 systemd 的发行版,可以使用以下命令检查系统服务日志:

journalctl --system

这需要超级用户权限。其输出可以被过滤,以仅显示 RabbitMQ 特定的条目:

sudo journalctl --system | grep rabbitmq

输出将类似如下:

Aug 26 11:03:04 localhost rabbitmq-server[968]: ##  ##
Aug 26 11:03:04 localhost rabbitmq-server[968]: ## ## RabbitMQ 4.1.4. Copyright (c) 2005-2025 Broadcom. All Rights Reserved. The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
Aug 26 11:03:04 localhost rabbitmq-server[968]: ########## Licensed under the MPL 2.0. Website: https://rabbitmq.cn/
Aug 26 11:03:04 localhost rabbitmq-server[968]: ###### ##
Aug 26 11:03:04 localhost rabbitmq-server[968]: ########## Logs: /var/log/rabbitmq/rabbit@localhost.log
Aug 26 11:03:04 localhost rabbitmq-server[968]: /var/log/rabbitmq/rabbit@localhost_upgrade.log
Aug 26 11:03:04 localhost rabbitmq-server[968]: Starting broker...
Aug 26 11:03:05 localhost rabbitmq-server[968]: systemd unit for activation check: "rabbitmq-server.service"
Aug 26 11:03:06 localhost rabbitmq-server[968]: completed with 6 plugins.

日志轮换

代理始终会附加到 日志文件,因此会保留完整的日志历史记录。

logrotate 是日志文件轮换和压缩推荐的方式。默认情况下,软件包会设置 logrotate 以每周一次运行位于默认 /var/log/rabbitmq 目录下的文件。轮换配置可以在 /etc/logrotate.d/rabbitmq-server 中找到。

从 Launchpad 的 Apt 存储库(PPA)安装 Erlang

此附加部分介绍了从 Launchpad 安装现代 Erlang 软件包。要安装现代 Erlang 和 RabbitMQ,请参考 从 RabbitMQ 团队的 apt 存储库安装 RabbitMQ

Ubuntu 上的现代 Erlang

重要

本节介绍的 apt 存储库特定于 Ubuntu。它们 **不能** 与 Debian 发行版一起使用。

标准的 Debian 和 Ubuntu 存储库倾向于提供过时的 Erlang/OTP 版本。RabbitMQ 团队维护了几个 apt 存储库,其中包括 Launchpad 上 最新 Erlang/OTP 版本 的软件包。

Launchpad 上的 Erlang 存储库目前支持以下 Ubuntu 发行版:

  • Ubuntu 24.04 (Noble)
  • Ubuntu 22.04 (Jammy)

或者,RabbitMQ 团队的 apt 存储库(见上文)支持相同版本,并且不仅可以在 Ubuntu 上使用,还可以在 Debian 发行版上使用。

为了使用该存储库,有必要:

  • 安装下载签名密钥和通过 HTTPS 下载软件包所需的先决条件。
  • 将存储库签名密钥添加到您的系统。apt 将在安装过程中验证软件包签名。
  • 添加存储库的源列表文件。
  • 更新软件包元数据。
  • 安装 RabbitMQ 所需的 Erlang 软件包。

安装必备依赖项

sudo apt-get update -y

sudo apt-get install curl gnupg -y

添加存储库签名密钥

为了使用该存储库,请将 RabbitMQ 签名密钥 添加到系统中。这将使 apt 能够信任由该密钥签名的软件包。

# primary RabbitMQ signing key
curl -1sLf "https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/com.github.rabbitmq.signing.gpg > /dev/null

# Launchpad PPA signing key for apt
curl -1sLf "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xf77f1eda57ebb1cc" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/net.launchpad.ppa.rabbitmq.erlang.gpg > /dev/null

请参阅 签名指南 以了解更多信息。

启用 apt HTTPS 传输

为了让 apt 能够从 RabbitMQ 团队 apt 存储库或 Launchpad 下载 RabbitMQ 和 Erlang 软件包,必须安装 apt-transport-https 软件包。

sudo apt-get install apt-transport-https

添加源列表文件

重要

本节中描述的文件内容会根据目标 Debian 发行版略有不同。请确保切换到相应的选项卡。

与所有第三方 Apt (Debian) 存储库一样,描述存储库的文件必须放在 /etc/apt/sources.list.d/ 目录下。推荐的位置是 /etc/apt/sources.list.d/erlang.list

该文件应包含一个存储库(apt 源文件)定义行。其内容将因 Ubuntu 版本而异。

# This Launchpad PPA repository provides Erlang packages produced by the RabbitMQ team
#
# Replace $distribution with the name of the Ubuntu release used
deb [arch=amd64 signed-by=/usr/share/keyrings/net.launchpad.ppa.rabbitmq.erlang.gpg] http://ppa.launchpad.net/rabbitmq/rabbitmq-erlang/ubuntu noble main
deb-src [signed-by=/usr/share/keyrings/net.launchpad.ppa.rabbitmq.erlang.gpg] http://ppa.launchpad.net/rabbitmq/rabbitmq-erlang/ubuntu noble main

安装 Erlang 软件包

更新 apt 源列表后,必须运行 apt-get update

sudo apt-get update -y

然后可以像使用标准的 Debian 存储库一样安装软件包:

# This is recommended. Metapackages such as erlang and erlang-nox must only be used
# with apt version pinning. They do not pin their dependency versions.
sudo apt-get install -y erlang-base \
erlang-asn1 erlang-crypto erlang-eldap erlang-ftp erlang-inets \
erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key \
erlang-runtime-tools erlang-snmp erlang-ssl \
erlang-syntax-tools erlang-tftp erlang-tools erlang-xmerl
© . This site is unofficial and not affiliated with VMware.