macOS Catalina 的自带软件,一点发布会没提的东西

2019-06-05 02:00:35 +08:00
 sinxccc
1. Emacs 22 从系统中移除
2. 默认 shell 改成 zsh
3. Python/Ruby/Perl 仅用作满足老旧软件的支持,以后会被移除

https://9.obelus.net/2019/06/04/macos-base-system-and-gplv3.html
7094 次点击
所在节点    macOS
31 条回复
EugeneYWang
2019-06-05 02:05:03 +08:00
蛤?不是 bash 了?这换来有什么意义啊
sinxccc
2019-06-05 02:07:55 +08:00
@EugeneYWang 因为 GPLv3 的原因,macOS 无法自带 bash 3.2 之后的版本。现在的 bash 最新版本已经到 5 了,3.2 差不多是十年前发布的。

Zsh 没有许可证的限制,可以每次系统发布都自带最新版本。

Shell 这种非常重要的软件,不管从稳定还是从安全考虑,用第三方版本管理工具的总要多留心一点。
EugeneYWang
2019-06-05 02:23:23 +08:00
@sinxccc 谢谢科普! 我也刚跑去科普了一波,你觉得我用作为一个默认 bash 的使用者转去 Zsh 会有什么学习坡度 /成本吗?
bitkwan
2019-06-05 02:25:51 +08:00
@EugeneYWang 没有(我从前两个版本就换去了,甚至觉得 Zsh 的 Tab 更好用
scnace
2019-06-05 02:41:09 +08:00
卧槽 竟然移除了 emacs22 的键位!
sinxccc
2019-06-05 03:00:20 +08:00
@EugeneYWang 几乎没有,日常使用的话可能通配符上会别扭一下,zsh 偏好预先扩展通配符。不过总之是可以从配置或者使用习惯上解决的问题。

另外如果你积攒的配置文件里有一些 bash 独有的写法的话可能需要稍微改一下,不过基本很少而且 zsh 都有一一对应的写法。
sinxccc
2019-06-05 03:01:12 +08:00
@scnace

只是移除了命令行的 Emacs 程序而已。
kawaiidora
2019-06-05 05:42:40 +08:00
许可证啊,想起索尼和老任的游戏机都基于 freebsd 了
mxi1
2019-06-05 08:09:57 +08:00
@sinxccc 意思是没有预装的 emacs 了?😄
find456789
2019-06-05 09:58:11 +08:00
请问大哥, 这个系统,正式版大约什么时候提供
momocraft
2019-06-05 10:01:39 +08:00
其实 macos 自带的 rb/pl/py 是跑啥用的
congeec
2019-06-05 10:03:43 +08:00
vim 用户欢呼
momocraft
2019-06-05 10:05:12 +08:00
> GPLv3 开始,跟所有的 BSD 血亲一样,macOS 一直很小心的保持自己与 GPLv3 完全隔离。受制于此,不少原本系统自带的软件都无法得到更新,而一直保持在 GPLv2 的老版本,比如停留在 22 的 emacs 还有停留在 3.2 的 bash。

没有得到,freebsd repo 里的 bash 是 5.0 这也属于隔离吗?
ai277014717
2019-06-05 10:12:01 +08:00
担心写的 bash 脚本跑到 zsh 上会有问题
mikeven
2019-06-05 10:21:21 +08:00
这些软件需要的话,都可以再装吧
shuxiao9058
2019-06-05 10:28:25 +08:00
@momocraft 太坑了!!!
lizhuoli
2019-06-05 10:33:10 +08:00
爽,自带 zsh
chendy
2019-06-05 10:52:04 +08:00
之前写的 bash 脚本,只要有 #!/bin/bash 应该就还能用吧
sinxccc
2019-06-05 12:28:21 +08:00
@mxi1 没有了,homebrew 装 emacs 或者 emacs mac port 吧( ´▽`)

@find456789 往年惯例是九月份的什么时候。

@momocraft FreeBSD 的 base system 里只有 sh/csh/tcsh,bash 和 zsh 都是 ports 里提供的。

@ai277014717 bash 还在的,只是如果你原来 .bashrc 里有很多自己的东西的话,需要稍微花点时间。
hguandl
2019-06-05 12:48:07 +08:00
@momocraft

xattr(1) 是一个处理文件拓展属性的工具,这个是用 python 2 写的。可以 vim /usr/bin/xattr 试试。

shasum(1) 顾名思义是计算文件 sha 校验值的工具,是用的 perl。vim /usr/bin/shasum 即可看到。

brew(1) 是用 ruby 写的,这个不用多说了。

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

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

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

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

© 2021 V2EX