MacPorts 为您的 Mac 带来了最好的开源软件

可以肯定地说,苹果生态系统将“应用商店”带入了主流。 在 iPhone 推出之前,购买数字软件通常充满了尝试,例如向开发者网站提交付款、通过电子邮件等待许可证密钥以及协商退款。

考虑到 Apple 的做法,您会认为免费和开源软件 (FOSS) 在 Mac 上很少见,这是可以原谅的。 实际上,Mac 是许多社区最佳免费工具的绝佳宿主。

MacPorts 是所有这些出色软件的“应用商店”。 让我们来看看它是如何工作的。

什么是 MacPorts?

MacPorts 是 Mac 的软件包系统。 它在功能和使用上与 Red Hat 软件包管理 (RPM) 系统和高级软件包工具 (APT) 非常相似,后者在 Linux 上安装 DEB 软件包。 实际上,它源于 FreeBSD 的 Ports 系统。

你知道 Mac OS X 是作为一个名为 Darwin 的 FreeBSD 的分支开始的吗? 即使在今天,macOS 也有坚实的基于 UNIX 的基础。 这使开发人员可以很容易地创建将在 Mac 上运行的免费软件应用程序的“端口”。

MacPorts 是该软件以及充当“商店”或安装程序的应用程序的集合。 在 FreeBSD 世界中,ports 系统帮助用户从源代码编译软件:

  1. 首先,您获取 端口集合,这是描述应用程序以及如何构建它们(包括它们的依赖项)的大量配置。 这些存储在您的“/usr/ports”目录中,每个端口都有一个子目录。
  2. 然后导航到应用程序的目录并发出“make install”命令。 这 生成文件 从头开始构建应用程序:下载源代码,编译并配置它。 下图显示了 KDE 的 Amarok 音乐播放器的端口内容。 您甚至可以使用“make world”命令从源代码重新构建整个系统。

MacPorts 遵循这种模式。 当您选择一个应用程序时,系统将下载、编译并在您的 Mac 上安装它(同样,包括依赖项)。

有哪些类型的端口可用?

MacPorts 存储库充满了您在 Linux 和相关操作系统上可以找到的所有相同的优秀开源应用程序。 如果您熟悉 Linux,那么您最喜欢的应用程序很有可能在 19,000+ 可用. 不仅如此,它们还以非常类似于 Unix 的方式安装和维护,但仍与 macOS 很好地集成。

您会发现一些应用程序与商业应用程序一样好或更好,例如 Emacs 和 VIM 文本编辑器。 其他人可以说没有那么好,但仍然是免费的。

如果您正在寻找特定程序,请尝试浏览上面的链接或使用“端口搜索”命令(稍后会详细介绍)。 一些可用的软件包括:

  • 服务器: 标准 FOSS 服务器堆栈,包括 AMP (Apache Web 服务器、MySQL/Maria 数据库服务器和 PHP/Python)、SSH、SAMBA 和 BIND DNS 服务器可用。
  • GNOME/KDE 软件: 如果您是桌面 Linux 用户,请从 325 个 GNOME 端口和 274 个 KDE 端口中进行选择。 从 GNOME 的 GnuCash 到 KDE 的 Amarok,您不会错过任何东西。 包括 XFCE 和 NextStep 在内的其他桌面也有展示。
  • 文本处理: 如果您正在编码、进行技术写作,或者您只是享受以纯文本方式工作所提供的禅宗般的体验,那么您将得到保障。 上述 Emacs 和 VIM 等文本编辑器可用于创作,而 Multimarkdown、DocBook 和 LaTeX 等应用程序和系统则有助于以漂亮的格式发布它。
  • 编程语言: Python、PHP、Ruby 等标准都被考虑在内,CoffeeScript、Lua 和 Kotlin 等更新或更专业的语言也是如此。 其他工具,如开发环境(例如 Mac 的 Qt Creator)和编译器(gcc)也存在。

安装和设置 MacPorts

