【问题标题】:How to download source code with Pacman on Arch Linux? [closed]如何在 Arch Linux 上使用 Pacman 下载源代码? [关闭]
【发布时间】:2010-12-17 07:06:49
【问题描述】:

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

如何获取包的源代码?

【问题讨论】:

标签: archlinux pacman-package-manager


【解决方案1】:
  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
    

现在你有了你的源代码。

【讨论】:

  • 如果您只想要一个包,您可以执行abs core/wpa_supplicant 之类的操作,在其中添加包存储库。如果您不想使用sudo,也可以使用ABSROOT=/tmp/ abs core/wpa_supplicant
  • 感谢您提供关于不使用 sudo 下载软件包的提示(这可以通过 apt-get 源代码实现)。顺便说一下,如果您要查找 find,请在步骤 5.1 中输入 pacman -Qo find。我个人更喜欢使用pkgfile find。试试看吧。
  • 您可以使用makepkg -o 只下载和修补源代码,而不是构建while 包!
  • 仅供参考,就我而言,我尝试下载 python 源,但当 makepkg -o 时我得到了 Missing dependencies。使用makepkg -o -i 跳过依赖检查。
【解决方案2】:

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,它将自动处理所有包的依赖项

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

如果你想安装你构建的包,运行

pacman -U name-of-package.xz

【讨论】:

  • makepkg -i 也将安装该软件包;也可以使用makepkg -ei 编译 src 中的任何内容并一次性安装后续包
【解决方案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 支持从源构建和导出它们。

【讨论】:

  • 我只是忘了提到上面提到的 ABS 还带有用户空间工具,因此您实际上可以自动检查所有包等。但是对于单个包来说它是多余的。
  • 回购网站现在只是空白。
  • 对,但是包详情页的链接还在,现在可以在这里找到包:projects.archlinux.org/svntogit/packages.git/tree
  • 不过,我看不到一个 Download 链接。我能看到的唯一方法是通过单击plain 链接单独下载每个文件。
  • 正如已经在此处和archlinux.org/news/deprecation-of-abs 中解释的那样,abs 已被替换为有利于新的实用程序 asp 下载特定包的源代码,您可以尝试以下方法(它在一秒钟前对我有用,但我不能确认它总是会): sudo pacman -S asp; asp结帐纳米; cd repos/core-x86_64/; makepkg;h
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-01-28
  • 2017-01-24
  • 2015-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多