如何用Arch Linux上的Pacman下载源代码?
我正在使用Arch Linux 。 我想要做同样的事情,像apt-get source coreutils
; 有没有可能用Pacman下载源代码? 我在手册页中找不到解决scheme。
我怎样才能得到一个包的源代码?
如前所述,您可以使用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
:
-
如果您只想获取源代码并且不想构build软件包,则可以运行
makepkg -od
-
否则运行
makepkg -s
,然后它会自动处理所有包的依赖关系 -
注意因为makepkg会覆盖你的修改,所以使用
makepkg -e
来build立你的本地源代码
如果你想安装你build立的软件包,运行
pacman -U name-of-package.xz
-
pacman -S abs
-
pacman -S base-devel
- 以超级用户身份编辑/etc/abs.conf以包含所需的存储库:
vim /etc/abs.conf
或:nano /etc/abs.conf
。 删除!
在适当的仓库前面,例如:REPOS=(core extra community !testing)
- 下载Arch Build System (ABS)树。 以root
abs
运行:abs
。 您的ABS树现在创build在/ var / abs下 。 上面的步骤是一次完成的(不时运行abs
来更新源代码树)。 下一个, -
说你是否想要
find
Linux命令的源代码-
找出命令find的是哪个包:
pacman -Qo $(which find)
。 结果是“/ usr / bin / find被findutils 4.4.2-3所有”。 -
cp -r /var/abs/core/findutils /home/yourname/a_directory
-
-
cd /home/yourname/a_directory makepkg -o
现在你有你的源代码。
编辑:由于ABS的变化,这个答案已经过时了。
您可以从Arch Linux SVN仓库获取名为ABS的软件包源代码。
首先在网上find包: http : //www.archlinux.org/packages/?q=coreutils
然后,在软件包详细信息页面的右侧使用SVN链接,例如: http : //repos.archlinux.org/wsvn/packages/coreutils/trunk/
在那里,你有一个甜蜜的“下载”button,在这种情况下,它会导致: http : //repos.archlinux.org/wsvn/packages/coreutils/trunk/?op=dl&isdir=1
这比apt-get source
复杂一点。 但是也许你在AUR上find了一个能为你做好工作的工具,例如yaourt支持从源头上构build和导出它们。