44

我正在使用Arch Linux。我想做同样的事情apt-get source coreutils;是否可以使用Pacman下载源代码?我在手册页中没有找到解决方案。

如何获取包的源代码?

4

3 回答 3

47
  1. pacman -S asp
  2. 说如果你想要Linux命令的源代码find

    1. 找出命令find属于哪个包: pacman -Qo $(which find). 结果是“/usr/bin/find 归 findutils 4.4.2-3 所有”。
  3. asp export findutils

  4. cd findutils
    makepkg -o
    

现在你有了你的源代码。

于 2011-04-23T20:16:26.007 回答
22

2018 年更新:

下面abs描述的工具已被弃用,自 2017 年中期以来,它连同其 rsync 端点已被删除。

asp工具现在提供了类似的功能。更多信息在这里


如前所述,您可以使用 ABS(Arch Build System):

使用 pacman 安装它:

sudo pacman -S base-devel abs

首先,下载 ABS 树:

sudo abs

然后,获取一个特定的包:

sudo abs [package_name]

然后从本地abs树(例如)复制您想要其来源的包/var/abs/core/findutils到另一个目录,例如/home/blabla/abs

然后运行makepkg

  • 如果您只想获取源并且不想构建可以运行的包makepkg -od

  • 否则 run makepkg -s,它将自动处理所有包的依赖项

  • 小心因为 makepkg 会覆盖你的修改,makepkg -e用来构建你的本地资源

如果要安装已构建的软件包,请运行

pacman -U name-of-package.xz
于 2011-11-09T21:26:02.533 回答
3

编辑:由于 ABS 的变化,这个答案已经过时。

您可以从名为 ABS 的 Arch Linux SVN 存储库中获取包源。

先在网上找到包: http ://www.archlinux.org/packages/?q=coreutils

然后,在包详细信息页面,右侧使用 SVN 链接,例如: http ://repos.archlinux.org/wsvn/packages/coreutils/trunk/

在那里,你有一个甜蜜的“下载”按钮,在这种情况下,它会导致: http ://repos.archlinux.org/wsvn/packages/coreutils/trunk/?op=dl&isdir=1

它比apt-get source. 但也许你会在 AUR 上找到一个可以为你完成这项工作的工具,例如 yaourt 支持从源构建并导出它们。

于 2010-12-21T13:03:45.030 回答