git als static binary compilieren

Was ist eine „static binary“?

Während der Übersetzung eines Quellcodes in ein ausführbares Programm verknüpft der Compiler die ausführbare Datei des Programms, um später bei der Ausführung des Programms Arbeitsspeicher zu sparen, mit „shared dynamic libraries“.

Diese Bibliotheken sind eine Sammlung von Funktionen welche von mehreren Programmen geteilt verwendet werden um bestimmte Aufgaben zu zu erfüllen. Durch die gemeinsame Nutzung dieser Bibliotheken kann der Arbeitsspeicher des Computers geschont werden, da nur eine Kopie der Bibliothek für viele verschiedene Programme im Speicher geladen sein muss.

Um ein unerwartetes Verhalten von Programmen zu vermeiden, ist es manchmal unumgänglich das Programm mit einer bestimmten Version einer Bibliothek zu Übersetzen. Auch um die Portabilität eines Programms zu verbessern ist es wichtig die Abhängigkeit vom vorhanden sein einer dynamischen Bibiothek zu vermeiden.
In Linux Systemen sorgt ein Paketmanager dafür, dass Versionsabhängigkeiten korrekt erfüllt werden. Wenn Du auf einem Computer arbeitest über den Du keine Administrative Kontrolle besitzt kannst Du die Version der verwendeten Bibliothek nicht bestimmen oder eine aktualisiert verhindern.
Programme können, wenn s
ie mit „shared dynamic libraries“ übersetzt wurden nur auf andere Computer übertragen werden auf der, die gleiche Prozessorarchitektur und die gleichen Bibliotheken verfügbar sind.
Falls die Bibliotheken des Computers auf den das Programm übertragen wurde aktualisiert werden, eine Bibliothek entfernt wird oder eine der Bibliotheken
auf dem Zielrechner werden kompromittiert oder durch bösartige Versionen ersetzt. Hier kommt das bauen einer „static binary“ ins Spiel.
Wie wird GIT als „static binary“ übersetzt?

in diesem Beispiel gehe ich davon aus das die NAS gemäß dieser Anleitung bereits mit dem notwendigen Buildsystem eingerichtet wurde. Im Anschluss kann die entstehende Binärdatei von GIT auf allen identischen ARM Prozessoren verwendet werden.
Die aktuellste GIT Version kann auf http://git-scm.com gefunden werden.

Folgende 3 Schritte sind auszuführen:

1) GIT Quellcode herunterladen, entpacken und in das GIT Buildverzeichnis wechseln:

2) Die Compilervariablen setzen und git mittels configure konfigurieren um in ein separates Verzeichnis zu übersetzt zu werden:

3) git übersetzen:

In das Zielverzeichnis installieren

4) Prüfe das GIT so wie erwartet funktioniert

Scan to Donate Bitcoin
Like this? Donate Bitcoin to at:
Bitcoin 17g7tgR4KYKSqS1f8LUCpLEeum4PAcnGbo
Donate

der_metzger

Hi, ich bin Jan Kuehnel – Fachinformatiker für Systemintegration ,Linux-Benutzer und Blogger. Ich arbeite seit 10 Jahren im Technischen Support eines großen Providers in Deutschland und folge seit meiner Kindheit dem Hobby, technische Rätsel zu lösen.

%d Bloggern gefällt das: