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

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

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

    各位 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  
       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
        28
    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 不高的情况下,风扇转的很香。
    Stevenv
        49
    Stevenv  
       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
    tulongtou
        53
    tulongtou  
       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   ·   实用小工具   ·   5577 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 02:24 · PVG 10:24 · LAX 18:24 · JFK 21:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.