2009-01-11 94 views

回答

9

我所做的是什么类型的

man factor 

,并沉入水底,发现 'GNU的coreutils 6.10'。所以我搜索了'coreutils'并且...发现了这个网站joschi的链接。

+2

谢谢,这(关于如何找到给定程序的源代码的一般解释)是我所追求的。 – 2009-01-11 21:03:18

+0

这可能不是一个好主意。有些发行版可能会修改原始发行版。使用系统附带的软件包管理软件可能会更好一些(软件包管理可以获取源代码和二进制文件)请参阅下面的'Saua'。 – 2009-01-12 07:08:28

4

通常情况下,如果程序是开源的,您可以在程序的网站上找到源代码。在这种情况下,here因子是coreutils的一部分。

+0

感谢您提供链接。 – 2009-01-11 21:14:38

14

您还可以找出二进制文件包来自下载的源代码。

在Debian(和Ubuntu和其他任何是基于Debian的),你是这样做的:

 
$ dpkg -S /usr/bin/factor 
coreutils: /usr/bin/factor 
$ apt-get source coreutils 

第一个命令将检查该软件包包含您正在搜索(使用“which factor”的文件当您输入“factor”时,找出执行哪个二进制文件)。

第二个命令将下载并解压缩源(包括应用于构建包的补丁)到当前目录,因此它应该在专用或临时目录中执行。

我很肯定rpm基于发行版有类似的机制,但我不知道他们的命令。

+1

谢谢,这是一个很好的非Google选项。我知道谷歌会永远在那里,但由于某种原因,我仍然很想知道如何在没有它的情况下生活。 – 2009-01-11 21:10:11

3

在Gentoo上,只需查看您编译软件包的ebuild:D。

如果您不确定?

 
    # which factor 
    /usr/bin/factor 
    # grep '/usr/bin/factor' /var/db/pkg/*/*/CONTENTS 
    /var/db/pkg/sys-apps/coreutils-6.12-r2/CONTENTS:obj /usr/bin/factor 5aaf903daa4345efb11618b3cb47e9a5 1224224574 
    /var/db/pkg/sys-apps/coreutils-6.12-r2/CONTENTS:obj /usr/lib64/debug/usr/bin/factor.debug 517d965636850633e9b15926dde8c222 1224224575 
    # cat /var/db/pkg/sys-apps/coreutils-6.12-r2/SRC_URI 
    ftp://alpha.gnu.org/gnu/coreutils/coreutils-6.12.tar.lzma mirror://gnu/coreutils/coreutils-6.12.tar.lzma mirror://gentoo/coreutils-6.12.tar.lzma mirror://gentoo/coreutils-6.12-patches-1.0.tar.lzma http://dev.gentoo.org/~vapier/dist/coreutils-6.12-patches-1.0.tar.lzma 
    # cat /var/db/pkg/sys-apps/coreutils-6.12-r2/HOMEPAGE 
    http://www.gnu.org/software/coreutils/ 

但是,当然,源代码可能仍然在/usr/portage/distfiles中可用。

5

要找到一个二进制文件来自于,在基于RPM的系统,您可以键入软件包:

 
$ rpm -qf /usr/bin/factor 

这将打印软件包的名称。取而代之的是:

 
$ rpm -qif /usr/bin/factor 

您还将获得有关软件包的信息,包括许多情况下的主页。

源rpms也存在,但如何获得它们取决于在RPM(yum,urpmi,apt-get4 for rpm,...)上使用的高级包管理器。

在大多数系统上,/ usr/share/doc /也包含有关该程序的一些文档,并且网站链接通常在某处出现,可能在README中。

2

我通常通过搜索freshmeat来查找源代码,主页和其他有用信息的链接。

3

另一个很好的方法是使用Google Code Search。例如,搜索factor coreutils(请参阅手册页或factor --help以查看它来自coreutils)作为第二个结果提出了该软件包。点击两次,我正在浏览factor.c在线。谷歌代码搜索搜索大多数公共源代码。您可以使用正则表达式和许多高级搜索选项,包括通过语言和许可证进行限制。

相关问题