假设我对某个特定Linux实用程序的源代码感兴趣,例如factor
。我在哪里可以找到该实用程序的源代码?你在哪里下载Linux源代码?
回答
我所做的是什么类型的
man factor
,并沉入水底,发现 'GNU的coreutils 6.10'。所以我搜索了'coreutils'并且...发现了这个网站joschi的链接。
您还可以找出二进制文件包来自下载的源代码。
在Debian(和Ubuntu和其他任何是基于Debian的),你是这样做的:
$ dpkg -S /usr/bin/factor coreutils: /usr/bin/factor $ apt-get source coreutils
第一个命令将检查该软件包包含您正在搜索(使用“which factor
”的文件当您输入“factor
”时,找出执行哪个二进制文件)。
第二个命令将下载并解压缩源(包括应用于构建包的补丁)到当前目录,因此它应该在专用或临时目录中执行。
我很肯定rpm
基于发行版有类似的机制,但我不知道他们的命令。
谢谢,这是一个很好的非Google选项。我知道谷歌会永远在那里,但由于某种原因,我仍然很想知道如何在没有它的情况下生活。 – 2009-01-11 21:10:11
在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
中可用。
要找到一个二进制文件来自于,在基于RPM的系统,您可以键入软件包:
$ rpm -qf /usr/bin/factor
这将打印软件包的名称。取而代之的是:
$ rpm -qif /usr/bin/factor
您还将获得有关软件包的信息,包括许多情况下的主页。
源rpms也存在,但如何获得它们取决于在RPM(yum,urpmi,apt-get4 for rpm,...)上使用的高级包管理器。
在大多数系统上,/ usr/share/doc /也包含有关该程序的一些文档,并且网站链接通常在某处出现,可能在README中。
我通常通过搜索freshmeat来查找源代码,主页和其他有用信息的链接。
您可能想查看SourceForge.net。
另一个很好的方法是使用Google Code Search。例如,搜索factor coreutils(请参阅手册页或factor --help
以查看它来自coreutils)作为第二个结果提出了该软件包。点击两次,我正在浏览factor.c在线。谷歌代码搜索搜索大多数公共源代码。您可以使用正则表达式和许多高级搜索选项,包括通过语言和许可证进行限制。
- 1. 在哪里下载EntityFramework.sqlserver源代码?
- 2. 哪里可以下载jetty源代码?
- 3. 下载哪个Linux源码
- 4. Linux的usb_storage的源代码在哪里
- 5. 你在哪里下载Button.js?
- 6. iText源代码在哪里?
- 7. libOAuth.a源代码在哪里?
- 8. 在哪里以及如何下载MySQL源代码?
- 9. 我在哪里可以下载libjingle_peerconnection.jar源代码
- 10. 我在哪里可以下载“OpenGL”的源代码?
- 11. 我在哪里可以下载Emacs v18源代码?
- 12. 我在哪里可以下载MySQL数据库的源代码
- 13. 在哪里下载javax.media.jai和com.sun.media.jai的源代码?
- 14. 我在哪里下载Android内核源代码(2.2 froyo)
- 15. 你在哪里下载C++软件?
- 16. 你在哪里下载NHibernate Castle Facility?
- 17. Linux内核源代码下载
- 18. 你在哪里把python代码挂钩
- 19. 你把SQL RAISERROR代码放在哪里?
- 20. 从哪里下载glassfish-3.0.1-b22源代码档案
- 21. 哪里可以下载sntp的源代码?
- 22. 从哪里可以下载MGTwitterEngine源代码
- 23. 去哪里下载android.jar的完整源代码?
- 24. 从哪里下载maven-glassfish-plugin的源代码?
- 25. 哪里可以下载Android 2.6.29内核源代码?
- 26. 从哪里可以下载android内核源代码?
- 27. 在哪里可以找到Linux系统调用的源代码?
- 28. 在哪里可以获得“setfacl”Linux/Unix命令的源代码
- 29. 服务中内置的Linux源代码在哪里?
- 30. 理解linux命令的源代码在哪里?
谢谢,这(关于如何找到给定程序的源代码的一般解释)是我所追求的。 – 2009-01-11 21:03:18
这可能不是一个好主意。有些发行版可能会修改原始发行版。使用系统附带的软件包管理软件可能会更好一些(软件包管理可以获取源代码和二进制文件)请参阅下面的'Saua'。 – 2009-01-12 07:08:28