So installieren Sie Software mit Git unter Linux

Wurde Ihnen gesagt, Sie sollen „das Repo klonen und erstellen“ und wissen nicht, was Sie als nächstes tun sollen? Wir zeigen Ihnen, wie Sie dieses Programm auf GitHub unter Linux zum Laufen bringen, auch wenn Sie ein Anfänger sind.

Die Anweisungen, aus denen ein Computerprogramm besteht, werden geschrieben, bearbeitet und in Textdateien gespeichert. Ein als Compiler bezeichnetes Programm verarbeitet diese Dateien dann. Dies erzeugt die ausführbare Version des Programms. Die Textdateien der Anweisungen werden als Quellcode bezeichnet. Die Version des Programms, die tatsächlich auf einem Computer ausgeführt werden kann, wird als Binärdatei oder ausführbare Datei bezeichnet.

Das ist eine vereinfachte Version von Ereignissen, aber sie zeichnet ein korrektes – wenn auch verallgemeinert – Bild. In der Praxis finden Sie alle möglichen Variationen dieses Modells. Manchmal generieren andere Programme die Textdateien. Zu anderen Zeiten wird der Quellcode ausgeführt in einem Dolmetscher und muss nicht kompiliert werden usw.

Die einzige universelle Wahrheit für alle Softwareprojekte ist jedoch: Die Quellcodedateien sind die Kronjuwelen, und sie müssen genauso sorgfältig gepflegt werden.

Versionskontrollprogramme

Alle Quellcodedateien innerhalb eines Projekts werden als Codebasis bezeichnet. Bei großen Projekten arbeiten oft viele Entwickler an der Codebasis. Jede Codeänderung muss nachverfolgt und identifizierbar sein. Falls erforderlich, müssen die Änderungen reversibel sein. Wenn verschiedene Entwickler Änderungen an derselben Quellcodedatei vornehmen, müssen ihre Bearbeitungen zusammengeführt werden.

Es ist daher nicht verwunderlich, dass es Softwareprogramme namens Versionskontrollsysteme gibt, die die Verwaltung von Änderungen an der Codebasis erleichtern. Versionskontrollsysteme halten alle vorherigen Versionen jeder Datei in der Codebasis, und jede Änderung wird aufgezeichnet, kommentiert und verfolgt.

Ein kleines Ding namens Git

Linus Torvalds, der Schöpfer des Linux-Kernels, entwickelte ein Versionskontrollprogramm namens Git um die Linux-Kernel-Codebasis zu verwalten. Es ist heute die am weitesten verbreitete Versionskontrollsoftware der Welt. Es gibt Millionen von Menschen, die es verwenden – buchstäblich.

Bei Git wird die Codebasis eines Projekts in Repositories gespeichert. Zusätzlich zu den lokalen Repositorys, die sich auf den Computern der Entwickler und möglicherweise auf einem zentralen Server im Netzwerk befinden, empfiehlt es sich, ein externes oder Remote-Repository zu verwenden.

Und hier kommt GitHub ins Spiel.

GitHub

GitHub wurde als Ergebnis des Erfolgs von git erstellt. Die Gründer erkannten den aufkommenden Bedarf an sicher gehosteten Remote-Git-Repositorys. Sie haben ein Geschäft gegründet Bereitstellung einer Cloud-Plattform um es Entwicklungsteams zu ermöglichen, Remote-Repositorys zu hosten. Im April 2019 hostet GitHub über 100 Millionen Repositories.

Handelt es sich bei einer Anwendung um ein Open-Source-Projekt, sind die Chancen sehr hoch, dass sie auf GitHub gehostet wird. Es sind andere Repository-Plattformen verfügbar, wie z Bit Bucket und GitLab, aber GitHub hat den Löwenanteil der Open-Source-Repositorys.

Anatomie eines Repositorys

Ein GitHub-Repository besteht aus Ordnern, die Dateien wie die wichtigsten Quellcodedateien enthalten. Normalerweise gibt es viele andere Arten von Dateien im Repository. Es können Dokumentationsdateien, Manpages, Softwarelizenzdateien, Build-Anweisungen und Shell-Skriptdateien vorhanden sein. Es gibt keine Regeln, was ein Repository enthalten soll oder muss, aber es gibt Konventionen.

  So verbessern Sie die Akkulaufzeit auf Linux-Laptops

Wenn Sie sich in einer Küche auskennen, können Sie in jeder Küche navigieren. Bei Repositorys ist es ähnlich. Sobald Sie die Konventionen verstanden haben, wissen Sie, wo Sie das finden, was Sie brauchen.

Wie erhalten Sie also eine Kopie des Repositorys auf Ihrem Computer und wie bauen Sie das Programm in eine ausführbare Binärdatei ein?

Die Readme-Datei

Es ist traditionell, eine Readme-Datei in ein Repository aufzunehmen. Es könnte Readme, Readme oder README heißen. Es kann die Erweiterung „.md“ oder gar keine Erweiterung haben.

