Linux 中与 MacPorts 对应的版本是什么?

Linux 中与 MacPorts 对应的版本是什么?

我是 Linux 新手(但是是长期的 MacOSX 用户。)我有一个由两部分组成的问题,但首先需要了解一些背景知识...

我从源代码构建了 MacPorts。我将其 ./configured 为将自身、所有端口和所有端口依赖项安装到 ~/macports 而不是 /opt/local。这样,我不需要以 root 身份运行 port 命令,而且我所做的一切(或希望我没有做过的一切)都会进入我的主目录,而不是进入系统本身。

因此,作为 Mac 上 MacPorts 的粉丝,我有两个问题:

1:Linux 世界中与 MacPorts 相当的东西是什么?

2:是否也可以从源代码编译 Linux 等效版本,以便我可以以非特权方式运行它,同时还可以控制端口及其依赖项的安装位置?

谢谢,-詹姆斯

答案1

大多数发行版都带有自己的包管理系统,可以为您提供类似的功能。但是,如果您想要与 MacPorts 非常相似的东西,我建议您使用带有 portage 的 Gentoo Linux。

答案2

取决于分布

  • rpmyum由redhat 衍生系统扩展
  • dpkgapt在 debian 衍生系统上进行了扩展但使用aptitude
  • ...

一般术语是“包管理器”或“包管理系统”


在上面列出的两种情况下,底层包管理器(rpmdpkg)提供了基本的包操作,而下一层(yum和`apt)提供了自动依赖处理和某种冲突解决。

答案3

根据您的发行版,包管理器将允许或不允许您从源代码重建包和/或在自定义目录中安装二进制文件。
您可以查看www.pkgsrc.org它是 netbsd 端口系统,可以在 Linux 上运行(甚至在 mac 上也是 x!)。它与 macports 非常相似(cd ; ./configure; make; make install)。

答案4

回答第 2 点 - Macports 本质上为手动构建过程提供了一个非常好的包装器 [下面],它使用自己的配置文件为 ./configure 值提供值,如 --prefix、--libdir、--includedir。您很幸运,发现 MacPorts “在 Linux 上正常工作”。http://www.macports.org/install.php类似地,你可以让 *BSD 的 Ports 系统之一在 Linux 上运行,因为它们、MacPorts 和 Gentoo Portage 都是极其相似的工具 [afiak 都源自一个基础产品]

否则,您最终可能需要自己手动从源代码构建东西,无论如何,这可能是更简单的选择。它通常是一个非常简单的过程:

download & unpack source
./configure --prefix=/my/preferred/app/base/
make && make install

如上所述,Gentoo 的 Portage 与 Macports 极为相似,但它是系统软件包工具,因此不会 [在对您的环境进行大量定制的情况下] 构建到您自己的自定义应用程序主页或作为您的首选用户。话虽如此,已经有人努力让 Portage 在其他发行版上运行,具有讽刺意味的是,这项工作最突出的版本是适用于 OS X 的 Gentoo

您可能能够获得适合您的发行版的系统工具。 Rpm 至少 [SLES 软件包工具最终都在其顶部运行或 RPM] 有一个 --prefix 选项,但并非所有软件包都允许您将它们安装在其首选位置以外的任何地方。

相关内容