我将一台较旧的 Ubuntu 计算机升级到 20.04。一切顺利。但现在孩子们告诉我他们无法连接到他们最喜欢的 minetest 服务器。游戏抱怨
Protocol version mismatch. Server supports protocol versions between 24 and 32. We support protocol versions between version 37 and 39.
查找后,我发现 minetest 从 v0.4 升级到 v5 时发生了很大变化,而且较新的版本不向后兼容。
因此我找到了一个同时包含 minetest 旧版本和新版本的 PPA: https://launchpad.net/~minetestdevs/+archive/ubuntu/stable
我感兴趣的是,它有这个文件: minetest_0.4.16-ppa5~ubuntu17.04.1_amd64.deb(7.2MB)
但是...我该如何安装该版本?我添加了 PPA 并尝试了以下变体:
> sudo apt-get install minetest=0.4.16
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Version '0.4.16' for 'minetest' was not found
如果我省略版本号,我确实会看到它安装最新的版本。但是有没有办法强制安装旧版本?
答案1
然后我们从官方下载0.4.16仿生的通过下面的命令进行存储库
cd ~/Downloads
wget http://archive.ubuntu.com/ubuntu/pool/main/l/leveldb/libleveldb1v5_1.20-2_amd64.deb
sudo apt-get install ./libleveldb1v5_1.20-2_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/m/minetest/minetest-data_0.4.16+repack-4_all.deb
sudo apt-get install ./minetest-data_0.4.16+repack-4_all.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/m/minetest/minetest_0.4.16+repack-4_amd64.deb
sudo apt-get install ./minetest_0.4.16+repack-4_amd64.deb
并通过单个长命令固定/锁定其版本:
cat <<EOF | sudo tee /etc/apt/preferences.d/pin-minetest
Package: minetest-data
Pin: version 0.4.16+repack-4
Pin-Priority: 1337
Package: minetest
Pin: version 0.4.16+repack-4
Pin-Priority: 1337
EOF
以阻止其升级。