Schauen wir uns den GitHub an Repository für den Atom-Editor. Sie sehen eine lange Liste von Ordnern und Dateien. Scrollen Sie nach unten, und Sie sehen den Inhalt der Datei README.md.

GitHub stellt den Inhalt der Readme-Datei automatisch auf die Startseite des Repositorys. Wenn die Readme-Datei die Erweiterung „.md“ hat, enthält sie Markdown-Markup Sprache. Auf diese Weise können die Entwickler Stilelemente wie Schriftarten, Aufzählungszeichen und Bilder verwenden.

Normalerweise enthält eine Readme-Datei Abschnitte, in denen Sie erfahren, worum es bei dem Projekt geht, welche Art der Lizenz es ist, wer das Projekt verwaltet, wie Sie sich beteiligen und wie die Anwendung erstellt und ausgeführt wird.

Wenn die tatsächlichen Build-Anweisungen nicht aufgeführt sind, erfahren Sie, wo Sie diese Informationen finden. Andere nützliche Informationen zum Erstellen der Anwendung, z. B. die erforderlichen Build-Tools und andere Abhängigkeiten, können hier aufgeführt sein, oder ein Link führt Sie zu diesen Informationen.

Die Boxen Repository

Unsere Mission ist es, Klonen Sie das Boxen-Repository, und erstellen Sie dann die Boxen-Anwendung.

Das Repository folgt dem gleichen Layout wie das von Atom. Es gibt eine Liste von Ordnern und Dateien und darunter der Inhalt der Readme-Datei. Es folgt dem Standardlayout für ein Repository, ist jedoch ein kleineres Projekt, sodass weniger Ordner und Dateien vorhanden sind.

Die Readme-Datei ist auch kürzer. Es hat einen Abschnitt namens „Entwicklung“. In diesem Abschnitt befindet sich ein Link mit dem Titel „Building from Source“. Wenn wir diesem Link folgen, wir sollten die informationen finden wir brauchen.

Normalerweise sind einige leichte Recherchen erforderlich, um durch das Repository zu navigieren und die gewünschten Informationen zu finden, aber es ist nicht schwierig. Lesen Sie alles auf der Repository-Seite sorgfältig durch. Manchmal sind die Informationen vorhanden, werden aber möglicherweise nicht gut sichtbar angezeigt.

Die Abhängigkeiten

Die Seite „Building from Source“ enthält einen Abschnitt namens „Building on Linux“, und das ist genau das, was wir brauchen. Es sagt, wir müssen a . haben C-Compiler, Bison, und Biegen Eingerichtet.

Die Build-Anweisungen sagen, dass der make-Befehl ausgegeben werden soll, also brauchen wir auch make.

Die zum Erstellen dieser Anwendung erforderlichen Tools sind ein C-Compiler, Bison, Flex, make und Git (um das Repository auf Ihren Computer zu klonen).

  So geben Sie Dateien auf einem VirtualBox-Computer unter Linux frei

Dieser Artikel wurde auf Computern recherchiert, auf denen die Linux-Distributionen Ubuntu, Fedora und Manjaro ausgeführt werden. Keine der Distributionen hatte all diese Tools installiert – auf jedem musste etwas installiert werden.

Installieren des Werkzeugsatzes

Ubuntu musste Git, Flex, Bison und make installiert haben. Hier die Befehle:

sudo apt-get install git

sudo apt-get install flex

sudo apt-get install bison

sudo apt-get install make

Fedora musste Flex, Bison und make installiert haben. Hier die Befehle:

sudo dnf install flex

sudo dnf install bison

sudo dnf install make

Manjaro musste den GCC-Compiler, Flex und Bison installiert haben. Hier die Befehle:

sudo pacman -Syu gcc

sudo pacman -Syu flex

sudo pacman -Syu bison

Klonen des Repositorys

Jedes GitHub-Repository verfügt über eine bestimmte Webadresse, die mit Git verwendet wird, um das Repository auf Ihren Computer zu klonen. Auf der Hauptseite des Boxen-Repositorys befindet sich eine grüne Schaltfläche mit der Aufschrift „Klonen oder herunterladen“.

Der

Klicken Sie auf die Schaltfläche, um die Webadresse anzuzeigen. Dies ist die Adresse, die wir an den git-Befehl übergeben müssen, wenn wir das Repository klonen.

Wechseln Sie in das Verzeichnis, in das das Repository geklont werden soll, und verwenden Sie dann diesen Befehl. Wenn Ihr Terminalfenster dies unterstützt, können Sie die Webadresse kopieren und in den Befehl einfügen. Drücken Sie Strg+Umschalt+V, um sie in ein GNOME-Terminalfenster einzufügen.

Git klont das Remote-Repository und erstellt ein lokales auf Ihrem Computer. Es teilt uns mit, dass es in ein Verzeichnis namens „boxes“ klont.

Das Verzeichnis boxen wird innerhalb des Verzeichnisses erstellt, aus dem Sie den git-Befehl ausgegeben haben. Wenn wir in das Verzeichnis boxen wechseln und uns den Inhalt ansehen, sehen wir dieselbe Liste von Dateien und Ordnern, die wir auf der GitHub-Seite gesehen haben.

