如何用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 
  1. pacman -S abs
  2. pacman -S base-devel
  3. 超级用户身份编辑/etc/abs.conf以包含所需的存储库: vim /etc/abs.conf或: nano /etc/abs.conf 。 删除! 在适当的仓库前面,例如: REPOS=(core extra community !testing)
  4. 下载Arch Build System (ABS)树。 以root abs运行: abs 。 您的ABS树现在创build在/ var / abs下 。 上面的步骤是一次完成的(不时运行abs来更新源代码树)。 下一个,
  5. 说你是否想要find Linux命令的源代码

    1. 找出命令find的是哪个包: pacman -Qo $(which find) 。 结果是“/ usr / bin / find被findutils 4.4.2-3所有”。

    2. cp -r /var/abs/core/findutils /home/yourname/a_directory

  6.  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和导出它们。

    Interesting Posts