我安装 ubuntu 的主要目的是进行编程,但结果发现,很多东西(编译器、解释器等)都不是最新版本。Ubuntu 软件包数据库准备安装。
例如,如果我想在我的计算机上安装 Python,我会这样做:
sudo apt update
apt search python
并对搜索结果中列出的最新版本的 Python 执行此操作sudo apt install
。但结果发现,最新版本的 Python 并不存在,也不在Ubuntu 软件包搜索。
如果我想安装 GCC,我会按照上面的方法操作,但它根本没有最新版本。预装的火狐浏览器也不是最新版本。
我知道我可以简单地从源代码构建,但是从源代码构建 GCC 对我来说太难了,例如,我必须安装很多库才能使 GCC 工作,而且我不知道此安装必需的 ISO C++11 编译器是什么,构建 GCC 特别需要我学习很多概念,例如引导和配置,而我对此完全没有经验。
但是安装 GCC 对于构建其他东西来说是必要的,此外,我还需要一些库,其中一些我将用于构建这个软件,并且永远不会再使用,但仍然占用了我的计算机空间,删除它也是一个难题。
我想要回答的是:
如何才能安装最新版本的软件,而无需构建它或占用计算机上的大量空间?
答案1
这不是 Ubuntu 的工作方式,因此您问的问题无法直接使用传统打包系统 ( apt
) 实现。请参阅此主题解释为什么 Ubuntu 不使用最新版本的软件。
但是,可以使用以下替代打包系统之一来分发较新版本的(与分发无关的)软件:
这种可能性取决于您要安装的每个应用程序的单独支持。此外,只有 Snap 允许支持 CLI 应用程序。
由于以这种方式打包的应用程序必须包含其自己的所有版本的库,因此它们将比apt
版本占用更多的空间,所以我不确定它是否符合您的预期。
你的问题中的第一个例子是 Python。在网站上进行简单搜索将显示以下内容:永远不要弄乱 Ubuntu 上的默认 Python 版本。如果您需要较新版本的 Python,则应在隔离环境中安装这些版本。
问题中的第二个例子是 Firefox。在 Ubuntu 的最新版本中,Firefox 以 Snap 包的形式分发。然而,这既有优点也有缺点(例如加载时间较慢),因此您的情况可能会有所不同。
有趣的是,我创建了类似的话题适用于少数几个特定的 CLI 应用。也许那里的一些解决方案也适用于您。
简而言之:如果您想使用本机打包系统或用户级脚本访问最新版本的应用程序,请使用 Ubuntu 以外的发行版。