各位 V 友们好,rt,最近有想换台 macOS 的想法,但是没用过,本人在用 linux.所以想请教几个问题
macos 下有类似 linux 的包管理工具么?比如 ubuntu 的 apt, arch 下的 pacman.有没有更新源的操作(强迫症,每次装完系统更新一下,怕依赖问题)。我只知道 mac 下有个 brew 的工具,但是好像 linux 也可用,不知道有什么区别。
软件你们去哪里安装,appstore 么?# 笑
有哪些你们自认为比较常用的命令是和 linux 不同的。
类似的问题我网上查了一下,没找到类似的问题。先谢谢大家了
![]() | 1 zhuangku556 2020-04-28 15:46:11 +08:00 不是程序员: 1.有个 homebrew,用来装过 adb 之类的折腾 Android,还有图形界面能用 2.AppStore 、软件官网、GitHub 3.不懂,但是终端用起来的感觉差不多(玩过 Ubuntu ) |
2 littlewing 2020-04-28 15:46:21 +08:00 via iPhone 1. homebrew 2. 优先在 appstore 装 |
![]() | 3 ipwx 2020-04-28 15:47:56 +08:00 1. homebrew,但是基本只用来装一点代码相关的东西。比如 npm 。 2. AppStore 有的,AppStore 。没有的,官网。少数用 brew cask 。 3. 很多命令和 Linux 都是不同的。但是,用 mac 你除了写代码基本不用命令行就是了( doge ) |
![]() | 4 ipwx 2020-04-28 15:50:03 +08:00 ![]() 另外很多小型软件的安装都是打开某个 .dmg ,把里面的某个 .app 拖动到 /Applications 文件夹下面。然后,Duang,你就装好了。这种方式安装的软件,卸载也很容易,就是在 /Applications 下面把它删掉就好了。用户目录也就会残留一些配置文件啥的,不过你 apt-get remove 不也残留么(狗头) 少数一些软件,比如搜狗拼音输入法,需要通过一个 .pkg 的文件(是个安装脚本,就和 .msi 差不多)安装,以及需要通过同样的 .pkg 文件卸载。这种软件卸载还挺不方便的,要去把安装包再下一遍。 |
![]() | 5 ipwx 2020-04-28 15:51:51 +08:00 反正用 mac 的精髓就是,用就是了,没啥可以折腾的。出事了就去找 genius bar (手动狗头) |
![]() | 6 lululau 2020-04-28 15:52:25 +08:00 ![]() 很多命令的用法都会有写区别,但是大部分区别不大 手册页带 BSD 标头的命令,用法会有区别:man COMMAND | col -b | grep 'BSD .*Commands Manual' |
![]() | 8 Vegetable 2020-04-28 15:55:53 +08:00 命令上会有区别,但是我记得的区别就一个 rm /path/to/dir -rf 在 macos 不能用, -rf 必须写在路径前边哈哈 |
9 amare OP |
![]() | 10 ipwx 2020-04-28 16:02:57 +08:00 @amare HomeBrew 更类似于 AUR,它中央仓库在 github 上,存储的是安装脚本。每个不同的软件的软件源,其实并不一样,看脚本怎么写的了。 |
![]() | 11 zhuangku556 2020-04-28 16:03:13 +08:00 @amare 好像默认是 GitHub,速度慢可能需要梯子要设置下终端代理 |
![]() | 14 XWUS 2020-04-28 16:09:06 +08:00 你问的都有解决方案,我比较感兴趣你为什么要换 mac ? |
![]() | 16 wellsc 2020-04-28 16:12:04 +08:00 macos 下没有好用的 tilling window manager 就有点离谱。 |
17 amare OP @XWUS 我能说是因为微信么# 笑哭, 我网页版微信已经被禁了,工作一直在用 deepin 也是这个原因,其它发行版的都不是很稳定感觉。所以有考虑 |
![]() | 18 ipwx 2020-04-28 16:15:30 +08:00 @wellsc 嘛嘛,我用 linux 也没用过。i3wm 啥的,感觉麻烦,记不住快捷键。连 tmux 我也就会些基本操作,vim 也就会打开编辑上下左右然后保存。触控板还是我的主力操作方法。每个人的操作方法不一样的啦 www 如果是窗口对齐到屏幕一半,或者四分之一这种,可以用 magnet 。 https://magnet.crowdcafe.com/ @ostrichb 感觉有些东西可能清不干净? |
![]() | 19 reus 2020-04-28 16:16:58 +08:00 装个 linux 虚拟机,ssh 进去用就是 |
![]() | 20 ipwx 2020-04-28 16:18:49 +08:00 @XWUS 钉钉,微信,瞩目,QQ,QQ 音乐,搜狗输入法,Texpad,PDF Expert,EverNote,Microsoft Office 。 还有摄像相关的:Adobe 全家桶 Photoshop 、Lightroom ; Capture One ;达芬奇。 |
![]() | 23 allenchen10 PRO ![]() 尽量干净地卸载软件可以用 brew cask zap 命令,哪怕不是 brew cask 装的软件也可以加-f 强制执行 |
24 mschultz 2020-04-28 16:30:56 +08:00 ![]() @amare #9 可以尝试 清华的 homebrew 和 homebrew-bottles 源: https://mirrors.tuna.tsinghua.edu.cn/help/homebrew/ https://mirrors.tuna.tsinghua.edu.cn/help/homebrew-bottles/ |
![]() | 26 ipwx 2020-04-28 16:33:47 +08:00 @allenchen10 对哦还有这招。反正 brew 脚本都是拿原始软件的 .pkg 装上去,拿 .pkg 卸载,然后再顺带清一清没卸干净的文件(如果脚本作者有心)。就不用再去官网找安装包了。你真是小天才。 |
2 amare OP @ipwx # 26 认同,python 真的是,go 的话对 linux 支持也更友好一点。看来 brew 有点像 apt, 但是 linux 下也有 brew #笑哭 |
![]() | 29 also24 2020-04-28 16:44:13 +08:00 命令方面,我印象中 sed 的参数是有区别的,当时把我坑了好久。 |
![]() | 30 dandycheung 2020-04-28 16:44:17 +08:00 via iPhone @amare Ubuntu 跟 Debian 下我一直是 Wine 微信,不能说好用,但确实可用。 |
31 kaifang 2020-04-28 16:58:07 +08:00 ![]() |
![]() | 34 andyliu24 2020-04-28 17:32:56 +08:00 ![]() 我印象比较深的就是 ping -f 在 macOS 里不能用,nc 的有些也不一样…… |
![]() | 35 rrZ2C 2020-04-28 17:58:46 +08:00 linux 转 mac 应该来说会很顺滑嘿嘿 |
![]() | 37 ipwx 2020-04-28 18:23:49 +08:00 |
38 littlewing 2020-04-28 18:28:43 +08:00 ![]() |
![]() | 39 libook 2020-04-28 18:38:28 +08:00 ![]() 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,提供了一些配置文件和实用脚本。 |
![]() | 40 libook 2020-04-28 18:42:08 +08:00 额,链接和后面的文字连一起了,你可以自己截一下。。。 MacOS 下应用程序除了一些使用高权限 API 的功能软件以外,基本上就是个.app 的文件夹,可以不安装直接双击运行,所谓“安装”也只是复制到你的应用程序目录下,方便下次找而已。 |
41 newtype0092 2020-04-28 18:51:36 +08:00 ![]() brew 大部分情况下挺好用的,感觉跟 apt 和 yum 差不多,绝大部分包是有的,我大学里一直用的 fedora 和 mint,换成 mac 很快就习惯。 命令行是 BSD 的,基本命令都一样,偶尔个别的参数不一样,常用的我有印象的就 grep 、xarg 、netstat 好像,反正我差不多一半在本地终端操作,一半在服务器上远程操作,无缝切换。 |
42 jin7 2020-04-28 18:57:11 +08:00 用 windows 好了 何必折腾 wsl2 马上出来 mac 真的不好用 |
![]() | 43 MartinWu 2020-04-28 19:01:20 +08:00 ![]() 1. 可以用 homebrew https://brew.sh ---- brew 2. 一些开源,免费的软件,依然可以用 homebrew --- brew cask 来安装 3. 我感觉 Linux 下那些例如 sed awk grep 等 Linux/GNU 的程序都跟 Linux 不大一样,建议 brew install gnu-units |
![]() | 44 nosay 2020-04-28 19:07:22 +08:00 via iPhone 三个系统都在用,都差不多,哪有谁比谁好哪 |
45 lookas2001 2020-04-28 19:09:58 +08:00 没有 iptables, nftables, ip 等等,bsd 时代传下来的命令差不多,后来 linux 的一些特性 macos 就没有了。此外可执行程序结构上区别也挺大的。gdb 调试什么的还需要禁用系统的安全功能。 |
![]() | 46 chengxiao 2020-04-28 19:13:12 +08:00 ![]() 我是跟楼主恰恰相反,用了这么多年 Mac 了,系统越更新问题越多,而且老设备卡的不行,这几天在一台 thinkpad 上装了下 KUbuntu,感觉好爽啊 |
![]() | 47 secondwtq 2020-04-28 19:17:01 +08:00 既然楼主用 Linux,那去下个镜像装个虚拟机试试不就行了 |
![]() | 48 smilingsun 2020-04-28 19:50:50 +08:00 建议考虑一下 Windows + Linux VM,SSH 进去。 硬件问题:入手 macbook pro 16 寸一个月,感觉外接显示器 mbp 就会比较热,而且经常 CPU 不高的情况下,风扇转的很香。 |
![]() | 49 infreboot 2020-04-28 19:57:13 +08:00 deepin 不是有 wine 好的微信吗 |
![]() | 50 lizytalk 2020-04-28 20:10:14 +08:00 1. homebrew 2. app store, homebrew, 官网下 dmg (买不起的去盗版网站下盗版。但是 mac 的软件主体都是打包放在一个 xxx.app 包里面的,不会像 linux 那样弄的到处都是 3. 很多命令都不一样。但是常用的还是都一样的,值得注意的是他们解析参数的风格是不一样的 |
![]() | 51 labulaka521 2020-04-28 20:24:59 +08:00 via Android ![]() mac 上 rm 命令参数不能放到最后比如 rm / -rf |
![]() | 52 yuange1975 2020-04-28 20:30:05 +08:00 @lookas2001 pfctl |
![]() | 53 DonaidTrump 2020-04-28 21:01:10 +08:00 homebrew 最开始就是专门为 macOS 设计的,后来 fork 出了一个 linuxbrew,发展了一段时间被合并到 homebrew 主分支了 |
54 iceEar 2020-04-28 21:16:32 +08:00 我们都在 mac-torrents 下载软件。 # 笑 |
![]() | 55 SoloCompany 2020-04-28 21:22:04 +08:00 1. brew 2. brew cask 3. top |
![]() | 56 yousabuk 2020-04-28 21:36:09 +08:00 via iPhone 不喜 homebrew 之类的软件包管理器 都是手动下载安装或者解压再 ln 。 干净 |
![]() | 57 tunzao 2020-04-28 22:36:16 +08:00 3. top, netstat, sed |
58 AhianSong 2020-04-29 06:21:00 +08:00 via Android 苹果全家桶退坑 win10+wsl2 |
![]() | 59 20015jjw 2020-04-29 06:55:50 +08:00 via Android 2 brew cask |
60 xieshaohu 2020-04-29 08:36:31 +08:00 ![]() 1. Homebrew,使用方法和 apt 之类 的差不多。homebrew 有更新源的操作,但是这个只能更新用 homebrew 安装的软件,其他的软件如果是从 appstore 安装的,就等 appstore 更新通知,如果是下载 dmg 安装包安装的依赖软件自己的更新机制。dmg 安装包类似 ubuntu 的 deb 安装包 2. AppStore 安装的少,一般自己下载软件包安装,因为还是有很多软件需要 PJ 3. 和 Linux 最不同的,默认没有 ll 命令,很别扭,nestat 命令参数和 Linux 不同。 |
![]() | 61 rainysia 2020-04-29 09:50:42 +08:00 ![]() 包管理还好吧. 我主力是 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 |
![]() | 63 GiantHard 2020-04-29 12:17:48 +08:00 @CommandZi 用 KDE 举例的话,macOS 的多桌面对应的是虚拟桌面,而 KDE 在虚拟桌面之上还有一个 Activites,每个 Activity 都有独立的配置,用来隔离不同工作对桌面布局的要求。 |
66 rockagen 2020-04-29 14:14:21 +08:00 如果只是用类 ubuntu,类 fedora 这类系统的,那就早转 macOS,如果是 arch 之类的,就别转了,macOS 真的差劲 |
67 buzailianxi 2020-04-29 19:56:44 +08:00 via Android 我和你一样转的,主要是微信啥的可以直接用了 |
![]() | 69 UnknownR 2020-05-01 07:54:19 +08:00 ![]() |
70 QlanQ 2020-05-15 10:04:05 +08:00 ![]() 现在用 MacOS 完全是因为 微信 好烦呀,MacBook 装了双系统 ,同一台电脑 Arch 性能高的多 |
71 notgoda 2022-01-02 17:08:40 +08:00 via iPhone @MartinWu 大佬,你好,请问执行 brew install gnu-units 这个指令会不会覆盖掉 mac 系统原来的指令? |
73 notgoda 2022-01-13 21:21:20 +08:00 @libook 大佬 你好 sed 与 awk 现在 但是 coreutils 中没有这两个软件,需要单独安装了, 而且--with-default-names 参数 也被取消了吧? |
![]() | 74 libook 2022-01-14 10:13:22 +08:00 @notgoda #72 是的,具体怎么搞可以参考我写的这个工具箱: https://github.com/libook/IdleBox/blob/master/zshrcs/public/config-gnu-commands |
75 notgoda 2022-01-14 15:51:45 +08:00 via iPhone |
![]() | 77 libook 2022-01-14 16:02:54 +08:00 |
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 |