Linux原始碼

Linux原始碼

我正在尋找 Linux 上使用/可用的常用系統命令的源代碼,例如calsusudolsdirpwd等。 我想使用原始程式碼來了解有關 Linux 系統管理的更多資訊。

像這樣的系統二進位檔案的原始碼在哪裡——Linux 核心之外的程式碼,但隨 GNU/Linux 的大多數變體一起分發?

哪個 Linux 發行版最適合學習和查看這些命令的原始碼?

是否可以更改程式碼以了解它們的實際工作原理?

答案1

值得注意的是,「Linux」僅指核心。基本命令來自GNU Coreutils包,以及許多其他類似的包。

當尋找這樣的東西時,我通常會去FreeBSD SVN 儲存庫,我發現它比多個 GNU 套件更容易導航。例如,ls可以在這裡找到來源:

答案2

如果您正在尋找全源 Linux 發行版,您應該考慮安裝根圖

否則,您可以採取更“手動”的路線並嘗試使用Linux 從頭開始,這似乎就是您正在尋找的。這是從頭開始建立可用 Linux 系統的逐步指南。它詳細解釋了每個包是什麼以及如何建造它們。這有點令人畏懼,你絕對應該遵循它從頭開始超越 Linux,其目的是有一個功能性的Linux系統。

如果您只想查看那些常見的應用程序,您可以下載核心工具包裹。

答案3

一般來說,您可以透過谷歌搜尋相應實用程式的來源。在基於 debian 的發行版中,您可以使用apt-get下載(debianized)原始碼:例如,apt-get source sudo將下載並解壓縮 sudo 的原始碼。要找出軟體包實用程式屬於哪個軟體包,您可以使用dpkg -S /usr/bin/sudo或 ,如果您可以使用apt-file來搜尋未安裝軟體包中的檔案。

答案4

您可以透過安裝原始碼包或從軟體包網站下載原始碼來取得軟體包的源代碼。您感興趣的包稱為coreutils。如何安裝原始碼包取決於您所使用的Linux發行版。但如果您想從軟體包網站下載原始程式碼,您可以訪問coreutils 下載 ftp 站點

每個發行版可能會更改基本包以改進選項或更改預設值。但基本程式碼或多或少與您在 GNU 網站上找到的相同。

相關內容