不懂就问:想换 macOS 系统用用了, 一直在用 Linux . - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
amare
V2EX    macOS

不懂就问:想换 macOS 系统用用了, 一直在用 Linux .

  •  
  •   amare 2020-04-28 15:38:46 +08:00 7361 次点击
    这是一个创建于 1997 天前的主题,其中的信息可能已经有所发展或是发生改变。

    各位 V 友们好,rt,最近有想换台 macOS 的想法,但是没用过,本人在用 linux.所以想请教几个问题

    1. macos 下有类似 linux 的包管理工具么?比如 ubuntu 的 apt, arch 下的 pacman.有没有更新源的操作(强迫症,每次装完系统更新一下,怕依赖问题)。我只知道 mac 下有个 brew 的工具,但是好像 linux 也可用,不知道有什么区别。

    2. 软件你们去哪里安装,appstore 么?# 笑

    3. 有哪些你们自认为比较常用的命令是和 linux 不同的。

    类似的问题我网上查了一下,没找到类似的问题。先谢谢大家了

    第 1 条附言    2020-04-29 13:44:39 +08:00
    谢谢大家,第一次发帖这么多热心的 v 友帮忙解答,一时间忙忘了看,在此谢谢大家 # 飙泪笑
    79 条回复    2022-01-14 20:03:51 +08:00
    zhuangku556
        1
    zhuangku556  
       2020-04-28 15:46:11 +08:00
    不是程序员:
    1.有个 homebrew,用来装过 adb 之类的折腾 Android,还有图形界面能用
    2.AppStore 、软件官网、GitHub
    3.不懂,但是终端用起来的感觉差不多(玩过 Ubuntu )
    littlewing
        2
    littlewing  
       2020-04-28 15:46:21 +08:00 via iPhone
    1. homebrew
    2. 优先在 appstore 装
    ipwx
        3
    ipwx  
       2020-04-28 15:47:56 +08:00
    1. homebrew,但是基本只用来装一点代码相关的东西。比如 npm 。
    2. AppStore 有的,AppStore 。没有的,官网。少数用 brew cask 。
    3. 很多命令和 Linux 都是不同的。但是,用 mac 你除了写代码基本不用命令行就是了( doge )
    ipwx
        4
    ipwx  
       2020-04-28 15:50:03 +08:00   1
    另外很多小型软件的安装都是打开某个 .dmg ,把里面的某个 .app 拖动到 /Applications 文件夹下面。然后,Duang,你就装好了。这种方式安装的软件,卸载也很容易,就是在 /Applications 下面把它删掉就好了。用户目录也就会残留一些配置文件啥的,不过你 apt-get remove 不也残留么(狗头)

    少数一些软件,比如搜狗拼音输入法,需要通过一个 .pkg 的文件(是个安装脚本,就和 .msi 差不多)安装,以及需要通过同样的 .pkg 文件卸载。这种软件卸载还挺不方便的,要去把安装包再下一遍。
    ipwx
        5
    ipwx  
       2020-04-28 15:51:51 +08:00
    反正用 mac 的精髓就是,用就是了,没啥可以折腾的。出事了就去找 genius bar (手动狗头)
    lululau
        6
    lululau  
       2020-04-28 15:52:25 +08:00   2
    很多命令的用法都会有写区别,但是大部分区别不大

    手册页带 BSD 标头的命令,用法会有区别:man COMMAND | col -b | grep 'BSD .*Commands Manual'
    luckyrayyy
        7
    luckyrayyy  
       2020-04-28 15:53:37 +08:00
    1 、有,homebrew
    2 、有的在 AppStore,有的直接网站上下。
    3 、常用的命令好像没啥不同,但是跟系统相关的应该不一样,而且文件目录的约定也不一样,尤其是对于 APP 来说,有点像一个沙盒。
    Vegetable
        8
    Vegetable  
       2020-04-28 15:55:53 +08:00
    命令上会有区别,但是我记得的区别就一个
    rm /path/to/dir -rf 在 macos 不能用, -rf 必须写在路径前边哈哈
    amare
        9
    amare  
    OP
       2020-04-28 16:01:24 +08:00
    @zhuangku556 @lululau @luckyrayyy @Vegetable @ipwx @littlewing 谢谢各位,这里那个软件源是默认国内的么?在哪里改呀?
    ipwx
        10
    ipwx  
       2020-04-28 16:02:57 +08:00
    @amare HomeBrew 更类似于 AUR,它中央仓库在 github 上,存储的是安装脚本。每个不同的软件的软件源,其实并不一样,看脚本怎么写的了。
    zhuangku556
        11
    zhuangku556  
       2020-04-28 16:03:13 +08:00
    @amare 好像默认是 GitHub,速度慢可能需要梯子要设置下终端代理
    ostrichb
        12
    ostrichb  
       2020-04-28 16:04:46 +08:00 via Android
    @ipwx 解除安装 pkg 貌似用 pkgutil -forgot 可以实现?
    amare
        13
    amare  
    OP
       2020-04-28 16:05:20 +08:00
    @ipwx apt 貌似还没有办法删除软件的依赖,pacman 倒时可以哈哈
    XWUS
        14
    XWUS  
       2020-04-28 16:09:06 +08:00
    你问的都有解决方案,我比较感兴趣你为什么要换 mac ?
    Kesds
        15
    Kesds  
       2020-04-28 16:12:00 +08:00
    @XWUS 莫非是要黑果?
    wellsc
        16
    wellsc  
       2020-04-28 16:12:04 +08:00
    macos 下没有好用的 tilling window manager 就有点离谱。
    amare
        17
    amare  
    OP
       2020-04-28 16:14:46 +08:00
    @XWUS 我能说是因为微信么# 笑哭, 我网页版微信已经被禁了,工作一直在用 deepin 也是这个原因,其它发行版的都不是很稳定感觉。所以有考虑
    ipwx
        18
    ipwx  
       2020-04-28 16:15:30 +08:00
    @wellsc 嘛嘛,我用 linux 也没用过。i3wm 啥的,感觉麻烦,记不住快捷键。连 tmux 我也就会些基本操作,vim 也就会打开编辑上下左右然后保存。触控板还是我的主力操作方法。每个人的操作方法不一样的啦 www

    如果是窗口对齐到屏幕一半,或者四分之一这种,可以用 magnet 。

    https://magnet.crowdcafe.com/

    @ostrichb 感觉有些东西可能清不干净?
    reus
        19
    reus  
       2020-04-28 16:16:58 +08:00
    装个 linux 虚拟机,ssh 进去用就是
    ipwx
        20
    ipwx  
       2020-04-28 16:18:49 +08:00
    @XWUS 钉钉,微信,瞩目,QQ,QQ 音乐,搜狗输入法,Texpad,PDF Expert,EverNote,Microsoft Office 。

    还有摄像相关的:Adobe 全家桶 Photoshop 、Lightroom ; Capture One ;达芬奇。
    XWUS
        21
    XWUS  
       2020-04-28 16:21:08 +08:00
    @amare
    只是因为用不了微信的话,那为何不用便宜配置高的 windows 本呢?
    amare
        22
    amare  
    OP
       2020-04-28 16:22:56 +08:00
    @XWUS 不喜欢用 win 开发哈哈
    allenchen10
        23
    allenchen10  
    PRO
       2020-04-28 16:26:21 +08:00   1
    尽量干净地卸载软件可以用 brew cask zap 命令,哪怕不是 brew cask 装的软件也可以加-f 强制执行
    mschultz
        24
    mschultz  
       2020-04-28 16:30:56 +08:00   3
    ipwx
        25
    ipwx  
       2020-04-28 16:31:50 +08:00   1
    @XWUS windows 本开发 java 可能还行,但是开发 python 或者 js 简直是灾难。。。
    ipwx
        26
    ipwx  
       2020-04-28 16:33:47 +08:00
    @allenchen10 对哦还有这招。反正 brew 脚本都是拿原始软件的 .pkg 装上去,拿 .pkg 卸载,然后再顺带清一清没卸干净的文件(如果脚本作者有心)。就不用再去官网找安装包了。你真是小天才。
    amare
        27
    amare  
    OP
       2020-04-28 16:36:46 +08:00
    @mschultz 哇, 谢谢
    amare
        2
    amare  
    OP
       2020-04-28 16:40:03 +08:00
    @ipwx # 26 认同,python 真的是,go 的话对 linux 支持也更友好一点。看来 brew 有点像 apt, 但是 linux 下也有 brew #笑哭
    also24
        29
    also24  
       2020-04-28 16:44:13 +08:00
    命令方面,我印象中 sed 的参数是有区别的,当时把我坑了好久。
    dandycheung
        30
    dandycheung  
       2020-04-28 16:44:17 +08:00 via iPhone
    @amare Ubuntu 跟 Debian 下我一直是 Wine 微信,不能说好用,但确实可用。
    kaifang
        31
    kaifang  
       2020-04-28 16:58:07 +08:00   1
    这是我常用的软件和命令行工具,仅供参考

    https://www.yuque.com/docs/share/23a8141c-7a71-4a88-8655-f6ea6b2ad829?#
    XWUS
        32
    XWUS  
       2020-04-28 16:58:10 +08:00
    @ipwx 请问灾难的表现是?
    wellsc
        33
    wellsc  
       2020-04-28 17:28:12 +08:00
    @ipwx 你在表达你的主观感受,可以理解,但是不能忽视还有很多人喜欢用 i3wm 之类的桌面环境
    andyliu24
        34
    andyliu24  
       2020-04-28 17:32:56 +08:00   1
    我印象比较深的就是 ping -f 在 macOS 里不能用,nc 的有些也不一样……
    rrZ2C
        35
    rrZ2C  
       2020-04-28 17:58:46 +08:00
    linux 转 mac 应该来说会很顺滑嘿嘿
    ynyounuo
        36
    ynyounuo  
       2020-04-28 18:00:58 +08:00
    @wellsc yabai disable SIP 后的体验已经很接近 bspwm 了
    ipwx
        37
    ipwx  
       2020-04-28 18:23:49 +08:00
    @XWUS JS:一堆 node_modules 文件,使得 ntfs 这个十几年前的文件系统不堪重负,慢的要死。

    Python:一堆怎么也装不上的 C 库。
    littlewing
        38
    littlewing  
       2020-04-28 18:28:43 +08:00   1
    @ipwx pkg 卸载推荐 UninstallPKG 这个软件,可以卸载很干净; APP 卸载残留的话,推荐 APPCleaner 这个软件,用它卸载可以完全删除干净 @amare
    libook
        39
    libook  
       2020-04-28 18:38:28 +08:00   1
    1. brew 不是苹果官方维护的,本身也重度依赖 GitHub,除此之外和其他包管理器没啥大区别。
    2. 基本上都是下载 dmg 包,有的是压缩的 app 包,还有的是 pkg 安装程序,AppStore 很少用。
    3. 很多指令虽然名称一样,但参数会有区别,比如 sed,因为 MacOS 上主要用的是苹果自己搞的指令,也有一些是来自于 Unix (非 Linux )生态的,你可以用 brew 安装一个 coreutils,这个是包含了 GNU 的常用指令,和你在 Linux 上用的是一样的,安装的时候加上--with-default-names 参数可以“覆盖”掉系统的指令,这样在 MacOS 上跑一些 Linux 脚本就不会遇到兼容性问题。

    另外安利一下我的工具箱 https://github.com/libook/IdleBox,基于 Zsh 和 Oh-my-Zsh,提供了一些配置文件和实用脚本。
    libook
        40
    libook  
       2020-04-28 18:42:08 +08:00
    额,链接和后面的文字连一起了,你可以自己截一下。。。
    MacOS 下应用程序除了一些使用高权限 API 的功能软件以外,基本上就是个.app 的文件夹,可以不安装直接双击运行,所谓“安装”也只是复制到你的应用程序目录下,方便下次找而已。
    newtype0092
        41
    newtype0092  
       2020-04-28 18:51:36 +08:00   1
    brew 大部分情况下挺好用的,感觉跟 apt 和 yum 差不多,绝大部分包是有的,我大学里一直用的 fedora 和 mint,换成 mac 很快就习惯。
    命令行是 BSD 的,基本命令都一样,偶尔个别的参数不一样,常用的我有印象的就 grep 、xarg 、netstat 好像,反正我差不多一半在本地终端操作,一半在服务器上远程操作,无缝切换。
    jin7
        42
    jin7  
       2020-04-28 18:57:11 +08:00
    用 windows 好了 何必折腾 wsl2 马上出来 mac 真的不好用
    MartinWu
        43
    MartinWu  
       2020-04-28 19:01:20 +08:00   1
    1. 可以用 homebrew https://brew.sh ---- brew
    2. 一些开源,免费的软件,依然可以用 homebrew --- brew cask 来安装
    3. 我感觉 Linux 下那些例如 sed awk grep 等 Linux/GNU 的程序都跟 Linux 不大一样,建议 brew install gnu-units
    nosay
        44
    nosay  
       2020-04-28 19:07:22 +08:00 via iPhone
    三个系统都在用,都差不多,哪有谁比谁好哪
    lookas2001
        45
    lookas2001  
       2020-04-28 19:09:58 +08:00
    没有 iptables, nftables, ip 等等,bsd 时代传下来的命令差不多,后来 linux 的一些特性 macos 就没有了。此外可执行程序结构上区别也挺大的。gdb 调试什么的还需要禁用系统的安全功能。
    chengxiao
        46
    chengxiao  
       2020-04-28 19:13:12 +08:00   1
    我是跟楼主恰恰相反,用了这么多年 Mac 了,系统越更新问题越多,而且老设备卡的不行,这几天在一台 thinkpad 上装了下 KUbuntu,感觉好爽啊
    secondwtq
        47
    secondwtq  
       2020-04-28 19:17:01 +08:00
    既然楼主用 Linux,那去下个镜像装个虚拟机试试不就行了
    smilingsun
        48
    smilingsun  
       2020-04-28 19:50:50 +08:00
    建议考虑一下 Windows + Linux VM,SSH 进去。

    硬件问题:入手 macbook pro 16 寸一个月,感觉外接显示器 mbp 就会比较热,而且经常 CPU 不高的情况下,风扇转的很香。
    infreboot
        49
    infreboot  
       2020-04-28 19:57:13 +08:00
    deepin 不是有 wine 好的微信吗
    lizytalk
        50
    lizytalk  
       2020-04-28 20:10:14 +08:00
    1. homebrew
    2. app store, homebrew, 官网下 dmg (买不起的去盗版网站下盗版。但是 mac 的软件主体都是打包放在一个 xxx.app 包里面的,不会像 linux 那样弄的到处都是
    3. 很多命令都不一样。但是常用的还是都一样的,值得注意的是他们解析参数的风格是不一样的
    labulaka521
        51
    labulaka521  
       2020-04-28 20:24:59 +08:00 via Android   1
    mac 上 rm 命令参数不能放到最后比如 rm / -rf
    yuange1975
        52
    yuange1975  
       2020-04-28 20:30:05 +08:00
    @lookas2001 pfctl
    DonaidTrump
        53
    DonaidTrump  
       2020-04-28 21:01:10 +08:00
    homebrew 最开始就是专门为 macOS 设计的,后来 fork 出了一个 linuxbrew,发展了一段时间被合并到 homebrew 主分支了
    iceEar
        54
    iceEar  
       2020-04-28 21:16:32 +08:00
    我们都在 mac-torrents 下载软件。 # 笑
    SoloCompany
        55
    SoloCompany  
       2020-04-28 21:22:04 +08:00
    1. brew
    2. brew cask
    3. top
    yousabuk
        56
    yousabuk  
       2020-04-28 21:36:09 +08:00 via iPhone
    不喜 homebrew 之类的软件包管理器
    都是手动下载安装或者解压再 ln 。

    干净
    tunzao
        57
    tunzao  
       2020-04-28 22:36:16 +08:00
    3. top, netstat, sed
    AhianSong
        58
    AhianSong  
       2020-04-29 06:21:00 +08:00 via Android
    苹果全家桶退坑 win10+wsl2
    20015jjw
        59
    20015jjw  
       2020-04-29 06:55:50 +08:00 via Android
    2 brew cask
    xieshaohu
        60
    xieshaohu  
       2020-04-29 08:36:31 +08:00   1
    1. Homebrew,使用方法和 apt 之类 的差不多。homebrew 有更新源的操作,但是这个只能更新用 homebrew 安装的软件,其他的软件如果是从 appstore 安装的,就等 appstore 更新通知,如果是下载 dmg 安装包安装的依赖软件自己的更新机制。dmg 安装包类似 ubuntu 的 deb 安装包
    2. AppStore 安装的少,一般自己下载软件包安装,因为还是有很多软件需要 PJ
    3. 和 Linux 最不同的,默认没有 ll 命令,很别扭,nestat 命令参数和 Linux 不同。
    rainysia
        61
    rainysia  
       2020-04-29 09:50:42 +08:00   1
    包管理还好吧. 我主力是 debian, 大概用了 13 年. 现在发贴的还是 debian.
    MBP 是公司发的拿来开会的时候摆出来用, 或者和上级开会的时候用 ( 笑).

    大部分都兼容, macOS 有好用的 qq 等客户端 (linux 下我都是起了一个 xp 的虚拟机专门运行 qq).
    最大的区别在于组合键的变化需要适应以及 mac 是以 app 的形式切换 docker (桌面->APP). 也就是桌面 + 多个 APP 构成了桌面工作内容的切换.
    而 linux 有 桌面->workspace->panel->APP, 比如为在工作区 1 做公司的事情, 工作区 2 放娱乐的播放器, 再放个小说阅读器. 工作区 3 放聊天工具比如虚拟机的 qq, 邮箱展示. 工作区 4 放后台脚本等等.
    不同 panel, 定制不同的快捷启动 APP.

    另外长期用 linux 的, 用 mac 估计需要关闭 SIP

    其他就是一些小的软件展示区别(unix 和 linux 的区别), 目录的区别, 比如 /private/tmp 和 linux 的 /tmp, /var/root 和 /root
    CommandZi
        62
    CommandZi  
       2020-04-29 10:36:10 +08:00
    @rainysia mac 不也是有桌面 1 、2 、3 、4 吗
    GiantHard
        63
    GiantHard  
       2020-04-29 12:17:48 +08:00
    @CommandZi 用 KDE 举例的话,macOS 的多桌面对应的是虚拟桌面,而 KDE 在虚拟桌面之上还有一个 Activites,每个 Activity 都有独立的配置,用来隔离不同工作对桌面布局的要求。
    amare
        64
    amare  
    OP
       2020-04-29 13:51:23 +08:00
    @libook 谢谢啦,这个 coreutils 我是第一次听说, 小本本记下了。
    amare
        65
    amare  
    OP
       2020-04-29 13:54:28 +08:00
    @xieshaohu deb 有 dpkg -i xxx.deb, 请问 dmg 格式的有类似的命令吗?
    rockagen
        66
    rockagen  
       2020-04-29 14:14:21 +08:00
    如果只是用类 ubuntu,类 fedora 这类系统的,那就早转 macOS,如果是 arch 之类的,就别转了,macOS 真的差劲
    buzailianxi
        67
    buzailianxi  
       2020-04-29 19:56:44 +08:00 via Android
    我和你一样转的,主要是微信啥的可以直接用了
    xieshaohu
        68
    xieshaohu  
       2020-04-30 13:42:34 +08:00
    @amare 没有用命令安装过 dmg,有了 dmg 都是直接在“访达”双击安装的。
    UnknownR
        69
    UnknownR  
       2020-05-01 07:54:19 +08:00   1
    @amare 并没有。dmg 是压缩镜像,并不是打包文件,双击 dmg 实际是解压操作,里面的.app 文件才是和.deb 类似的实体,但是.app 的好处是可以直接拖到 Application 目录然后自动在系统内注册,直接就出现在 GUI 菜单里,不像 linux 需要 register entry 之类的需要手动注册
    QlanQ
        70
    QlanQ  
       2020-05-15 10:04:05 +08:00   1
    现在用 MacOS 完全是因为 微信 好烦呀,MacBook 装了双系统 ,同一台电脑 Arch 性能高的多
    notgoda
        71
    notgoda  
       2022-01-02 17:08:40 +08:00 via iPhone
    @MartinWu 大佬,你好,请问执行 brew install gnu-units 这个指令会不会覆盖掉 mac 系统原来的指令?
    MartinWu
        72
    MartinWu  
       2022-01-02 18:48:39 +08:00
    @notgoda 不会。
    notgoda
        73
    notgoda  
       2022-01-13 21:21:20 +08:00
    @libook 大佬 你好 sed 与 awk 现在 但是 coreutils 中没有这两个软件,需要单独安装了, 而且--with-default-names 参数 也被取消了吧?
    libook
        74
    libook  
       2022-01-14 10:13:22 +08:00
    @notgoda #72 是的,具体怎么搞可以参考我写的这个工具箱: https://github.com/libook/IdleBox/blob/master/zshrcs/public/config-gnu-commands
    notgoda
        75
    notgoda  
       2022-01-14 15:51:45 +08:00 via iPhone
    @MartinWu 谢谢
    @libook 请问 coreutils 跟 gnu-units 有什么区别吗?
    @libook
    notgoda
        76
    notgoda  
       2022-01-14 15:52:52 +08:00 via iPhone
    @MartinWu 请问 软件包集 coreutils 跟 gnu-units 有什么区别吗?
    libook
        77
    libook  
       2022-01-14 16:02:54 +08:00
    @notgoda #74 两者从名字字面意思上就不一样,一个是 utils 另一个是 units 。你去维基百科上搜一下 gnu units 就知道是啥了,用不上的话可以不装的。
    notgoda
        78
    notgoda  
       2022-01-14 16:30:20 +08:00 via iPhone
    @libook 谢谢大佬。 如果 brew info 显示有已打包好的 bottle 的就肯定是支持 arm /Intel 系统架构的吗? 对 unBottled 的包如何判断他是否支持 arm?

    另外比如像下面这个 GitHub 上的软件如何判断他是否支持 Arm? github.com/paradiseduo/tcping
    libook
        79
    libook  
       2022-01-14 20:03:51 +08:00 via Android
    @notgoda 这个比较玄学,最可靠的方式就是装一下试试。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5118 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 38ms UTC 09:24 PVG 17:24 LAX 02:24 JFK 05:24
    Do have faith in what you're doing.
    ubao msn 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