如何在Arch Linux上使用Pacman下载源代码?

时间:2010-12-17 07:06:50

标签: archlinux

我正在使用Arch Linux。我想做同样的事情,如apt-get source coreutils;是否可以使用Pacman下载来源?我在man pages找不到解决方案。

如何获取包的源代码?

3 个答案:

答案 0 :(得分:38)

  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
    
  5. 现在你有了源代码。

答案 1 :(得分:21)


2018年更新:

下面描述的abs工具已经deprecated,并且自2017年中期以来它的rsync端点已经被删除。

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


如前所述,您可以使用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

  • 否则运行makepkg -s,然后会自动处理所有包的依赖项

  • 注意becaouse makepkg将覆盖您的修改,使用makepkg -e来构建您的本地资源

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

pacman -U name-of-package.xz

答案 2 :(得分:3)

编辑:由于ABS的更改,此答案已过时。

您从Arch Linux SVN存储库获取包源,称为ABS。

首先在线查找包裹: 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支持从源构建并导出它们。