Eines der vielseitigsten Betriebssysteme von Linux ist zweifellos Ubuntu, das uns dank seiner Funktionen eine sichere und hochgradig konfigurierbare Umgebung bietet.
Zusätzlich zu diesem großen Vorteil finden wir zahlreiche Tools und Anwendungen, mit denen sich die Leistung und Produktivität von Ubuntu steigern lässt. Basierend auf dieser Möglichkeit werden wir heute ein Tool analysieren, mit dem wir später ausführbare Dateien verschiedener Betriebssysteme erstellen können Dieses Tool wird mit Zuversicht ausgeführt und heißt Go .
Go wurde mit einem umfangreichen Portfolio an Tools entwickelt, mit denen Pakete abgerufen und ausführbare Dateien auf praktische Weise erstellt werden können.
Mit Go haben wir als Systemadministrator die Möglichkeit, ausführbare Dateien mehrerer Betriebssysteme zu erstellen und alle von einem einzigen Server aus zu verwalten, ohne auf jede Plattform gehen zu müssen, um die entsprechende ausführbare Datei herunterzuladen.
Mit Go können wir ausführbare Dateien unter anderem für Windows, Linux und Mac OS erstellen.
Bevor wir uns mit der Erstellung der ausführbaren Datei befassen, werden wir einen kurzen Überblick über die Installation von Go auf Ubuntu 17 geben.
1. Wie installiere und aktualisiere ich Ubuntu 17?
Der erste Schritt besteht darin, die folgenden Befehle für die Aktualisierung der Systempakete und deren jeweilige Fehlerkorrektur auszuführen:
sudo apt-get update sudo apt-get -y upgrade
Sobald das System aktualisiert ist, laden wir die entsprechenden Go-Binärdateien herunter, indem wir die folgende Zeile ausführen:
wget https://storage.googleapis.com/golang/go1.7.4.linux-amd64.tar.gz
Sobald die Datei heruntergeladen ist, fahren wir mit dem Extrahieren fort, indem Sie die folgende Zeile ausführen:
sudo tar -xvf go1.7.4.linux-amd64.tar.gz
Wir werden den Inhalt in den Pfad / usr / local verschieben:
sudo mv go / usr / local
2. So passen Sie die Umgebung von Go Ubuntu 17 an
Damit Go richtig funktioniert, müssen Sie die folgenden Zeilen eingeben, die der Go-Route und dem Zugriff zugeordnet sind:
exportiere GOROOT = / usr / local / go exportiere GOPATH = $ HOME / TechnoWikis / go export PATH = $ GOPATH / bin: $ GOROOT / bin: $ PATH
Es ist wichtig zu beachten, dass die GOPATH-Route der Ort ist, an dem die Erstellungsdateien gehostet werden.
Sobald dies erledigt ist, können wir die folgenden Befehle ausführen, um die Version und Umgebung von Go zu überprüfen:
Go-Version gehen Sie env
Damit haben wir Go bereits installiert und können mit der Erstellung der ausführbaren Dateien fortfahren.
Es sollte beachtet werden, dass sich die aktuelle Version 1.8 von Go in der Beta befindet, aber wenn wir sie installieren möchten, können wir die folgenden Befehle ausführen:
sudo add-apt-repository ppa: longsleep / golang-backports sudo apt-get update sudo apt-get install golang-go
3. Wie lade ich den Quellcode in Ubuntu 17 herunter?
Dies ist der erste Schritt vor dem Erstellen einer ausführbaren Datei mit Go. Rufen Sie den Quellcode ab, den Sie mit dem Parameter go get erhalten.
Der Prozess umfasst das Klonen der Pakete im Pfad GOPATH / src /. Wenn Sie diese anwenden, werden sie später im Pfad GOPATH / bin erstellt.
Die zum Herunterladen des Quellcodes zu verwendende Syntax lautet:
los gehts (paket route)
Die Route befindet sich normalerweise am Fuße des Github. Wir werden auch den Parameter -u hinzufügen, der alle Abhängigkeiten installiert oder aktualisiert.
In diesem Fall verwenden wir Caddy, einen in Go geschriebenen Webserver, und führen die folgende Zeile zum Herunterladen aus:
Gehen Sie zu -u github.com/mholt/caddy/caddy
Wie wir sehen können, werden keine sichtbaren Ergebnisse angezeigt, aber der gesamte Inhalt wird auf der Route gespeichert
GOPATH / src / github.com / mholt / caddy.
Wenn wir es überprüfen wollen, können wir die Caddy- Linie ausführen . In einigen Fällen können Fehler im Zusammenhang mit Git auftreten. Dazu führen wir die folgenden Schritte aus, um sie zu korrigieren:
sudo apt install git
4. Wie erstelle ich die ausführbare Datei in Ubuntu 17?
Sobald Caddy heruntergeladen wurde, führen wir die folgende Zeile aus:
Erstellen Sie github.com/mholt/caddy/caddy
Dieser Befehl zeigt auch keine sichtbaren Ergebnisse an. Wenn Sie eine spezielle Route angeben möchten, können Sie den Parameter -o folgendermaßen hinzufügen. Wir können den Pfad build / caddy-server auf den gewünschten ändern. Dieser Befehl erstellt die ausführbare Datei und, falls nicht vorhanden, das Verzeichnis ./build .
go build -o build / caddy-server github.com/mholt/caddy/caddy
5. Wie installiere ich die ausführbare Datei in Ubuntu 17?
Bei der Installation einer ausführbaren Datei wird die EXE- Datei erstellt und im Pfad GOPATH / bin gespeichert . Für diesen Prozess verwenden wir den Befehl go install , mit dem die ausführbare Datei an der richtigen Stelle erstellt wird.
Wir werden folgendes ausführen. Bei der Ausführung des Befehls ist für den Benutzer kein Ergebnis sichtbar, die Datei wurde jedoch im Pfad GOPATH / bin erstellt.
Installieren Sie github.com/mholt/caddy/caddy
6. Erstellen Sie ausführbare Dateien für verschiedene Systeme unter Ubuntu 17
An dieser Stelle werden wir die Macht von Go sehen und wie es dank der vielen Möglichkeiten, ausführbare Dateien zu erstellen, zu einem wertvollen Verbündeten wird.
Die zu implementierende Syntax lautet wie folgt. Der Befehl env ist dafür verantwortlich, eine geänderte Umgebung für die Verwendung der jeweiligen Variablen zu erstellen.
env GOOS = OS Ziel GOARCH = Architektur go build Paketpfad
Die folgende Tabelle enthält alle von Go angebotenen Optionen:
In diesem Fall erstellen wir eine ausführbare Windows-Datei mit einer 64-Bit-AMD-Architektur und führen Folgendes aus:
GOOS GOOS = windows GOARCH = amd64 go build github.com/mholt/caddy/caddy
Wie bei Go üblich, sehen wir kein sichtbares Ergebnis, aber der Vorgang wurde intern durchgeführt.
Dadurch wird die EXE-Datei auf der Grundlage des ausgewählten Systems erstellt. Um dies zu überprüfen, führen Sie die folgende Zeile aus:
ls caddy.exe
7. Wie erstelle ich das Skript für die Multiplattform-Kompilierung in Ubuntu 17?
Zu diesem Zweck erstellen wir ein Skript mit dem Namen go-executable-build.bash. Dieses Skript ist für die praktische Ausführung aller Kompilierungsaktionen verantwortlich und kann allgemein mit vollständiger Kompatibilität verwendet werden.
Dazu verwenden wir die Zeile cd ~ und führen Folgendes aus:
nano go-executable-build.bash
Dort müssen wir folgende Angaben machen:
#! / usr / bin / env bash Paket = $ 1 if [[-z "$ package"]]; dann echo "usage: $ 0 <Paketname>" Ausfahrt 1 fi package_split = ($ {package // //}) package_name = $ {package_split [-1]} platform = ("windows / amd64" "windows / 386" "darwin / amd64") für Plattform in "$ {Plattformen [@]}" zu tun platform_split = ($ {platform // //}) GOOS = $ {platform_split [0]} GOARCH = $ {platform_split [1]} output_name = $ package_name '-' $ GOOS '-' $ GOARCH if [$ GOOS = "windows"]; dann output_name + = '. exe' fi GOOS GOOS = $ GOOS GOARCH = $ GOARCH go build -o $ output_name $ package wenn [$? -ne 0]; dann echo 'Ein Fehler ist aufgetreten! Skript wird abgebrochen ... ' Ausfahrt 1 fi fertig
Dies wird das Skript sein und seine Funktion ist wie folgt:
#! / usr / bin / env bash: Diese Zeile zeigt an, dass interpret das Skript analysiert.
package = $ 1: Diese Zeile übernimmt das erste Argument aus der Befehlszeile und speichert es in seiner Variablen. if [[-z "$ package"]]; dann echo "usage: $ 0 <Paketname>" Ausfahrt 1 fi
Diese Zeilen sind für die Anzeige einer Meldung verantwortlich, falls der Wert nicht eingegeben wurde.
Der Parameter if analysiert den Wert der Paketvariablen.
package_split = ($ {package // //}): Diese Zeile teilt die Importroute des Pakets mit dem Trennzeichen / in ein Array auf. package_name = $ {package_split [-1]}: Diese Zeile übernimmt den Namen des Arrays. platform = ("windows / amd64" "windows / 386" "darwin / amd64"): Hier geben wir das zu erstellende Betriebssystem und die zu erstellende Architektur ein. für Plattform in "$ {Plattformen [@]}" zu tun platform_split = ($ {platform // //}) GOOS = $ {platform_split [0]} GOARCH = $ {platform_split [1]} Fertig
Diese Zeilen unterteilen die Werte der Plattform in die Variablen GOOS und GOARCH.
output_name = $ package_name '-' $ GOOS '-' $ GOARCH if [$ GOOS = "windows"]; dann output_name + = '. exe' fi
Mit dieser Sequenz erstellen wir den Namen der ausführbaren Datei und wenn es um Windows-Betriebssysteme geht, müssen wir die Erweiterung .exe hinzufügen.
GOOS GOOS = $ GOOS GOARCH = $ GOARCH go build -o $ output_name $ package: In dieser Zeile können wir die ausführbare Datei erstellen. wenn [$? -ne 0]; dann echo 'Ein Fehler ist aufgetreten! Skript wird abgebrochen ... ' Ausfahrt 1
Mit diesen Zeilen wird eine Fehlermeldung angezeigt, falls der Aufbau der ausführbaren Datei falsch ist.
Sobald wir diese Informationen eingegeben haben, speichern wir die Änderungen mit der Tastenkombination
+ O Strg + O
und wir haben den Editor mit verlassen
+ X Strg + X
Wir werden die Berechtigungen so zuweisen, dass das Skript in der folgenden Zeile ausführbar ist:
chmod + x go-executable-build.bash
Der letzte Schritt besteht darin, die Konfiguration des Skripts zu testen, indem Sie Folgendes ausführen. Wie wir sehen können, wurde kein Fehler generiert.
./go-executable-build.bash github.com/mholt/caddy/caddy
8. Wie man ausführbare Dateien in Ubuntu 17 überprüft
Um zu überprüfen, ob wir die richtigen ausführbaren Dateien in Go haben, führen Sie einfach die folgende Zeile aus:
ls Caddy *
Dort sehen wir die ausführbaren Dateien von 32 und 64 Bit für das ausgewählte System, in diesem Fall Windows. Wenn wir andere Plattformen verwenden möchten, reicht es aus, auf das Skript zuzugreifen und die Änderungen in der Plattformzeile vorzunehmen .
Wir haben gesehen, dass Go eine grundlegende Anwendung ist, wenn mehrere ausführbare Dateien erforderlich sind, die die Verwaltung und Verteilung dieser Dateien in der Organisation erleichtern.