
Ich suche nach dem Quellcode für häufig verwendete/verfügbare Systembefehle unter Linux wie cal
, su
, , sudo
, ls
, dir
, pwd
, usw. Ich möchte den Quellcode verwenden, um mehr über die Linux-Systemadministration zu erfahren.
Wo befindet sich der Quellcode für Systembinärdateien wie diese – Code, der außerhalb des Linux-Kernels liegt, aber mit den meisten Varianten von GNU/Linux verteilt wird?
Welche Linux-Distribution eignet sich am besten zum Erlernen und Anzeigen des Quellcodes dieser Befehle?
Ist es möglich, den Code zu ändern, um herauszufinden, wie er wirklich funktioniert?
Antwort1
Es ist wichtig zu bedenken, dass sich "Linux" nur auf den Kernel bezieht. Die grundlegenden Befehle stammen vomGNU CoreutilsPaket sowie von vielen anderen ähnlichen Paketen.
Wenn ich nach solchen Dingen suche, gehe ich normalerweise zumFreeBSD SVN-Repositoryls
, was ich einfacher zu navigieren finde als mehrere GNU-Pakete. Die Quelle dafür finden Sie beispielsweise hier:
Antwort2
Wenn Sie nach einer All-Source-Linux-Distribution suchen, sollten Sie sich die Installation ansehenGentoo.
Andernfalls können Sie einen eher "manuellen" Weg gehen und versuchen, Ihre Zähne zu schärfen mitLinux von Grund auf, was anscheinend das ist, wonach Sie suchen. Es ist eine Schritt-für-Schritt-Anleitung zum Aufbau eines brauchbaren Linux-Systems von Grund auf. Es enthält eine detaillierte Erklärung, was jedes Paket ist und wie man es erstellt. Es ist ein bisschen entmutigend, und Sie sollten es auf jeden Fall mitMehr als Linux von Grund auf, das darauf abzielt, eineFunktionalitätLinux-System.
Wenn Sie sich nur die gängigen Anwendungen ansehen möchten, können Sie einfach dieKerndienstprogrammePaket.
Antwort3
Im Allgemeinen können Sie einfach nach Quellen der jeweiligen Dienstprogramme googeln. In Debian-basierten Distributionen können Sie apt-get
(debianisierte) Quellen herunterladen: apt-get source sudo
lädt beispielsweise Quellen für sudo herunter und entpackt sie. Um herauszufinden, zu welchem Paket das Dienstprogramm gehört, können Sie oder verwenden , wenn Sie nach Dateien in nicht installierten Paketen suchen dpkg -S /usr/bin/sudo
können .apt-file
Antwort4
Sie können den Quellcode von Paketen erhalten, indem Sie das Quellpaket installieren oder den Quellcode von der Paket-Website herunterladen. Das Paket, an dem Sie interessiert sind, heißt coreutils
. Wie Sie das Quellpaket installieren, hängt von der von Ihnen verwendeten Linux-Distribution ab. Wenn Sie den Quellcode jedoch von der Paket-Website herunterladen möchten, besuchen SieCoreutils-Download-FTP-Site.
Jede Distribution hat möglicherweise das Basispaket geändert, um Optionen zu verbessern oder Standardeinstellungen zu ändern. Aber mehr oder weniger ist der Basiscode derselbe, den Sie auf der GNU-Website finden.