在Ubuntu中,应用程序被锁定到固定到发布日期的版本。对于Ubuntu 22.04 "Jammy“,这些是:
我想在我的主服务器上安装这些应用程序的最新上游版本。
我怎么能以一种简单可靠的方式做到这一点呢?
发布于 2022-12-20 08:22:12
这至少可以通过两种方式来完成( Snap方式和Debian方法)--但是我非常喜欢Debian方法。这也是可能的混合和匹配您喜欢,并安装一些应用程序与Snap,一些与Debian软件包。
请注意,这两种方法都不推荐用于生产,但这两种方法都应该非常适合家庭使用。
这种方法将为您提供更新版本的应用程序,只要有一个快照维护者定期更新包。不幸的是,情况并不总是如此。另一个好处是,应用程序可以用新版本自动更新。
一些流行的命令行应用程序可以作为快照包使用。
这些应用程序中的每一个都可以从命令行安装:
如果选择这样做,请删除相应的Debian包:
sudo apt remove nano htop tmux lnav我自己对这些Snap包的体验有些复杂,这就是为什么我选择下面描述的Debian方法。我所遇到的问题的例子:
snaps的另一个普遍问题是,手册并不容易获得--它甚至需要一个肮脏的黑客才能让它们正常工作。
这个方法会给你更新版本的应用,只要有一个Debian维护者定期更新包。通常情况是这样的。在这个场景中,您必须使用每个新版本手动更新包。此外,由于Debian和Ubuntu不是1:1的二进制兼容,这种方法在很少情况下可能会出现问题。总是先尝试一个VM!
使用此方法,您可以直接从Debian测试或不稳定分支安装更新版本。这在某种程度上是实验性的,但对于家庭使用来说应该是安全的,而且在任何情况下都很容易回滚到以前的版本。我已经做了两年多了,没有任何问题。唯一的缺点是您必须手动更新以这种方式安装的应用程序。
首先,您可以在Debian Sid分支中找到应用程序(通常有最新的包):
然后,对每个包检查依赖项是否与Ubuntu版本实际兼容。它们通常是--但在Ubuntu周期的最后,可能会出现Debian使用比Ubuntu更新的库版本的情况--请注意这一点。
现在,创建一个目录,并下载每个包的正确版本( amd64体系结构,2022.12.20版本):
wget \
http://ftp.de.debian.org/debian/pool/main/n/nano/nano_7.1-1_amd64.deb \
http://ftp.de.debian.org/debian/pool/main/h/htop/htop_3.2.1-1_amd64.deb \
http://ftp.de.debian.org/debian/pool/main/t/tmux/tmux_3.3a-3_amd64.deb \
http://ftp.de.debian.org/debian/pool/main/l/lnav/lnav_0.11.1-1_amd64.deb最后,从这些文件(2022.12.20版本)安装软件包:(我通常先在VM上测试安装,然后再在物理服务器上安装)
sudo apt install \
./nano_7.1-1_amd64.deb \
./htop_3.2.1-1_amd64.deb \
./tmux_3.3a-3_amd64.deb \
./lnav_0.11.1-1_amd64.deb现在您已经安装了这些应用程序的最新上游版本。每次升级后,请小心检查配置文件,因为可以更改语法等需要修复的配置文件。
对于高级用户,您可以创建一个脚本来监视这些Debian包的新版本,并在出现这种情况时向您发送警报。
发布于 2022-12-20 11:03:17
还有一个我自己还没有探索过的选择--但这对一些用户来说可能很有趣。
请注意,这可以被认为是试验性的-通常的免责声明适用-永远不要运行任何您不信任的东西。
一个名为“帕斯托”的项目--它对应于Arch,为更新的Ubuntu包制作易于运行的安装脚本。
安装方法可能会有所不同--它可以编译、.deb包和其他安装方法。
通过运行它们的安装脚本来安装Pacstall:
sudo bash -c "$(wget -q https://git.io/JsADh -O -)"这将安装应用程序本身。您可能需要额外的二进制文件来编译:
sudo apt install build-essential完成之后,您可以使用pacstall命令安装受支持的应用程序。从问题中列出的应用程序中,目前可以获得以下应用程序:
每个应用程序的安装脚本都使用pacstall命令执行,即:
pacstall -I <package-name>这将是安装正确的二进制文件或从源代码编译受支持的应用程序的简单方法。
https://askubuntu.com/questions/1446390
复制相似问题