RabbitMQ指定版本

1、查看源内可用版本

# 查询 rabbitmq-server 所有可用完整版本
apt-cache madison rabbitmq-server
# 查询 erlang-base 所有可用完整版本(复制完整版本字符串!)
apt-cache madison erlang-base

2、安装指定版本命令

# 把下面版本替换成上面查到的完整版本号
apt install rabbitmq-server=4.2.3-1 -y

#erlang
export VERSION_STR="1:27.3.4.1"

apt install -y \
erlang-base=${VERSION_STR} \
erlang-asn1=${VERSION_STR} \
erlang-crypto=${VERSION_STR} \
erlang-eldap=${VERSION_STR} \
erlang-ftp=${VERSION_STR} \
erlang-inets=${VERSION_STR} \
erlang-mnesia=${VERSION_STR} \
erlang-os-mon=${VERSION_STR} \
erlang-parsetools=${VERSION_STR} \
erlang-public-key=${VERSION_STR} \
erlang-runtime-tools=${VERSION_STR} \
erlang-snmp=${VERSION_STR} \
erlang-ssl=${VERSION_STR} \
erlang-syntax-tools=${VERSION_STR} \
erlang-tftp=${VERSION_STR} \
erlang-tools=${VERSION_STR} \
erlang-xmerl=${VERSION_STR}

3、锁定版本

#锁定rabbitmq-server
apt-mark hold rabbitmq-server
#批量锁定所有 Erlang 包
apt-mark hold \
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 

# 查看锁定状态
apt-mark showhold

解锁

#解除锁定(后续如需升级时执行)
apt-mark unhold rabbitmq-server

4、版本查看

rabbitmqctl version
erl -version