
我將一台較舊的 Ubuntu 電腦升級到 20.04。一切順利。但現在孩子們告訴我他們無法連接到他們最喜歡的我的測試伺服器。遊戲抱怨
Protocol version mismatch. Server supports protocol versions between 24 and 32. We support protocol versions between version 37 and 39.
查了一下,我看到minetest從v0.4到v5時發生了很大的變化,較新的版本不向後相容。
所以我找到了一個PPA,它同時有舊版和新版的minetest: https://launchpad.net/~minetestdevs/+archive/ubuntu/stable
我感興趣的是,它有這個文件: minetest_0.4.16-ppa5~ubuntu17.04.1_amd64.deb(7.2 MiB)
但是...我如何安裝該版本?我添加了 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
如果我省略版本號,我確實會看到它安裝最新的該 PPA 的版本。但是有沒有辦法強制它安裝舊版呢?
答案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
以阻止他們升級。