2021 了, Homebrew on Linux 能用了么,体验如何

2021-11-23 17:43:52 +08:00
 Kingfish404

目前主要在 macOS 下工作学习,brew 用着很爽,管理各种软件装起来也方便

之后要迁移到 linux ,看了下最近 brew 的 linux core 也移动到主分支了一起维护了

感觉似乎可以用了?

5845 次点击
所在节点    Linux
28 条回复
Maboroshii
2021-11-23 17:45:16 +08:00
homebrew 能比 aur 还好用吗...
wangkun025
2021-11-23 17:46:19 +08:00
在 Linux 上用过很短一段时间 brew ,后来回到了 dnf 。
Linux 有 dnf 或者 apt ,想不出用 brew 的理由。
xuhaoyangx
2021-11-23 18:01:22 +08:00
@wangkun025 brew 的好处。是可以 cask ,也可以 history 。 二进制包,还可实时编译+参数。没事还可以自己 edit 下 Formula ,实现自定义安装。大部分运维软件可以。用 dump 列表+appstore 列表,谢谢脚本,比较简单就可以在新的电脑实现自动化配置。

apt 我觉得挺难的。使用不同的 history ,自定义软件就很难整。
xuhaoyangx
2021-11-23 18:01:48 +08:00
大部分运维软件可以 还有 services 可以建议控制
Buges
2021-11-23 18:15:40 +08:00
可以用。只用来装 portable CLI 程序,以防止拉一大堆依赖下来。
Cu635
2021-11-23 18:16:58 +08:00
@xuhaoyangx
你的这个需求比较适合用 gentoo……
archlinux 的 aur 也符合你的需求,只不过作为主力的 pacman 在“再自定义安装”这方面好像有点弱,不过我不太肯定。
kidonng
2021-11-23 18:27:33 +08:00
Homebrew on Linux 的特点,文档里已经列的很清楚了:
1. 统一 macOS 和 Linux (含 WSL) 依赖管理,对已经熟悉用 brew 的 macOS 用户管理 Linux 依赖友好。不过 portable package management 这方面还有其他选择,例如 Nix 或者 pkgsrc 。
2. 装包不需要 root 权限,以及包可以放在家目录。不过这个也有其他解决方案,Gentoo Prefix 、Nix 之类都行。
3. 获得最新版的软件。可以说是 Homebrew 最大的优点 /缺点,因为 Homebrew 只需要在乎最近三个版本的 macOS 和通用 Linux 二进制,包更新速度通常比 Arch 都要快。但缺点是没有针对发行版的优化和补丁。
kidonng
2021-11-23 18:32:26 +08:00
@xuhaoyangx history 是指什么? Binary? "appstore 列表" 来自 mas-cli ,不是 Homebrew 自有功能。

“自定义安装”和“运维软件可以 还有 services 可以建议控制”就不吐槽了,Homebrew 越俎代庖干得多烂都有数。
Tink
2021-11-23 18:44:10 +08:00
这有官方的吗?
wangkun025
2021-11-23 18:52:28 +08:00
@xuhaoyangx 醒醒吧,Linux 上不没有 cask
Volekingsg
2021-11-23 18:53:50 +08:00
注意不需要 root 的话要非默认路径,很多 packages 需要重新编译
hei1000
2021-11-23 19:15:33 +08:00
我之前服务器上面没有权限 root 安装的时候用的是 anaconda 安装一些常用软件,再之前 brew 也短暂试过倒没什么特别的印象
ysc3839
2021-11-23 19:22:26 +08:00
history 是指 yum history 这样的功能吗?印象中就只有 rpm 系的包管理有类似功能?别的似乎都没有。
SenLief
2021-11-23 19:40:12 +08:00
history 有什么用吗?
很多要重新打包,太麻烦了。
cuminflea
2021-11-23 20:37:59 +08:00
xuhaoyangx
2021-11-23 22:24:12 +08:00
@kidonng history 指定旧版本
@wangkun025 我说的是在 mac 上的 brew ,有点文不对题了 哈哈哈。

Linux 最大的槽点就是在这了,没有一个类似 macos brew 的东西,能完整覆盖所有应用的安装配置。

Linux 也在用,大多数是预发布、生产环境在用 Docker 。

开发环境的话,还是 Mac 来的舒服。

我的很多时候只希望有一个渠道,可以方便快捷统一的配置。

Linux 我一直都在用,实际上没有好用能覆盖需求的,很多时候得自己写专门的脚本去做一些 build 的工作,一些 UI 层级的软件,不能完全覆盖到。

cask 的好处是,大部分带 UI 的应用 因为协议无法上架 AppStore 的,可以通过这个快捷安装,没有的软件,可以自己提交 pr ,合并更新前可以用自己的 github 做 tap 。可惜 linux 应该是没有的了

history 指定旧版本,好的 Formula ,在指定旧版本,发现相关依赖已经升级到最新版后,会自动进行下载源码跑一遍编译。Linux ,想啥呢,自己写 build 脚本去。

现在做 App 的发布环境和自动化测试,如果用的 Mac mini 去做的,装系统+执行配置脚本,大概 2 小时能跑完一台 mini 。原来做的话,发布环境还得单独搞个虚拟化去做 IOS 的发布 ,麻烦的很。整个脚本维护起来费时费劲
sagaxu
2021-11-23 22:39:34 +08:00
用 apt 啊,lts 版 ubuntu ,配置好国内 mirror ,不用半个小时全部装好,除了 firefox 这类软件,各个软件一般不会更新大版本了,只有 bug 修复和安全更新,最新版和最老版之间一般兼容
sagaxu
2021-11-23 22:41:42 +08:00
我有时直接 tar 备份好文件,复制到新机器,解压一下,再修复一下 grub 就完事了,目标机器都不用联网
X_Del
2021-11-23 22:55:00 +08:00
能用。
个人体会比较适合用在 Debian 这类发行版,官方源缺少某些软件或版本过于落后,用 Linuxbrew 可以安装到最新的版本(这个需求用 nix 也可以)。
但是在 Arch 上就完全不如 Pacman + AUR 的组合。

缺点是只支持 x86 架构,linuxbrew 没有 arm 的二进制包。
12101111
2021-11-23 22:58:48 +08:00
没有 cask 的 Homebrew 还不如 Gentoo prefix ,最起码 Gentoo prefix 是专门针对 Linux 的,而且因为大多数 Gentoo prefix 用户都是为了在没有 root 权限的情况下摆脱 CentOS6 那可怕的 glibc 和 libstdc++版本,专门支持从古董内核 bootstrap 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/817468

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX