假設我對某個特定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