ubuntu安装低版本软件(以rabbitMQ v3.6.9)为例

本文讲述了在Ubuntu系统中,由于软件快速迭代导致依赖版本不匹配时如何从官网获取对应版本的安装包,解决依赖问题,以及如何卸载残留软件以避免冲突的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引言

很多软件迭代版本较快,导致其依赖项也有许多版本,这种快速迭代造成如果向安装低版本可能ubuntu的apt里面没有对应版本的软件源,这种时候最好的版本就是自己去官网找到对应的deb安装包来安装。

一.查看官网的依赖关系并得到安装包

rabbitmq需要先安装erlang环境,这里的给出官网连接。这里rabbitmq依赖的是erlang19.3以下。

接下来就是去erlang的官网找到对应版本的安装包,这里给一个软件集合目录,一般百度下基本就出来了,没有的话去git上看看,对于ubuntu,最好是找到自己的ubuntu版本对应的代号,我这边的是ubuntu20,对应的是Focal(这个代号没啥好记的,用的时候找找就行,纯粹为了代号而代号,没啥实际意义),所以我就下载了esl-erlang_19.3.6-1ubuntuzesty_amd64.deb,因为这个版本ubuntu20还没出来,就随便选了一个,可以的话版本号最好还是要对上。

另外rabbitmq可以直接在github上找对应release,选择rabbitmq-server_3.6.9-1_all.deb下载即可,一般这种一堆安装包的先找带all的名字的,在尝试找ubuntu版本代号对应的tar.gz/deb,最后再找debian的包,因为ubuntu和debian的包虽然大部分情况下都可以兼容,但是想少出点bug还是老老实实找对应版本的包好点。

二.执行安装指令

将deb包通过scp或sftp弄到自己服务器上,随后执行

sudo dpkg -i xxx.deb

这里的问题在于包与包之间有依赖关系,装着装着会抱错缺少依赖的包,比如这样

Unpacking esl-erlang (1:19.3.6) ...
dpkg: dependency problems prevent configuration of esl-erlang:
 esl-erlang depends on libssl1.0.0 | libssl1.0.2; however:
  Package libssl1.0.0 is not installed.
  Package libssl1.0.2 is not installed.
 esl-erlang depends on libwxgtk2.8-0 | libwxgtk3.0-0 | libwxgtk3.0-0v5; however:
  Package libwxgtk2.8-0 is not installed.
  Package libwxgtk3.0-0 is not installed.
  Package libwxgtk3.0-0v5 is not installed.
 esl-erlang depends on libsctp1; however:
  Package libsctp1 is not installed.

直接吧缺少的包+版本号拿去社区找找,找到下载连接就直接wger下下来就可,找不到就看看换一个包或百度,这种基本上不会你第一个碰见的问题,多少都会有人写博客告诉你资源在哪,下好安装就行。

三.卸载残留

一般来说往往不小心apt install或执行过dpkg -i会导致系统中有残留的软件引起冲突,以erlang为例子,这种情况下,首先用这个

sudo apt remove erlang-*

这里要看清提示,把所以与它依赖有关的东西全删了,随后查看其本地留下的一些文件

whereis erlang

把找到的东西也删掉基本就卸载干净了,剩下的就是尝试重装或别的啥

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值