我是一个Linux新手(但是一个长期的MacOSX用户)。我有一个两部分的问题,但它需要一个小的背景第一…
我从源码build立MacPorts。 我configuration它将自己,所有端口和所有端口依赖关系安装到〜/ macports而不是/ opt / local。 这样我就不需要root来运行port命令,我所做的一切(或者希望我没有做的)都进入我的主目录,而不是进入系统本身。
所以,作为Mac上MacPorts的粉丝,我有两个部分的问题:
1:Linux世界中的MacPorts有什么相同之处?
2:Linux的等价物是否也可以从源代码编译,这样我就可以运行它的非特权,还可以控制端口及其依赖关系的安装位置?
谢谢,詹姆斯
大多数发行版都会附带自己的软件包pipe理系统,为您提供类似的function。 如果你想要的东西和MacPorts非常相似,我build议你使用Gentoo Linux。
取决于分配
yum扩展rpm dpkg在debian派生系统上通过apt扩展,但使用aptitude 一般的术语是“包pipe理器”或“包pipe理系统”
在上面列出的两种情况下,下层软件包pipe理器( rpm和dpkg )提供了基本的软件包操作,下一层( yum和`apt)提供了自动的依赖关系处理和某种冲突解决方法。
根据您的发行版,软件包pipe理器将允许或不允许您从源代码重build软件包和/或在自定义目录中安装二进制文件。
你可以看看www.pkgsrc.org它是netbsd端口系统,它可以在Linux上运行(甚至在Mac上也是x!)。 这与macports非常相似(cd; ./configure; make; make install)。
GUI包pipe理器
SLES / OpenSUSE的命令行包pipe理器: Zypper
要回答第2点 – Macports本质上提供了一个非常好的包装手工构build过程[下面]使用自己的configuration文件来提供./configure值的值,如–prefix, – libir, – includedir。 你很幸运,发现MacPorts在Linux上“正常工作”。 http://www.macports.org/install.php类似地,你可能能够得到* BSD的Ports系统之一在Linux上工作,因为它们,MacPorts和Gentoo Portage都是非常类似的工具[afiak都来自一个基地产品]
否则,你可能最终只需要从源手动构build东西,这可能是更容易的选项。 它通常是一个非常简单的过程:
download & unpack source ./configure --prefix=/my/preferred/app/base/ make && make install
如上所述,Gentoo的Portage与Macports非常相似,但是它是系统包工具,因此不会[无需重大定制您的环境]构build到您自己的自定义应用程序主页或作为您的首选用户。 也就是说,已经做了一些工作来让Portage在其他发行版本上工作,具有讽刺意味的是,这个工作最突出的版本是Gentoo For OS X
您可能可以获取系统工具以使发行版正常工作。 至less[SLES包装工具最终运行在顶部或RPM]上有一个–prefix选项,尽pipe并不是所有的软件包都允许你在他们的首选位置以外的任何地方安装它们。
有一些发行版是YUM,其他版本是APT。使用Ubuntu Linux或Linux Mint。 他们使用APT。 这是一个伟大的包pipe理器发行。