Dokumentation
So erstellen Sie ein TurnKey Appliance ISO aus der Quelle mit TKLDev
Ursprünglich schrieb ich dies als Blogbeitrag, aber ich habe es hier mit Inhaltslinks zur Bequemlichkeit hinzugefügt.
Inhalt
TKLDev Setup
Erstellen einer VM
Ich schlage vor, dass Sie TKLDev auf einer virtuellen Maschine installieren. ich gehe davon aus, dass Sie so etwas wie VirtualBox oder ein VMware-Produkt verwenden werden. Da ich am besten mit VBox vertraut bin, werde ich ihre Terminologie verwenden. VMware-Produkte sollten jedoch alle gut funktionieren.
Wenn Sie über den VM-Build (OVA) installieren, werden Ihrer VM automatisch Ressourcen zugewiesen. Die standardressourcen sind ein absolutes minimum, also passen sie sie für eine bessere erfahrung an.
Empfohlene VM-Spezifikationen & Einstellungen:
- Die meisten Appliances wird mit weniger gut bauen.
- 2-5% von Appliance können bis zu 2x RAM erfordern.
- Möglicherweise ist mehr Speicherplatz erforderlich, um mehrere Appliances zu erstellen, ohne product.iso jedes Mal zu entfernen.
vRAM: 1024MB (mehr ist besser)
vCPU-Kerne: 2 (mehr ist besser)
vHDD: 10 GB min (mehr ist besser)
Typ des Betriebssystems: x64 Debian (alle 64 Bit Linux sollten funktionieren)
Vernetzung: Bridged (siehe die docs. für weitere Informationen dazu
Anmerkung: Möglicherweise müssen Sie auswählen 'PAE' in VBox Einstellungen; Ich bin mir nicht sicher, der VMware gleichwertig.
Download
Laden Sie die neueste VM (OVA) oder ISO von der TKLDev Appliance Seite
Installieren Sie auf VM
Dies ist eine Schritt-für-Schritt-Anleitung zum TurnKey-Installations-Verfahren. Leider fehlen ein paar Screenshots, aber Sie sollten die Idee bekommen. Der VM (OVA) Build ist etwas anders, da er bereits "vorinstalliert" ist. OVA-Benutzer können direkt zu Schritt 8.
01) 'Installieren Sie Harddisk': <Enter>
02) 'Ok': <Enter> (oder )<Tab>, um zwischen Optionen zu wechseln; <Enter>, um auszuwählen
03) 'Ja' (<Tab> zwischen Optionen zu bewegen; <Enter> zu wählen)
04) Warten Sie, während es Daten kopiert...
05) 'Ja' (<Tab>, um zwischen Optionen zu wechseln; <Enter>, um auszuwählen) Screenshot fehlt
06) 'Ja' (<Tab>, um zwischen Optionen zu wechseln; <Enter>, um auszuwählen) Screenshot fehlt
07) BUG: Gelegentlich kann das System den Neustart nicht automatisch abschließen (es kann bei "Reached target Shutdown" stecken bleiben.)
08) Erlauben Sie das Booten und geben Sie dann Ihr gewünschtes Benutzerkennwort "root" (Linux-Admin) ein; <Enter>
09) Warten Sie, während es sich selbst einrichtet (das wird eine Weile dauern)...
10) 'Skip' (<Tab> zwischen Optionen bewegen; <Enter> auswählen)
11) 'Install' (<Enter>)
Arbeiten mit TKLDev
Verbindung mit TKLDev VM
Ich empfehle dringend, dass Sie eine SSH-Sitzung verwenden, um eine Verbindung zur VM herzustellen. Sie haben auch die Möglichkeit, das VM-Fenster zu verwenden, aber IMO ist es viel besser, nur eine SSH-Sitzung zu verwenden. Außerdem bevorzuge ich als Linux-Benutzer ein natives Terminalfenster, das einfach so funktioniert, wie ich es erwarte ...
Linux und Mac
Auf Linux und Mac empfehle ich die Verwendung des ssh Ich bin mir nicht sicher über Mac, aber ich erwarte, dass die meisten Linuxes (Linui?) es standardmäßig installiert haben würden.
Öffnen Sie Ihren Terminal-Emulator Ihrer Wahl und verbinden Sie sich wie folgt:
ssh root@<ip-address>
Es wird wahrscheinlich fragen, ob Sie den ECDSA-Schlüssel-Fingerabdruck hinzufügen möchten (was Sie können). Dann geben Sie Ihr Passwort ein und drücken Sie <Enter>.
Für mich wäre es z.B.:
# ssh root@192.168.1.143 The authenticity of host '192.168.1.143 (192.168.1.143)' can't be established. ECDSA key fingerprint is ef:e4:65:dc:b0:a5:21:23:2d:c6:f4:81:3b:ea:1c:28. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.1.143' (ECDSA) to the list of known hosts. root@192.168.1.143's password:
Windows
Du wirst etwas brauchen wie ZUG Ich bin mir nicht sicher, ob ich OTTOMH genau einstelle, aber ich verbinde mich mit <ip-Adresse> auf Port 22. Dann Benutzername 'root' und Passwort, das Sie festgelegt haben.
Anmerkung: Im Gegensatz zu Windows zeigt Linux keine Zeichen an, wenn Sie Ihr Passwort eingeben, also denken Sie nicht, dass etwas nicht stimmt, wenn es so aussieht, als ob das Bemerken passiert, wenn Sie Geben Sie Ihr Passwort ein.
Bauen Sie Ihren ersten ISO
Zur Demonstration (und um zu überprüfen, ob alles gegen ein bekanntes gutes Ziel funktioniert) werden wir den 'Core' Appliance bauen (daauf bauen alle anderen auf).
Verzeichnis ändern in /turnkey/fab/products:
cd products
Klonen Sie den "Core" Appliance Build-Code:
git clone https://github.com/turnkeylinux-apps/core.git
Geben Sie das Kernverzeichnis ein:
cd core
Machen Sie das ISO:
make
Wenn das fertig ist, sollte es ein ISO mit dem Namen 'product.iso' erzeugt haben.
ls build
Ich schlage vor, dass Sie es jetzt umbenennen. Das ist, was ich verwenden würde, damit es einen Zeitstempel-Dateinamen im /turnkey/fab/products-Verzeichnis erzeugt:
mv build/product.iso ../$(basename $(pwd))_$(date --utc +%Y-%m-%d_%H-%MUTC).iso
Angenommen, alles ist so gelaufen, wie es sollte, sollte dies eine ähnliche Datei erzeugen (anderes Datum & Uhrzeit):
/turnkey/fab/products/core_2015-05-22_07-51UTC.iso
Sie können nun die Shell-Umgebung verlassen.
Holen Sie sich das ISO aus Ihrer TKLDev VM
Der einfachste Weg, um das ISO herauszuholen, ist die Verbindung zu Ihrer TKLDev VM über SFTP.
Für GUI-Liebhaber empfehle ich Filezilla (ein großartiger Open-Source-Cross-Plattform-FTP-Client). Für diejenigen mit einer Terminalpräferenz, werden Sie wahrscheinlich Sftp oder Scp wollen, aber das wissen Sie wahrscheinlich schon! :)
Unabhängig davon sollte jede App, die SFTP oder SCP unterstützt, in Ordnung sein (die meisten FTP-Clients sollten heutzutage SFTP unterstützen). Hinweis: Sie benötigen SFTP; nicht einfach FTP, nicht FTPS.
Verbinden Sie sich mit Ihrer VM (mit IP und Root-Benutzer & Passwort). Sie müssen SFTP und / oder Port 22 angeben (es hängt von Ihrem Client ab; Filezilla ist mit einem oder beiden zufrieden).
Navigieren Sie dann zu /turnkey/fab/products/. Ihr Appliance, <Appliance-name-&-datestamp>.iso sollte dort sein, dann laden Sie es einfach herunter...
Bauen Sie ein weiteres ISO
Der einzige wirkliche Unterschied ist, dass man ein anderes Git-Repo in /turnkey/fab/products. klont. Sie können alle Repos auf GitHub finden Hier oder jede Appliance-Seite hat einen Link zum Repo neben "TKLDEV SOURCE:". LAMP Appliance Seite Es gibt einen Link zu it's GitHub RepoAls allgemeine Regel gilt, dass die Repo-URLs https://github.com/turnkeylinux-apps/<Appliance-name>.git.
So bauen Sie das LAMP Appliance:
cd products git clone https://github.com/turnkeylinux-apps/lamp.git cd lamp make
Testen Sie Ihren ISO
Um Ihr ISO zu testen, installieren Sie es einfach auf einer neuen VM, wie Sie es mit TKLDev selbst gemacht haben (gemäß den Anweisungen "Installieren an VM").
Alle Bugs, die Sie erleben, lassen Sie es uns wissen. Issue Tracker ist der ideale Ort, oder wenn Sie nicht sicher sind (wenn es ein Bug oder ein Fehler ist) PEBKAC Fehler) einfach unten posten.
Wenn ein Build fehlschlägt
Da wir uns stark im Entwicklungsmodus befinden, besteht die Möglichkeit, dass ein Build fehlschlägt. Man kann sein, dass der Code kaputt ist (entweder muss aktualisiert werden oder es wurde ein neuer Fehler aufgrund unzureichender Tests eingeführt). Eine andere Möglichkeit ist die Einrichtung und/oder Internetverbindung Ihres Netzwerks. Derzeit benötigt TKLDev eine solide Live-Internetverbindung. make Das Problem wird gelöst.
Wenn Sie Pech haben, einen Build fehlschlagen zu lassen, lassen Sie es uns bitte wissen (besonders wenn Sie es erneut versuchen und es ständig fehlschlägt). Sie können unten posten, einen neuen Thread starten oder ein Problem in unserem TrackerIm Idealfall ist es großartig, wenn Sie das Stacktrace posten können (die letzten ~ 20-30 Zeilen + /- von dem, was auf dem Bildschirm protokolliert ist, sollten in Ordnung sein). Auf diese Weise können wir ein Gefühl dafür bekommen, was den Fehler verursachen könnte, ohne dass wir versuchen müssen, ihn sofort zu reproduzieren.
Wenn Sie den Build (durch Wiederholung) make) und erhalten Sie einfach den gleichen Fehler, dann versuchen Sie vielleicht, die Build-Dateien im Repo zu bereinigen, bevor Sie es ein drittes Mal versuchen.
Wenn Sie planen, ein weiteres Appliance zu bauen, kann ein fehlgeschlagener Build manchmal stören. Wenn Sie sich entwickeln (d. H. Möchten Sie versuchen, den Code zu reparieren und uns zu helfen), dann gibt es bessere Möglichkeiten, aufzuräumen, aber ich überlasse das für einen anderen Blogbeitrag ...
Der einfachste Weg, einen defekten Build zu bereinigen, ist zu laufen:
make clean
Wenn das auch aus irgendeinem Grund fehlschlägt, schlage ich vor, neu zu starten und es erneut zu versuchen.
reboot
Tipps
Halten Sie sich gemeinsam up to date
Während jedes Appliance seinen eigenen individuellen Build-Code hat (in ihm) Eigenes Repository), gibt es auch signifikanten Build-Code, der zwischen Appliances geteilt wird. z.B. die Mehrheit der Appliances sind auf unserer aufgebaut LAMP Appliance. All diesen Code einzeln und individuell zu pflegen, erscheint ein wenig albern, also kombinieren wir so viel gemeinsamen Code wie möglich in einem Repo namens gemeinsam.
Das gängige Repo wird automatisch in TKLDev v14.0 eingerichtet (Sie mussten das Skript entweder manuell installieren oder es selbst in v13.0 klonen). Unabhängig davon, ob es sich um einen Klon des TurnKey GitHub-Repo handelt, bedeutet dies, dass es, wenn Sie es nicht aktualisieren, rechtzeitig zum Zeitpunkt der Einrichtung Ihres TKLDev-Servers eingefroren wird. Keine Sorge, es ist einfach zu aktualisieren.
Unter normalen Umständen wird die gemeinsame nicht sehr oft geändert. Derzeit machen wir jedoch einige schwere entwicklungen, daher ist es eine gute idee, sicherzustellen, dass sie eine aktuelle version von common haben. Die Überprüfung eines Updates ist oft eine gute Idee, wenn Sie einen defekten Build haben.
Um also gemeinsam zu aktualisieren, verwenden Sie diesen einfachen Prozess:
cd common git pull
Die erste Zeile sollte Sie zu /turnkey/fab/common und die zweite Zeile sollte alle Änderungen von GitHub herunterladen und mit dem vorhandenen Code zusammenführen.
Tab. Vervollständigung
<Tab> Fertigstellung ist in TKLDev aktiviert, um Ihnen einige Tipping zu sparen!
Umgehen im Dateisystem
TKLDev hat auch einige voreingestellte Helferpfade, so dass das Bewegen im Dateisystem schneller und einfacher ist.
cd products
Sie werden Sie zu /turnkey/fab/products bringen, egal wo Sie sind.
cd core
Wir bringen Sie zu /turnkey/fab/products/core
Mehrere Appliances erstellen
Nur ein Appliance kann gleichzeitig in TKLDev erstellt werden. Wenn Sie mehrere ISOs gleichzeitig erstellen möchten, benötigen Sie mehrere TKLDev-VMs. Wenn Sie dies nur jetzt entdecken, dann in Ihrem fehlgeschlagenen Appliances, laufen
Reinigen
Bekannter Bug: Intermittierende Probleme Neustart nach der Installation (sollte fixiert werden)
Diese Anmerkung ist historisch und sollte nicht mit der aktuellen Veröffentlichung auftreten. Es gab einen Fehler, bei dem, besonders nach der Installation, Appliances, das in einer VM läuft, bei "Reached target Shutdown" hängen würde, anstatt sauber herunterzufahren / neu zu starten. Wenn Ihnen dies passiert, erzwingen Sie einfach ein "Power Off" oder "Reboot" / "Reset". Solange das Appliance 'Reached target Shutdown' anzeigt, ist dies absolut sicher und führt nicht zu Korruption.