6 Stimmen

Wo kann man den Quellcode von Linux herunterladen?

Angenommen, ich interessiere mich für den Quellcode eines bestimmten Linux-Dienstprogramms, wie factor . Wo kann ich den Quellcode für dieses Dienstprogramm finden?

14voto

Joachim Sauer Punkte 290477

Sie können auch herausfinden, aus welchem Paket die Binärdatei stammt, und den Quellcode des Pakets herunterladen.

Unter Debian (und Ubuntu und allen anderen Systemen, die auf Debian basieren) geht das so:

$ dpkg -S /usr/bin/factor
coreutils: /usr/bin/factor
$ apt-get source coreutils

Der erste Befehl prüft, welches Paket die gesuchte Datei enthält (verwenden Sie " which factor ", um herauszufinden, welche Binärdatei ausgeführt wird, wenn Sie nur " factor ").

Der zweite Befehl lädt die Quellen (einschließlich der Patches, die zur Erstellung des Pakets angewendet wurden) in das aktuelle Verzeichnis herunter und entpackt sie dort, so dass er in einem speziellen oder temporären Verzeichnis ausgeführt werden sollte.

Ich bin mir ziemlich sicher, dass rpm -basierten Distributionen haben einen ähnlichen Mechanismus, aber ich kenne ihre Befehle nicht.

10voto

Paige Ruten Punkte 164391

Ich habe Folgendes eingegeben

man factor

und ging bis zum Ende und fand 'GNU coreutils 6.10'. Also habe ich "coreutils" gegoogelt und... die Seite gefunden, auf die joschi gerade verlinkt hat.

5voto

Blaisorblade Punkte 6246

Um das Paket, aus dem eine Binärdatei stammt, in einem rpm-basierten System zu finden, können Sie Folgendes eingeben:

$ rpm -qf /usr/bin/factor

die den Paketnamen ausgibt. Stattdessen, mit:

$ rpm -qif /usr/bin/factor

erhalten Sie auch Informationen über ein Paket, in vielen Fällen auch über dessen Homepage.

Quell-RPMs gibt es auch, aber wie man sie bekommt, hängt von dem Paketmanager ab, der auf RPM aufbaut (yum, urpmi, apt-get4 für rpm, ...).

Auf den meisten Systemen enthält auch /usr/share/doc/ eine Dokumentation über das Programm, und der Link zur Website findet sich oft irgendwo dort, vielleicht in der README.

4voto

joschi Punkte 12108

Normalerweise finden Sie den Quellcode auf der Website des Programms, wenn es Open Source ist. In diesem Fall aquí seit Faktor ist Teil der coreutils.

3voto

Kent Fredric Punkte 55042

Unter Gentoo schauen Sie einfach in dem Ebuild nach, mit dem Sie das Paket kompiliert haben :D.

Wenn Sie sich nicht sicher sind?

    # 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/

Aber natürlich ist der Quellcode wahrscheinlich noch verfügbar in /usr/portage/distfiles .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X