macOS Catalina 的自带软件,一点发布会没提的东西 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sinxccc
V2EX    macOS

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

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

    https://9.obelus.net/2019/06/04/macos-bas-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     Solana     2735 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 96ms UTC 11:37 PVG 19:37 LAX 04:37 JFK 07:37
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86