Linux von Grund auf

Linux von Grund auf

Ich arbeite derzeit an Linux von Grund auf. Ich habe einige Pakete heruntergeladen, sie mit dem Befehl „tar“ entpackt und in dem extrahierten Paket Folgendes getan:

  1. konfigurieren
  2. machen
  3. Test machen
  4. machen installieren

Noch etwas: Was ist ein Makefile?

Erklären Sie mir bitte den Zweck dieser Befehle, insbesondere im Hinblick auf LFS. Vielen Dank im Voraus.

Antwort1

Ich weiß (irgendwie), was es macht, aber ich bin nicht sicher, ob ich es erklären kann.

Grundsätzlich erstellen Sie mit der von Ihnen genannten Befehlsfolge etwas in einer binären ausführbaren Form (ein Programm, eine Bibliothek) aus Quellcode (d. h. in einer Programmiersprache geschriebener Code) und installieren es in Ihrem Betriebssystem (indem Sie es in einen entsprechenden Ordner verschieben, Konfigurationsdateien einrichten usw.).

Das Makefile ist eine Textdatei, die vom Befehl make verwendet wird. Es unterstützt (automatisiert) Aufgaben. Ein einzelnes Makefile kann Informationen für mehr als eine Aufgabe oder Aktion enthalten, die make ausführen soll. Ohne ein Makefile müssten Sie viele komplizierte manuelle Schritte ausführen, um Dinge zu erledigen.

"configure": (Erklärung entnommen ausHier) Überprüft einige Details der Maschine, auf der die Software installiert werden soll. Dieses Skript prüft, ob viele Abhängigkeiten von Ihrem System vorliegen. Damit die jeweilige Software richtig funktioniert, müssen möglicherweise viele Dinge bereits auf Ihrer Maschine vorhanden sein. Wenn eine der Hauptanforderungen auf Ihrem System fehlt, wird das Konfigurationsskript beendet und Sie können die Installation nicht fortsetzen, bis Sie diese erforderlichen Dinge erhalten. Andernfalls erstellt es das Makefile, das im nächsten Schritt verwendet werden soll.

„make“ ohne Parameter: weist make an, die Standardaktion (Regel) in der Make-Datei auszuführen. Dies kompiliert, verknüpft und generiert normalerweise die Binärdatei, die Sie erstellen möchten (also das Programm oder die Bibliothek). Dabei wird normalerweise der Quellcode in Objektdateien (die normalerweise die .oErweiterung haben) konvertiert und in eine endgültige Binärdatei verknüpft (die bei Linux-Programmen normalerweise keine Erweiterung oder bei Linux-Bibliotheken normalerweise die Erweiterung .sooder hat .a). Ich bin mir bei den Schritten nicht sicher, da ich Java-Programmierer bin und wir diese Schritte nicht sehr oft ausführen).

„make test“: führt Tests an dieser Binärdatei durch.

„make install“: verschiebt die Binärdatei grundsätzlich an den richtigen Ordnerspeicherort.

Diese Erklärung kann natürlich noch erheblich verbessert werden, ich versuche nur, Ihnen einen Eindruck vom allgemeinen Ablauf zu vermitteln.

Dieses kurze Tutorialkann weitere Informationen liefern.

Antwort2

Die Verwendung von Makefilemacht sowohl dem Entwickler als auch dem Endbenutzer das Leben leichter. Im Grunde ist es ein Spickzettel, wie man eine bestimmte Software erstellt. Für ein einfaches „Hallo Welt“ g++ hw.cpp -o hello_worldkann ein funktionieren. Wenn Sie jedoch viel komplexere Software haben, muss oft Teil A vor Teil B erstellt werden und wenn diese beiden fertig sind, kann Teil C erstellt werden. Das manuelle Eintippen dieser Elemente – sowie das Einfügen von Pfaden zu enthaltenen Bibliotheken, temporären Ausgabedateien, endgültigen Installationspfaden usw. (normalerweise bestimmt, wenn das configureSkript ausgeführt wird) – kann zu Fehlern führen.

verwandte Informationen