2009-09-02 65 views
5

我正在考虑在我的Mac上安装MacPorts,以便我可以轻松访问* nix开发工具/应用程序。但是,我想知道是否有任何风险。我不时会遇到不可避免的兼容性问题(听说Snow Leopard + MacPorts有问题),但我不希望我的“核心”Mac系统的稳定性受到影响。我也很好奇,如果MacPorts增加任何重大的安全风险。使用Macports有什么风险?

感谢帮助!

回答

7

与任何普通程序相比,MacPorts对其安装使用完全不同的目录 -/opt/local - 。我从来没有见过它会影响系统的稳定性(我甚至不知道它会如何),并且我已经将它安装在许多计算机上好几年了。

+0

@Chuck re“它会怎样”,我们的故事涉及MacPorts安装的rsync和tar作为其他答案的依赖关系。 – 2009-09-17 20:03:22

1

很好 - 我使用MacPorts - 它不会覆盖Path中的任何现有应用程序。我一直在使用它多年。但是,我完全打破了我的Mac端口安装 - 我现在无法安装或自动更新。但它只阻止我安装任何新的端口 - 它没有影响任何现有端口的稳定性。

4

我现在使用Darvin/MacPorts多年了。我广泛使用它们。在一次重大更新之后一年一次,以一种更容易删除它们并重新开始的方式突破端口。所以这正是我所做的。我想花2-3个小时重新安装它们是很好的投资,考虑到端口节省了多少时间来处理所有开源软件。删除端口是不是虽然,除非您使用此命令一个简单的任务:

sudo rm -rf \ 
/opt/local \ 
/Applications/MacPorts \ 
/Applications/DarwinPorts \ 
/Library/Tcl/macports1.0 \ 
/Library/Tcl/darwinports1.0 \ 
/Library/LaunchDaemons/org.macports.\* \ 
/Library/StartupItems/DarwinPortsStartup \ 
/Library/Receipts/MacPorts*.pkg \ 
/Library/Receipts/DarwinPorts*.pkg 
+1

嘎!四年来使用fink(严重!),从来没有这样的事情发生。过来好,圣洁的一面。 – dmckee 2009-09-02 01:18:33

+2

这是一个偏好问题。我也使用了fink,但最终决定了端口。 – dimus 2009-09-02 02:15:34

+1

我觉得Fink比MacPorts更混乱。 – Vince 2009-09-02 02:16:59

1

MacPorts的可以玩一些有趣的游戏与PATH变量,优先于应具有优先安装系统程序。像python和ruby之类的东西会变得很混乱,如果有什么依赖于某个特定版本的话。尽管这通常不会造成永久伤害。大多数问题都可以通过卸载macports并恢复路径env变量来解决。

+3

这很简单。 MacPorts在/ opt/local /(在别处查看例外情况)中安装*接近*的所有内容,并修改shell .profile以在$ PATH的前面插入/ opt/local/bin。其目的是确保在默认情况下,各种MacPorts软件包安装的用户命令优先于Apple提供的具有相同名称的命令执行。通常这就是你想要的。如果没有,你可以修改你的$ PATH或者使用你想要的版本的绝对路径。不过,请注意这些差异:例如,我已被隐式安装的MacPorts rsync烧毁。 – 2009-09-02 06:54:15

+0

@Ned正如你所说,没有什么可担心的*只要你记得MacPorts安装与系统名称相同的公用程序*。诀窍是它第一次发生在你身上。看看我自己的故事,并感谢关于rsync的警告,我会在使用它时注意。 – 2009-09-17 19:54:12

2

你看过Xcode IDE附带的[相当长的]工具列表吗?例如Snow Leopard,它包括gcc 4.0,4,2,llvm-gcc和Clang。

当你这样做的Xcode的安装,有一个可选的安装将填充很多标准的UNIX-Y开发工具到/ usr/bin中/等等......他们通常发现/开发/斌/因为Xcode开始支持移动开发工具的能力。多年来,我个人对Unix开发有着长期的背景,包括跨平台工作,并且一直是一个狂热的Fink,然后是MacPorts,用户。在干净安装Leopard时,我从来没有想过要安装Fink/MacPorts,并且从此没有必要。

MacPorts和Fink都很棒。如果你确实需要各种Unix-y goop,那么任何一个都会很好。不过,我只是想确保你都知道的Unix-Y的发展潜力丰满附带的Mac OS X.

(与系统工具坚持提供一些额外的优势,你的代码是别人更容易和开发者工具已经被优化/修补/固定的Mac OS X的最佳支持)

1

我不知道对于这个目前的情况,但在过去,我一直在以下情况下焚烧。

  1. 苹果希望让生活变得轻松,并提供与前Mac OS用户的兼容性,修改tar的系统版本以编码dat tar文件中的叉子或其他Mac特定的元数据。他们正确地认为,这只是“另一个文件系统”。编码没有什么奇特的(类似于用于FAT32文件系统的编码),但它是一个很好的接触。
  2. MacPorts想要控制使用MacPorts相关事物时使用的tar版本(可能修复某些系统提供的版本中存在的错误),将GNU tar安装为某些软件包的依赖项。
  3. MacPorts tar首先在$ PATH中,用于需要Apple tar行为的地方。
  4. 备份显示为毫无价值。

虽然我仍在使用MacPorts。我只是在使用焦油时注意。 MacPorts是如此之大的倍频器,我离不开它。