软件管理一直是计算机用户的「老大难」问题之一。
在 Linux 发行版中,有包管理器用于软件部署;后来,又有了基于「容器」概念的 Docker 。对于 Windows 用户来说,如果你是国产「免费」软件的用户,你可以轻易在各大「软件管家」中获取自己想要的软件并保持更新,有部分软件甚至还支持「一键安装」体验。
而对于 Mac 用户来说,大量精品软件来自国外、App 付费习惯较为普遍,Windows 上那一套便不是很行得通了。
macOS 上,软件管理方面的工具当真不少。但配置顺序不当很容易出现严重问题,比如下面那位老哥。
因此,初始选择对之后的管理方式有极为重大的意义。
在 macOS 上管理软件,有哪些选择?
- 软件平台:Mac App Store 或 Setapp
- 包管理器:HomeBrew 或 MacPorts 或 Fink
容器管理Docker
软件本身:官网一次下载,依赖自主更新
软件平台之 Mac App Store
Mac App Store 是 Apple 于 2010 年 10 月宣布、2011 年 1 月开放的 App 分发平台,是在 App Store 大获成功后的一次移植尝试。Mac App Store 中的 App 必须严格遵循安全沙盒模型,因此部分实用类 App 会出现权限受限或功能缺失(相比官网版本)。Mac App Store 的优势有如下几点:
- 更新方便:既可以用命令进行更新,也可以在 Mac App Store 中检查并更新。
- 速度稳定:相对于其他国外的软件源来说,Mac App Store 的连接速度尚可。在国内主流运营商的百兆宽带环境下,一般都能达到 4.5MB/s 。
- 支付便利:与 iTunes 共享支付方式,无需额外配置。
- 权限安全:App 只拥有用户权限,访问关键目录需要手动授权。同时 Apple 的审核也会保证软件的安全。
- 独占应用:许多个人开发者为了分发便利,只在 Mac App Store 分发自己的应用,而其中不乏诸如 iPic、Pin 等精品。
同时,也有一些不足:
- 带宽浪费:一般来讲,在国内网络环境下 Mac App Store 很难发挥全部带宽,但这个问题并没有那么重要。
- 资源较少:很多 App 因为权限或分发问题并没有在 Mac App Store 上架。
- 更新较慢:受制于 Apple 对 App 更新的审核流程,App 更新上架 Mac App Store 往往要比官网慢上一会儿。部分 App 甚至在 Mac App Store 弃坑停更了。
软件平台之 Setapp
Setapp 是知名 Mac 软件开发商 MacPaw 推出的订阅制付费 App 平台服务。不论 App 本身是一次性付费还是订阅制付费,在 Setapp 平台上你都无需担忧任何额外的支出即可随意安装、使用、升级,只需要向平台缴纳一笔还算合理的订阅费。
Setapp 成立初期有 49 款 App 入驻,而一年后的今天已经有超过 100 款 App ,而且大部分都是精品中的精品,并且价格不菲。当然,笔者用过的最「价格不菲」的 App ——Sketch 和 Parallels Desktop 并未入驻。
Setapp 的优势有:
- 成本较低:相对于单独购买来说,这样按期订阅制的体验更加划算一些——前提是用得上这么多优质 App 。
- 质量优异:口碑极佳、屡获殊荣的 App 大量入驻,另外还有部分行业的领军 App 也有入驻,可以在其中发现精品(而且不需要额外支出)。
- 学生优惠:学生的优惠价格不可谓不低廉,一个月一杯咖啡即可 get 大量付费应用。
Setapp 也有其劣势:
- 没有中文:算是有一点不方便,虽然对笔者没啥影响。
- 支付不便:不支持国内主流支付工具(包括银联卡),MasterCard、Visa、PayPal 可能不得不成为国内用户支付的主要渠道了。
- 其他不明:很遗憾,支付方式上的局限拦住了笔者对 Setapp 的体验(
我才不会承认还有另一个原因是想蹭完 Ulysses 的免费体验期呢๑乛◡乛๑)。
包管理器之 Fink 和 MacPorts 简述
Fink 移植了 Debian 上的包管理器,它全部采用二进制包分发,因此完全不需要编译。但更新迟缓,包数量较少、版本较低。
MacPorts 则移植了 BSD 上的包管理器。它和 Fink 完全相反,全部采用编译安装,因此安装时间与应用工程量、硬件配置关系密切,笔记本往往会大量耗电并发热且风扇噪声大作。好处则是编译得到的包更稳定,且收录全面。
包管理器之 HomeBrew
HomeBrew 兼得 Fink 和 MacPorts 的特点,对于有已编译的二进制包则直接下载安装,没有的就下载源码进行编译安装。它也可以通过配置参数达到仅二进制包分发或全部编译安装的效果,可以说功能强大。同时支持扩展,最著名且实用的可能是 Caskroom(支持分发 .dmg 或 .pkg 格式的 App 安装包)。
HomeBrew 为了避免 sudo 权限执行,允许了 User 权限访问系统的部分关键目录来完成安装。这是一把双刃剑,需要妥善管理以避免被恶意软件应用。
HomeBrew 虽然支持 App 分发,但 Caskroom 仍有其不足(在更新方面)。如何克服这个问题,在后续的「更新篇」会提供方法,但仍然推荐用户选择直接使用 Caskroom 。
Fink 已经不在考虑范围,对于 HomeBrew 和 MacPorts 的取舍笔者有如下建议:
选择 MacPorts :
- 对于需要大量编译安装软件包的;
- 对于不希望诸如 /usr/local 这样的目录被普通用户修改的;
- 对于需要在 /usr/local 以外安装软件包的。
选择 HomeBrew:
- 普通用户;
- 希望用包管理方式管理 Mac App 的;
- 不一定需要编译安装的。
容器化应用:Docker
Docker 近期的大热离不开其「容器化」特性:部署快速、支持集群、跨平台统一……可对于大部分用户,这用来管理那些 for Mac 的软件显然并不合适。
官网分发
不可否认的是,官网分发绝对是获取更新最快的渠道,但也是最烦人的。除非上述平台都没有的软件,笔者不是很推荐这种方式。同时,也建议谨慎选择不自带升级程序又没有对应分发平台的软件。
下篇预告
平台的选择介绍完后,下一节将会介绍如何配置安装各种环境及工具。