2009-01-11 93 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在線。谷歌代碼搜索搜索大多數公共源代碼。您可以使用正則表達式和許多高級搜索選項,包括通過語言和許可證進行限制。

相關問題