V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sinxccc
V2EX  ›  macOS

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

  •  
  •   sinxccc · 2019-06-05 02:00:35 +08:00 · 7309 次点击
    这是一个创建于 2027 天前的主题,其中的信息可能已经有所发展或是发生改变。
    1. Emacs 22 从系统中移除
    2. 默认 shell 改成 zsh
    3. Python/Ruby/Perl 仅用作满足老旧软件的支持,以后会被移除

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

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

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

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

    只是移除了命令行的 Emacs 程序而已。
    kawaiidora
        8
    kawaiidora  
       2019-06-05 05:42:40 +08:00
    许可证啊,想起索尼和老任的游戏机都基于 freebsd 了
    mxi1
        9
    mxi1  
       2019-06-05 08:09:57 +08:00 via iPhone
    @sinxccc 意思是没有预装的 emacs 了?😄
    find456789
        10
    find456789  
       2019-06-05 09:58:11 +08:00
    请问大哥, 这个系统,正式版大约什么时候提供
    momocraft
        11
    momocraft  
       2019-06-05 10:01:39 +08:00
    其实 macos 自带的 rb/pl/py 是跑啥用的
    congeec
        12
    congeec  
       2019-06-05 10:03:43 +08:00 via iPhone
    vim 用户欢呼
    momocraft
        13
    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
        14
    ai277014717  
       2019-06-05 10:12:01 +08:00
    担心写的 bash 脚本跑到 zsh 上会有问题
    mikeven
        15
    mikeven  
       2019-06-05 10:21:21 +08:00
    这些软件需要的话,都可以再装吧
    shuxiao9058
        16
    shuxiao9058  
       2019-06-05 10:28:25 +08:00
    @momocraft 太坑了!!!
    lizhuoli
        17
    lizhuoli  
       2019-06-05 10:33:10 +08:00 via iPhone
    爽,自带 zsh
    chendy
        18
    chendy  
       2019-06-05 10:52:04 +08:00
    之前写的 bash 脚本,只要有 #!/bin/bash 应该就还能用吧
    sinxccc
        19
    sinxccc  
    OP
       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
        20
    hguandl  
       2019-06-05 12:48:07 +08:00   ❤️ 1
    @momocraft

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

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

    brew(1) 是用 ruby 写的,这个不用多说了。
    hguandl
        21
    hguandl  
       2019-06-05 12:49:34 +08:00
    顺带一提,Catalina 的 Command-line Tools 里添加了 Python 3,版本是 3.7.3。
    momocraft
        22
    momocraft  
       2019-06-05 13:04:13 +08:00
    @hguandl 想不到 shasum 也是
    wudanyang
        23
    wudanyang  
       2019-06-05 13:17:51 +08:00
    @sinxccc 惊悚
    lijixi
        24
    lijixi  
       2019-06-05 15:26:59 +08:00
    我是不是该把 Mac 卖掉……
    sinxccc
        25
    sinxccc  
    OP
       2019-06-05 22:16:23 +08:00
    @wudanyang @lijixi 这不都是挺好的变化么…
    lijixi
        26
    lijixi  
       2019-06-06 07:23:07 +08:00
    @sinxccc

    1. Zsh 的文档和资料又少又老,和 Bash 相比实在是差远了,不便于学习……
    2. 虽说 Zsh 对 Bash 保留一定的兼容性,但是仍有基础部分与 Bash 不兼容。手里大量的 Bash 脚本都得重写……
    inbox
        27
    inbox  
       2019-06-06 07:28:59 +08:00 via iPhone
    @lijixi bash 依然在系统里,不过不是默认而已。你的脚本头加上 `#!/bin/bash` 还是可以正常运行。
    另外,不是所有人都会需要使用 bash,感觉苹果自己做了取舍吧。
    wudanyang
        28
    wudanyang  
       2019-06-06 09:45:25 +08:00
    @sinxccc 我是想回复一下,居然没有了 emacs 的键位了,但是没有标明回复楼层,抱歉
    sinxccc
        29
    sinxccc  
    OP
       2019-06-06 11:22:09 +08:00
    @wudanyang Emacs 键位一直在的…这种东西要是取消的话我也要从 macOS 出走了。

    去除的只是原来预装的 emacs,22 版本,纯命令行的程序。
    lijixi
        30
    lijixi  
       2019-06-06 11:48:30 +08:00
    @inbox

    我还以为 Bash 以后也会被移除……还在就好
    weakish
        31
    weakish  
       2019-06-07 00:19:03 +08:00
    @momocraft 其实一般用 sha256sum、sha1sum、md5sum,perl 的 shasum 很少用
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2586 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 06:41 · PVG 14:41 · LAX 22:41 · JFK 01:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.