在 ubuntu 上使用 brew 有意义吗?

在 ubuntu 上使用 brew 有意义吗?

我是一名教师,我有几个使用 Ubuntu 的学生,我想给他们一些建议。我想给他们推荐一下他们应该使用什么包管理器。

因为我有一台 Mac 电脑,所以我使用自制一切。

  • 在 Ubuntu 上使用是否有意义brew或者我应该继续使用apt-get
  • 主要的区别是什么,因为我不明白

答案1

我是 macOS 和 Ubuntu 的用户,并且同时使用 Homebrew(在 macOS 上)和 APT(在 Ubuntu 上)。

这两种工具的用途相似。不同之处在于易于1是 Ubuntu 的原生、必需和完全集成的部分,而自制是第三方添加的。2用户的角度来看,最重要的区别是他们使用不同的命令语法,尽管任务非常相似。

如果你习惯使用 Homebrew,你安装于你的Ubuntu。但是,如果有人是纯粹的 Ubuntu 用户,我绝对鼓励他们使用他们的原生工具 – APT。

如果您要使用软件包系统进行教学,您应该首先学习目标工具的正确语法。一开始,您的工作量会稍微大一些3,但之后您可以教授适合目标系统的工具。学生无论如何都应该能够在他们的计算机上操作相应的工具。例如,如果 Ubuntu 用户尝试在线查找建议,他们肯定会被 APT 所吸引。APT 还用于升级操作系统的组件。

如果你不知道如何将某个 Homebrew 命令转换为 APT 语法,请随时


1 apt-get是其一部分,现在您apt主要可以使用该命令。

2事实上,Homebrew 是 macOS 和 Ubuntu 上的第三方附加组件。

3如果您已经了解包管理器的原理,那么就不需要那么多了。

答案2

在 Ubuntu 上使用 brew 是否有意义,还是我应该继续使用 apt-get?

是的。我最近选择了 Ubuntu / Linuxbrew 组合,主要用于软件开发和科学计算(llvm、gcc、numpy、jupyter 等)。

我一直在使用 macOS/Homebrew(10 多年)和 linux/apt(30 多年,主要是 Ubuntu、Debian 或基于 Debian)。

  • 更新的软件版本(软件包不断升级)
    • 不需要从稳定系统版本 (Ubuntu LTS) 升级
    • 无需添加额外的存储库源
  • 更加独立于系统的环境(安装在一个文件夹中)
    • 在保持 SW 开发环境完好无损的情况下更改或升级系统
    • 可以按原样传递给容器(podman、docker 等)或其他系统
    • 避免发行版 ABI 不兼容,例如使用 Ubuntu22.04 构建的程序/库可能无法在 Ubuntu18.04 上运行/链接
  • SW 级别可配置性(从源代码构建包)
    • 如果需要,编译时可配置额外功能
  • macOs 和 Linux 上的软件包接口相同
    • 更容易在多台机器上处理同一个项目

请记住在您的 linuxbrew 环境中安装 libc,以避免上面提到的二进制不兼容问题。

相关内容