【发布时间】:2010-12-17 07:06:49
【问题描述】:
我正在使用Arch Linux。我想做同样的事情,比如apt-get source coreutils;是否可以使用Pacman 下载源代码?我在man pages 中没有找到解决方案。
如何获取包的源代码?
【问题讨论】:
标签: archlinux pacman-package-manager
我正在使用Arch Linux。我想做同样的事情,比如apt-get source coreutils;是否可以使用Pacman 下载源代码?我在man pages 中没有找到解决方案。
如何获取包的源代码?
【问题讨论】:
标签: archlinux pacman-package-manager
pacman -S asp说要不要Linux命令的源码find
find属于哪个包:
pacman -Qo $(which find)。结果是
“/usr/bin/find 归 findutils 4.4.2-3 所有”。asp export findutils
cd findutils
makepkg -o
现在你有了你的源代码。
【讨论】:
abs core/wpa_supplicant 之类的操作,在其中添加包存储库。如果您不想使用sudo,也可以使用ABSROOT=/tmp/ abs core/wpa_supplicant。
find,请在步骤 5.1 中输入 pacman -Qo find。我个人更喜欢使用pkgfile find。试试看吧。
makepkg -o 只下载和修补源代码,而不是构建while 包!
python 源,但当 makepkg -o 时我得到了 Missing dependencies。使用makepkg -o -i 跳过依赖检查。
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 中的任何内容并一次性安装后续包
编辑:由于 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 支持从源构建和导出它们。
【讨论】:
Download 链接。我能看到的唯一方法是通过单击plain 链接单独下载每个文件。