由于 MacPorts 将在您的机器上编译软件,因此您需要一些开发工具。 不用担心,该应用程序将完成所有繁重的工作,因此您不必学习任何书呆子语(除非您愿意,在这种情况下从这里开始)。 您首先需要安装 Xcode,这是从 App Store 中简单抓取的。

接下来,打开终端应用程序并运行以下命令,这将弹出一个对话框供您下载并安装 Xcode 的命令行工具:

xcode-select --install

获取 MacPorts 前端就像从网站下载适用于您的 macOS 版本的应用程序(如下图所示)一样简单 安装页面.

它以 PKG 文件的形式出现,因此您会看到熟悉的向导弹出来引导您完成安装。 你可以点击 继续 通过这些屏幕,因为你真的没有选择。

安装后,您将不会像普通的 Mac 程序那样在“应用程序”文件夹中看到任何内容。 这 端口搜索 应用程序是一个命令行程序,所以你需要启动 终端 (或您最喜欢的基于 Mac 的终端应用程序)开始。

首先要做的是更新端口集合(同样是可用应用程序的描述):

sudo port selfupdate

安装您的第一个端口

更新后,您可以开始寻找要安装的应用程序。 在终端中,您可以使用 端口搜索 命令。 假设我们想找到一个老式的双窗格文件管理器。 App Store 中的类似项目要么是商业项目,要么是应用内购买项目。 让我们尝试使用以下命令找到一个免费的:

port search 'file manager'

挑选这些结果,您会发现 Krusader。 这个超级有用的 Linux 工具确实是双窗格的,并增加了文件同步和存档管理等额外功能。 要安装它,请运行以下命令:

sudo port install krusader

您需要输入您的 admin 密码,因为您正在运行“sudo” 命令。安装将需要一段时间。(注意所有依赖项,超过 100 个,如下图所示。)

在你跑去喝杯咖啡之前,花点时间看看你的应用程序的自动下载和构建。 看起来终端窗口充满了很多技术喋喋不休(事实上,这些构建的输出是 幸运地 袖珍的)。 但是,如果您仔细观察,很容易弄清楚每个端口发生了什么。

  1. 首先,MacPorts 确定 哪个顺序 它应该根据它们的依赖关系安装端口。
  2. 对于每一个,MacPorts 都会下载它的 源代码存档 从服务器。
  3. 它还将通过以下方式验证它是否拥有正确的 比较存档的校验和 根据端口描述。
  4. 那么,它 解包 端口的源代码。
  5. 如果有 配置脚本 在构建之前运行,接下来是那些。
  6. 构建软件涉及 编译所有源代码 进入Mac可以执行的东西。
  7. 构建完成后,生成的可执行代码是 放在适当的目录中, 然后 注册应用程序 与系统。
  8. 最后,MacPorts 将 清理 所有的源代码。 下图中为 Krusader 显示了这些每个端口的步骤。

现在,您将在 Applications 中找到一个名为“MacPorts”的新子文件夹,其中包含您的应用程序(在本例中,Krusader 在“KDE4”文件夹下)。 启动它并将其粘贴到 Dock 上,就像任何其他应用程序一样。 您也可以使用 Spotlight 启动它。

更新和删除您的端口

要更新您的端口集合,请使用我们一开始使用的命令(这也将更新 MacPorts 应用程序本身):

sudo port selfupdate

然后,您可以使用以下命令列出任何过时的端口:

port outdated

要实际执行这些升级,请使用以下命令:

sudo port upgrade

升级 子命令将执行相同的步骤 安装,但它会覆盖旧版本。 如果您试用了一个应用程序并想要删除它, 卸载 子命令可以解决问题(Pallet,如下所示,是我安装的 MacPorts GUI,它似乎已损坏):

sudo port uninstall pallet

使用 MacPorts 获得 macOS 开源优势

MacPorts 项目解锁了许多关于开源软件的伟大之处,包括社区。 您可以以易于安装和维护的格式完全访问所有代码。

你怎么看? 命令行界面会让你失望吗? 到目前为止,您安装了哪些应用程序? 在下面的评论中让我们知道您的想法!