Toll! Wir haben den Quellcode und andere Dateien erfolgreich auf unseren Computer geklont. Jetzt müssen wir die Anwendung erstellen.

Erstellen der Anwendung

Um die Anwendung zu erstellen, müssen wir den Anweisungen im GitHub-Repository folgen. Manchmal führen wir eine bestimmte Shell-Datei aus, andere wiederum make. Die Build-Anweisungen, die wir befolgen, sagten uns, dass wir make ausführen sollten.

Das Dienstprogramm make liest eine Reihe von Anweisungen aus einem Makefile und führt sie aus. Diese Anweisungen erklären make, wie das Programm zu kompilieren und zu verknüpfen ist. make übergibt die Anweisungen an den Compiler und andere Build-Tools.

Der Befehl, den wir verwenden sollen, wird zweimal make aufrufen. Der erste Aufruf von make erstellt die Anwendung und der zweite führt eine Reihe von Tests aus.

Der Befehl, den die Build-Anweisungen uns empfohlen haben, lautet:

make && make test

Viele Ausgabezeilen scrollen schnell im Terminalfenster vorbei. In etwa einer Minute kehren Sie zur Eingabeaufforderung zurück.

  So schreiben Sie mit Gnome MultiWriter unter Linux gleichzeitig auf mehrere USB-Laufwerke

Bereitstellung der Boxen-Anwendung

Die Anwendung wurde erstellt und wir haben eine ausführbare Binärdatei. Wir müssen nun die Binärdatei in das Verzeichnis /usr/bin/ kopieren. Dies ermöglicht der Shell, es zu finden, wenn wir versuchen, es zu verwenden.

Für einige Anwendungen ist dies möglicherweise alles, was Sie tun müssen. In anderen Fällen müssen Sie möglicherweise zusätzliche Dateien wie Manpages und Konfigurationsdateien an Speicherorte im Dateisystem kopieren. Letzteres haben wir mit unserer neuen Anwendung zu tun, da es in der Bauanleitung stand.

Verwenden Sie sudo, um diese Befehle auszuführen. Der erste Befehl kopiert eine Manpage in das man1-Verzeichnis:

sudo cp doc/boxes.1 /usr/share/man/man1

Als nächstes kopieren Sie die globale Konfigurationsdatei in ein Verzeichnis in /usr/share/:

sudo cp boxes-config /usr/share/boxes

Kopieren Sie abschließend die Binärdatei nach /usr/bin:

sudo cp src/boxes /usr/bin

Testen der Boxen Anwendung

Mal sehen ob das alles funktioniert! Versuchen Sie, die Manpage für den Befehl Boxen zu öffnen.

man boxes

Das ist ermutigend! Sie sehen eine Manpage, die Ihnen erklärt, wie Sie den Befehl boxen verwenden.

Drücken Sie „Q“, um das man-System zu verlassen und versuchen Sie, den Box-Befehl zu verwenden.

echo 1techpc.de | boxes

Und wir bekommen die Antwort:

Dies mag angesichts all des Aufwands, den Sie aufgewendet haben, etwas enttäuschend erscheinen, aber der Sinn dieser Übung bestand darin, Sie durch das Zurückziehen eines Repositorys von GitHub und das Erstellen der Anwendung zu führen.

Mit dem Befehl „boxen“ können Sie Text, der an ihn geleitet wird, in eine Vielzahl von Rahmen umbrechen. Einige von ihnen könnten als Kommentare in Quellcodedateien verwendet werden. Das obige Format würde beispielsweise als Kommentar in einer C-Quellcodedatei funktionieren. Andere sind rein dekorativ. Mit der Option -d (Design) können Sie den Stil des Rahmens auswählen.

echo 1techpc.de | boxes -d whirly
echo 1techpc.de | boxes -d c-cmt2

Es gibt eine lange Liste von Designs, aus denen Sie wählen können. Um sie alle anzuzeigen, verwenden Sie diesen Befehl:

boxes -l | less

Build abgeschlossen

Die Schritte zum Erstellen aus der Quelle sind normalerweise einfach:

Lesen Sie die Build-Anweisungen im Repository.
Überprüfen Sie, ob die erforderlichen Tools installiert sind, und installieren Sie alle fehlenden Tools.
Klonen Sie das Repository auf Ihren Computer.
Folgen Sie den Bauanleitungen, die oft so einfach sind wie die Eingabe von make.
Kopieren Sie die Datei(en) an die erforderlichen Speicherorte.

Wenn Schritte in den Build-Anweisungen unklar sind, prüfen Sie, ob das Projekt über ein Forum oder eine Community verfügt, an die Sie eine Frage senden können. Wenn die Anwendung über eine Website verfügt, verfügt sie möglicherweise über eine Seite „Kontakt“. Der Entwickler, der das Boxen-Projekt verwaltet, hat seine E-Mail auf der „Über“-Seite von die Boxen-Website. Das ist eine großzügige Geste seinerseits und typisch für die breitere Open-Source-Community.