我正在使用Arch Linux。我想做同样的事情,如apt-get source coreutils
;是否可以使用Pacman下载来源?我在man pages找不到解决方案。
如何获取包的源代码?
答案 0 :(得分:38)
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
现在你有了源代码。
答案 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支持从源构建并导出它们。