Fink:把 Unix 开源软件带到 macOS 的包管理器 #
Fink 是什么? #
Fink 是一套面向 macOS(Darwin)平台的 Unix 开源软件发布与包管理系统,由志愿者团队维护,目标是把 Unix 世界丰富的自由软件完整地带到苹果系统上。
它通过"移植"的方式修改 Unix 软件,使其能够在 Mac OS X 上编译和运行,并为这些软件提供统一的下载、安装与升级渠道。Fink 借助 Debian 项目中成熟的 dpkg、apt-get 等工具实现强大的二进制软件包管理,用户既可以下载预编译好的二进制安装包快速部署,也可以从源代码自行构建一切。对于需要在 Mac 上使用 GNOME、KDE、GIMP、Groff 等传统 Unix 工具的开发者和高级用户来说,Fink 提供了一条与原生命令行环境无缝衔接的软件获取路径。
Fink 有哪些亮点特色? #
- 一站式 Unix 软件移植:Fink 项目把 Unix 平台上的开放源码软件批量移植到 Darwin 和 Mac OS X,用户在 Mac 上即可直接获取并使用原本只在 Linux/BSD 上运行的经典工具与桌面环境。
- 基于 Debian 的成熟包管理:内置
dpkg与apt-get等 Debian 生态工具,提供依赖解析、版本管理、批量升级等完整的二进制软件包管理能力,无需自行处理复杂的依赖关系。 - 二进制与源码双模式自由选择:官方明确支持"下载预编译好的二进制安装包"或"从源代码自己构建一切"两种方式,追求效率的用户可直接安装二进制包,追求可控性的用户则可自行编译。
- Fink Commander 图形界面:随发行版附带 Fink Commander,为不习惯命令行的新用户提供简单易用的 GUI,通过 Binary/Source 菜单即可完成软件包的搜索、安装与更新。
- 紧跟新版 macOS 与 Apple Silicon:主开发分支已支持 macOS 11 至 macOS 13,覆盖 Intel(x86_64)以及 Apple M1、M2(arm64)芯片,同时继续为 macOS 10.9–10.15 等版本提供源码发行版。
- 完全免费且开源:作为志愿者驱动的开源项目,Fink 的源码托管在 SourceForge 与 GitHub,任何人都可以自由下载、使用、反馈问题甚至提交新的软件包。
- 文档与多语言支持完善:官网提供《用户指南》《打包手册》《常见疑问(F.A.Q.)》等系统文档,网站本身提供中文(简)、English、Français、Deutsch、Italiano、日本語、Русский、Español、Português 等多语言版本。
- 软件库持续更新:官方首页持续公示近期软件包更新动态(如 groff-1.24.2、libtre5-shlibs-0.9.0、elinks-0.20.0 等),保证软件库的活跃度与可用性。
免费下载 Fink #
以下为官方提供的各平台安装包,点击链接即可下载。
| 文件名 | 描述 | 大小 | 下载 |
|---|---|---|---|
| Fink-0.9.0-Intel-Installer.dmg | Intel 处理器(x86)版二进制安装磁盘映象 | 13.8 MB | 夸克网盘 |
| Fink-0.9.0-PowerPC-Installer.dmg | PowerPC 处理器版二进制安装磁盘映象 | 13.0 MB | 夸克网盘 |
说明:上述二进制安装包主要面向 Mac OS X 10.5 用户。10.4 用户可使用 Fink 0.8.1,10.3 用户可使用 Fink 0.7.2,更早系统请参考官网"下载"页面的版本对应关系。10.6 及更高版本的系统目前没有官方二进制安装包,需要使用源码安装方式。
Fink 如何使用? #
首次使用 Fink,建议按照官方"快速上手"指南依次完成以下步骤:
- 安装 Fink 并初始化环境:完成安装后,安装程序会自动打开终端并运行
pathsetup.command脚本,在修改你的 shell 配置文件前会征求你的同意。每个用户账号都应登录后各运行一次该脚本,以便正确设置环境变量。 - 刷新软件包索引:打开一个新的终端窗口,运行
fink scanpackages; fink index,或使用 Fink Commander 的Source->scanpackages与Source->Tools->index菜单完成同样的操作。 - 更新 Fink 自身:这一步非常关键,可以确保读取到软件发布后可能出现的重要变更。命令行方式为
fink selfupdate(提示选择时推荐选择(1) rsync);图形界面方式为Source->Selfupdate;也可以使用sudo apt-get update; sudo apt-get install fink。 - 安装你需要的软件包,有三种常用方式:
- 图形界面:在 Fink Commander 中选择软件包,然后使用
Binary->Install(二进制安装)或Source->Install(源码编译安装); - apt-get:例如
sudo apt-get install gimp即可安装 GIMP,速度快、无需编译,但并非所有软件包都提供二进制版本; - fink 命令:例如
fink install gimp,会获取并编译源代码形式的软件包,需要使用 Xcode 开发工具。
- 图形界面:在 Fink Commander 中选择软件包,然后使用
- 日常维护:定期执行
fink selfupdate与fink index -f保持软件包描述文件与补丁为最新,再用fink update-all或 apt-get 升级已安装的软件。
如果你更习惯图形操作,Fink Commander 提供了 Binary 和 Source 两套菜单,分别对应二进制安装与源码编译,是新手或不愿意使用命令行的用户的推荐选择。
Fink 的常见问题? #
安装 Fink 之前必须先装什么?
必须先安装 Xcode。官方明确要求 "Xcode must be installed before Fink"。你至少需要安装对应系统的 Command Line Tools(可通过终端运行 xcode-select --install 安装,或从 Apple 官网下载)。如果你需要使用带图形界面的应用程序(GUI 类软件包),还需要额外安装 XQuartz 2.8.5 或更高版本(旧系统对应更早的 XQuartz 版本)。
Fink 目前支持哪些 macOS 版本?
官方源码发行版目前覆盖 macOS 10.9 至 10.15,并继续在更早的 OS X 版本上运行(但官方不再为这些老版本提供更新)。macOS 11 至 macOS 13 的支持正在开发中,可通过 Git 获取主开发分支代码进行安装,覆盖 Intel(x86_64)与 Apple M1/M2(arm64)平台。
为什么 Fink 不安装在 /usr/local?为什么选择 /opt/sw 或 /sw?
这是 Fink 有意为之的设计选择。将软件安装在独立的目录(官方文档中默认位置为 /sw,FAQ 中亦提及 /opt/sw)可以避免与系统自带工具、其他来源的软件产生冲突,也便于整体卸载和版本管理。相关讨论可参见官网 FAQ 的 1.4 与 1.5 节。
运行 Fink 或其安装的软件时提示 "command not found" 怎么办?
这通常是因为环境变量尚未设置或未生效。请运行 /sw/bin/pathsetup.sh 来配置环境,然后打开一个全新的终端窗口,让新的环境设置生效。这一问题在 FAQ 第 5.16 条中有专门说明。
升级 Fink 后仍然看不到新软件包,是什么原因?
在执行 rsync 或 CVS selfupdate 之后,还需要重新生成索引(如 fink index -f)才能看到最新的软件包描述。另外,并非所有软件包都有二进制版本,部分软件包只存在于 unstable 代码树中,需要显式启用 unstable 或改用源码安装方式。
我想要的软件包不在 Fink 里,可以请求添加吗?
可以。你可以在 SourceForge 的软件包提交跟踪器中请求一个尚未包含在 Fink 中的软件包(需要先免费注册 SourceForge 账号)。如果你有打包经验,也可以参考官方的《打包手册》与《打包教程》,自己制作软件包后提交。
遇到问题时可以去哪里求助?
官方推荐三条路径:查阅网站"文档"与"常见疑问"章节;在 fink-beginners 或 fink-users 邮件列表中提问(发帖前建议先搜索历史归档);或加入 Libera.chat IRC 网络上的 #fink 频道与其他用户和开发者实时交流。提交问题报告时请附上 Fink 版本、macOS 版本、相关软件包版本、失败的命令及错误信息。
Fink 如何安装? #
macOS 平台(二进制安装,适用于 Mac OS X 10.5) #
- 下载与你机器架构相匹配的安装磁盘映象:Intel 用户选择
Fink-0.9.0-Intel-Installer.dmg,PowerPC 用户选择Fink-0.9.0-PowerPC-Installer.dmg。 - 双击
.dmg文件装载磁盘映象。 - 双击映象中的
Fink 0.9.0 Installer.pkg,按照屏幕提示完成安装。 - 安装的最后阶段会自动打开终端并运行
pathsetup.command脚本,脚本在编辑你的 shell 配置文件前会请求你的同意,运行完毕后关闭终端窗口即可。 - 如果在安装过程中出现错误,可以重新运行安装卷中的
pathsetup.command,或手动执行/sw/bin/pathsetup.sh。请注意每个用户账号都应各自登录并运行一次该脚本。 - 安装完成后,打开新的终端窗口运行
fink scanpackages; fink index即可开始使用。
macOS 平台(源码安装,适用于 macOS 10.4 及以后) #
- 先安装对应的 Xcode 或 Command Line Tools。10.9–10.15 用户可在终端运行
sudo xcode-select --install;10.7–10.8 用户需安装完整版 Xcode 并在偏好设置的 Downloads 标签页中安装命令行工具。 - 如果安装了完整版 Xcode,建议运行
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer,并执行sudo xcodebuild -license接受许可协议,以保证 fink 的构建用户可以正常工作。 - 下载对应版本的源码包:macOS 10.9–10.15 使用
fink-0.45.6.tar.gz;OS X 10.7–10.8 使用fink-0.38.7.tar.gz;OS X 10.6 使用fink-0.36.5.tar.gz;OS X 10.5 使用fink-0.34.10.tar.gz;OS X 10.4 使用fink-0.30.2.tar.gz。 - 在终端中解压源码包,例如
tar -xvf fink-0.45.6.tar.gz,然后进入解压后的目录执行./bootstrap开始引导安装。如果想安装到非默认位置,可使用./bootstrap /path指定目录。 - 安装完成后运行
/sw/bin/pathsetup.sh配置环境,再依次执行fink selfupdate-rsync与fink index -f(或使用 git 方式)下载软件包描述文件与补丁。 - 请注意,源码包内的 README、INSTALL、USAGE 文档提供了完整说明,建议安装前仔细阅读——Fink 并不是"一键完成"的工具。
macOS 11 至 macOS 13(开发中支持) #
- 先安装系统对应的 Xcode 版本:macOS 11 使用 Xcode 13 至 13.2.1;macOS 12 使用 Xcode 13.3 至 14.2;macOS 13 使用 Xcode 14.3 至 15.0。Xcode 可从 App Store 免费下载,或至少安装 Command Line Tools。
- 在终端中依次运行以下命令从 Git 获取源码:
mkdir -p ~/src cd src git clone https://github.com/fink/fink fink-upstream cd fink-upstream - 如果是全新安装,运行
./bootstrap;如果是升级已有的 Fink 安装,则运行./inject.pl。 - 如需 X11 支持,请从 Xquartz.org 安装 XQuartz 2.8.5 或更高版本。由于该版本支持仍在开发中,官方提示完整发行版的工作仍在进行。
Fink 如何卸载? #
由于 Fink 采用独立目录安装的设计,卸载主要依靠手动清理,具体流程如下:
- 移除软件包(可选但推荐):在终端中先使用
fink remove <软件包名>或 apt-get 的删除命令逐个移除已安装的软件包,避免直接删除目录留下散落的配置。 - 删除安装目录:Fink 默认安装在
/sw(部分文档与旧版本使用/opt/sw),删除整个安装目录即可移除 Fink 主体及其安装的所有软件。删除前请确认目录中没有你需要保留的自定义文件。 - 恢复 shell 环境配置:安装时运行的
pathsetup.command/pathsetup.sh会在你的 shell 配置文件(如.bashrc、.zshrc等)中写入与环境变量相关的设置。卸载时需要手动编辑这些文件,删除由 Fink 添加的相关行。 - 清理索引与缓存目录:如
/sw/var或用户目录下的相关缓存仍在,可一并删除。 - 参考官方说明:官网《常见疑问(F.A.Q.)》第 5 节"安装,使用和维护 Fink"中的第 5.6 条"我怎么彻底反安装 Fink?"提供了官方卸载指引,建议操作前先行查阅,以免误删系统文件。
卸载完成后,请打开一个新的终端窗口以确认环境变量已恢复,避免残留配置影响后续使用。
