Ich entschied plötzlich, dass ich mir den Quellcode für 'Echo' ansehen möchte.
$ which echo
/usr/bin/echo
so
$ ls -al /usr/bin/echo
-rwxr-xr-x. 1 root root 32536 Oct 31 2016 /usr/bin/echo
so
$strings /usr/bin/echo
lässt mich glauben, dass es sich um ein kompiliertes C-Programm handelt
Jetzt stecke ich fest.
Wie mache ich:
Finden Sie heraus, in welchem Paket es sich befindet
Holen Sie sich die Quelle
Baue es wieder auf
Probier es aus
Installieren Sie die neue Version systemweit
(Ich weiß, dass 5 keine gute Idee ist, ich bin nur neugierig ...)
Ich bin zurzeit auf Fedora, aber ich würde mich auch für die Antworten für Debian interessieren
Ein Link zu einem relevanten Tutorial wäre eine gute Antwort.
Bearbeiten:
$ type -a echo
echo is a shell builtin
echo is /usr/bin/echo
Ich denke, es ist das, was /usr/bin/echo
ich sehen möchte, anstatt zu versuchen, das Ganze zu lesen bash
.
debian
fedora
source-code
John Lawrence Aspden
quelle
quelle
type -a echo
zuerst./usr/bin/echo --version
nächstes.Antworten:
RHEL / Fedora
Lauf
rpm -qf /path
Laden Sie das Quellpaket herunter (
yum
für RHEL verwenden):Extrahieren Sie die Quellen, Patches aus dem im aktuellen Verzeichnis heruntergeladenen SRPM-Paket, wechseln Sie in das Verzeichnis, in das die Dateien extrahiert werden, und suchen Sie Ihre Datei:
Sie können das Paket mit neu erstellen
rpmbuild --rebuild coreutils-8.25-17.fc25.src.rpm
, wodurch die RPMs erstellt werden, die Sie direkt auf Ihrem System installieren können.Wenn Sie Änderungen an Fedora-Paketen vornehmen müssen, ist es viel einfacher, den Wartungsmodus zu wählen: Installieren Sie
fedpkg
das Repository, klonen Sie es, nehmen Sie die Änderungen vor (mithilfe von Patches) und erstellen Sie das Paket mit den folgenden Änderungen neu:quelle
Debian (und Derivate)
Führen Sie aus, um
dpkg -S /path
zu sehen, zu welchem Paket Folgendes/path
gehört:Holen Sie sich die Quelle (ich bin auf Ubuntu):
Suchen Sie die Datei:
Der Rest liegt an dir.
quelle
dpkg -s coreutils
(oder an welchem Paket auch immer Sie interessiert sind) auf und suchen Sie nach demHomepage:
. Auf der Homepage finden Sie normalerweise Lesezugriff auf den Quellcode und den Verlauf der Vollversion.