Mac包管理工具对比-Fink
2017-03-31 22:42
316 查看
Fink历史较老,据说以前只支持二进制包安装,但在源码编译之风盛行之下,Fink也开始与时俱进,根据我的观察现在的Fink以源码为主,binary包为辅,没用过的人真心体会不到花费将近一个小时的时间通过源码编译安装Fink的感受,看着满屏飞动的文本内心是绝望的,故而我并没有使用官方提供的pkg安装包再次安装,我要把这种感觉深藏到心里,永远的膜拜Fink~
Fink Install
同MacPorts一样,Fink同样需要Xcode的支持,首先安装以下组件:
1. Xcode (app store)
2. xcode-select –install (terminal)
3. xcodebuild -license (terminal)
然后从官网上下载最新版本的tar.gz包执行以下命令
bootstrap文件是一个perl脚本,执行之后会弹出若干个选项,如无特殊要求无需修改直接回车。
上面log截取于脚本执行的中间,从这里开始脚本会下
4000
载若干个源码包,然后编译构建Fink的base system到/sw目录下,随随便便一个小时就过去了。
bootstrap脚本执行完毕之后为了方便在terminal中执行Fink的命令将以下命令添加到
至此Fink就安装成功了。
Fink Uninstall
移除Fink也相当简单,直接删除相关文件和文件夹即可。
并且从
Fink Mechanism
Fink是基于Debian系统移植的包管理工具,因此除了fink命令之外还有熟悉的dpkg/apt工具,本质上来讲fink建立在dpkg/apt之上,即fink下载源码包编译成deb包,然后使用dpkg/apt安装。
参见apt源配置文件
其中靠前的两条语句定义了
其中
通过以下Fink命令安装openssl的log也可以看出Fink的机制。
Fink下载源码包到/sw/src/路径下,然后在/sw/fink/dists目录下解压编译并使用dpkg打包成deb包,随后在使用apt命令安装。
Fink的镜像源配置文件为
Fink Usage
总结:Fink的资源比较少,而且编译时间较长,整个软件的设计理念较传统,比如使用http和rsync方式同步资源,没有GitHub源,在MacPorts和HomeBrew存在的今天确实有点鸡肋,我喜爱传统的东西,所以对于Fink我怀着崇敬的心情将它的主页放入收藏夹,但在实际生产环境中真心用不到。
Fink Install
同MacPorts一样,Fink同样需要Xcode的支持,首先安装以下组件:
1. Xcode (app store)
2. xcode-select –install (terminal)
3. xcodebuild -license (terminal)
然后从官网上下载最新版本的tar.gz包执行以下命令
$ tar xf fink-0.41.1.tar.gz $ cd fink-0.41.1 $ ./bootstrap
bootstrap文件是一个perl脚本,执行之后会弹出若干个选项,如无特殊要求无需修改直接回车。
............. Writing updated configuration to '/sw/etc/fink.conf'... plist is dpkg-bootstrap Bootstrapping a base system via /sw/bootstrap. Scanning package description files.......... Information about 146 packages read in 1 seconds. BOOTSTRAP PHASE ONE: download tarballs. curl --connect-timeout 30 -f -L -A 'fink/0.41.1' -O http://distfiles.master.finkmirrors.net/distfiles/dpkg_1.10.21.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 1643k 100 1643k 0 0 18349 0 0:01:31 0:01:31 --:--:-- 22589 curl --connect-timeout 30 -f -L -A 'fink/0.41.1' -O http://distfiles.master.finkmirrors.net/distfiles/bzip2-1.0.6.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current ......................
上面log截取于脚本执行的中间,从这里开始脚本会下
4000
载若干个源码包,然后编译构建Fink的base system到/sw目录下,随随便便一个小时就过去了。
bootstrap脚本执行完毕之后为了方便在terminal中执行Fink的命令将以下命令添加到
~/.profile中
. /sw/bin/init.sh
至此Fink就安装成功了。
Fink Uninstall
移除Fink也相当简单,直接删除相关文件和文件夹即可。
sudo rm -rf /sw /Applications/Fink/*
并且从
~/.profile中移除之间加载的shell文件。
Fink Mechanism
Fink是基于Debian系统移植的包管理工具,因此除了fink命令之外还有熟悉的dpkg/apt工具,本质上来讲fink建立在dpkg/apt之上,即fink下载源码包编译成deb包,然后使用dpkg/apt安装。
参见apt源配置文件
/sw/etc/apt/sources.list
# Local modifications should either go above this line, or at the end. # # Default APT sources configuration for Fink, written by the fink program # Local package trees - packages built from source locally # NOTE: this is automatically kept in sync with the Trees: line in # /sw/etc/fink.conf # NOTE: run 'fink scanpackages' to update the corresponding Packages.gz files deb file:/sw/fink local main deb file:/sw/fink stable main # Official binary distribution: download location for packages # from the latest release deb http://bindist.finkmirrors.net/10.12 stable main # Put local modifications to this file below this line, or at the top.
其中靠前的两条语句定义了
/sw/fink目录为apt本地源,目录结构如下
localhost:apt ftericsson$ cd /sw/fink localhost:fink ftericsson$ ls 10.12 10.9-libcxx debs dists
其中
dists文件夹里存放通过源码编译之后的deb文件,而
debs文件夹则是各个deb包对应的softlink,因此在Fink架构下使用apt工具安装软件经常会出现没有相应的dependency导致安装失败的情况,原因就在于apt需要使用的deb包还要通过Fink下载源码编译。
通过以下Fink命令安装openssl的log也可以看出Fink的机制。
............ Do you want to continue? [Y/n] y curl --connect-timeout 30 -f -L -A 'fink/0.41.1' -O http://distfiles.master.finkmirrors.net/distfiles/openssl-1.0.2h.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 5150k 100 5150k 0 0 13126 0 0:06:41 0:06:41 --:--:-- 16586 Setting runtime build-lock... dpkg-deb -b /sw/src/fink.build/root-fink-buildlock-openssl100-dev-1.0.2h-1 /sw/src/fink.build dpkg-deb: building package `fink-buildlock-openssl100-dev-1.0.2h-1' in `/sw/src/fink.build/fink-buildlock-openssl100-dev-1.0.2h-1_2017.03.31-23.22.37_darwin-x86_64.deb'. Installing build-lock package... /sw/bin/dpkg-lockwait -i /sw/src/fink.build/fink-buildlock-openssl100-dev-1.0.2h-1_2017.03.31-23.22.37_darwin-x86_64.deb Selecting previously deselected package fink-buildlock-openssl100-dev-1.0.2h-1. (Reading database ... 4583 files and directories currently installed.) .............
Fink下载源码包到/sw/src/路径下,然后在/sw/fink/dists目录下解压编译并使用dpkg打包成deb包,随后在使用apt命令安装。
tar.gz ---> Fink ---> deb ---> dpkg/apt
Fink的镜像源配置文件为
/sw/etc/fink.conf,可直接编辑更改source地址,也可通过
fink configure在交互模式下修改配置。
Fink Usage
fink slefupdate(update itself) fink list; fink info <pkg> fink install <pkg>; fink remove <pkg>; fink update-all(update all pkg) dpkg -l(list installed); dpkg -L <pkg><list files of pkg>
总结:Fink的资源比较少,而且编译时间较长,整个软件的设计理念较传统,比如使用http和rsync方式同步资源,没有GitHub源,在MacPorts和HomeBrew存在的今天确实有点鸡肋,我喜爱传统的东西,所以对于Fink我怀着崇敬的心情将它的主页放入收藏夹,但在实际生产环境中真心用不到。
相关文章推荐
- Mac包管理工具对比-HomeBrew
- Mac包管理工具对比-MacPorts
- 从头来之【MAC下代码管理工具】
- MAC系统下的文件对比工具(Diff merge文件对比,文件merge)
- mac下Launchpad管理工具 最新pj版 Launchpad Manager Yosemite 1.0.7
- 一个项目经理对主流项目管理工具的对比:禅道VS华为软件开发云
- 源代码管理工具的对比(CVS SVN VSS 使用对比 )
- Mac 10.12安装Git管理工具SourceTree
- Mac和PC在工作中管理的对比(1)
- VirtualBox 管理工具修改 UUID(MAC)
- Mac和PC在工作中管理的对比(2)
- 管理问题Mac和PC在工作中管理的对比(2)
- mac系统--Mac上的文件对比工具
- Mac os X 里安装pear安装包管理工具
- 【转】对比SVN学习GIT版本管理工具
- mac上的文件对比工具
- Mac数据库管理工具Navigate Premium 10.0.16 中文版破解版安装详细
- Mac下PHP依赖管理工具Composer下载与安装
- Mac下PHP依赖管理工具Composer下载与安装
- Mac OSX &iOS开发第三方类库管理工具——CocoaPods