Dokumentation
Anwenden eines Patches (Tutorial)
Terminologie
Voraussetzungen
Installieren TKLPatch
Download des Patches
Anwenden eines Patches
Fortgeschrittenere Nutzung
Anwenden eines Patches aus der GitHub-Quelle
Anwenden eines Patches auf eine OVZ-Vorlage (anstatt ISO)
Terminologie
In der typischen Nutzung (z.B. in den Foren) „TKLPatch kann eines von zwei Dingen bedeuten:
- Der Name des Skripts, das Sie verwenden, um Patches anzuwenden (oder zu entwickeln).
- Die Sache, die auf ein ISO angewendet wird oder Appliance ausführt, um ein Appliance anzupassen.
Voraussetzungen
Du wirst anfangen wollen Installation eines TurnKey-SystemsJedes Appliance wird es tun, aber eine neue Installation von TurnKey Core wird empfohlen.
Theoretisch kann man TKLPatch in jeder Linux-Distribution verwenden, aber es ist nicht so einfach zu installieren und wurde nicht gut getestet.
Installieren TKLPatch
TurnKey ermöglicht die Installation von tklpatch über das Paketverwaltungssystem:
apt-get update apt-get install tklpatch
Download des Patches
Normalerweise werden Patches als komprimierte Dateien an den Thread angehängt, der ein neues TKLPatch im Thread ankündigt. Allgemeines ForumSie können diese Datei aus einem Appliance herunterladen, indem Sie wget verwenden:
wget /files/...
Anwenden eines Patches
Normalerweise ist ein Patch so konzipiert, dass er auf ein bestimmtes Appliance (z. B. TurnKey LAMP) angewendet wird.
Sie haben dann zwei Möglichkeiten:
- Patchen Sie den ISO: Dies passt den ISO an, um einen neuen "gepatchten" ISO zu erstellen, den Sie dann als Appliance installieren können.
tklpatch example-appliance.iso example-patch.tar.gz
- Installieren Sie das ISO und wenden Sie den Patch von innen auf das laufende System an: Dies passt das laufende System im laufenden Betrieb an. Sie müssen tklpatch innerhalb des laufenden Systems installieren (nicht empfohlen, aber möglich - je nach Patch kann das Material kaputt gehen).
tklpatch-apply / example-patch.tar.gz
Hinweis zum Patchen hinter einem Proxy: Wenn Sie sich hinter einem Proxy befinden, werden Patches möglicherweise nicht ordnungsgemäß angewendet (aufgrund der Unfähigkeit, aus dem chroot-Bereich herunterzuladen). Um dies zu umgehen, müssen Sie den Patch extrahieren und die Conf-Datei bearbeiten, um sie einzuschließen
export http_proxy=http://yourproxy:yourport/etc...
Fortgeschrittenere Nutzung
Anwenden eines Patches aus der GitHub-Quelle
Anstatt ein nettes tar.gz-Archiv zu sein, das aus dem entsprechenden TKL-Forum-Post heruntergeladen werden kann, können einige Patches auf GitHub gehostet werden und / oder neuere Entwicklungsversionen auf GitHub gehostet haben. Diese sind nicht allzu schwer zu benutzen, aber sie scheinen zunächst für Uneingeweihte entmutigend zu sein. Hier sind die Schritte.
- Installieren Sie TKLPatch wie oben und cd in Ihrem Home-Verzeichnis
cd ~
- Klonen Sie das entsprechende GitHub-Repo. Diese Adresse kann von der entsprechenden GitHub-Seite abgerufen werden (wenn der Patch auf GitHub gehostet wird, gibt es einen Link im Patch-Forum-Post). In Ihrem Browser sollte die GitHub-Seite so etwas wie github.com/beispiel-Benutzer/beispiel-Patch sein. Die eigentliche git repo Adresse sollte so etwas wie git://github.com/example-user/example-patch.git sein, also gehen Sie voran und klonen Sie das repo so:
git clone git://github.com/example-user/example-patch.git
Dadurch wird ein neuer Ordner in Ihrem Haus mit dem Namen Beispiel-Patch (dh der Name des Patches) erstellt, und der eigentliche Patch wird ein Unterordner davon sein. Diese Informationen finden Sie auf der GitHub-Seite, oder Sie können einfach den lokalen Ordner selbst durchsuchen.
- Wie bei einem normalen Patch (oben) können Sie ein ISO (1 - unten) oder direkt auf das installierte System (2 - unten - in der Regel nicht ratsam, aber theoretisch möglich - YMMV) patchen. So bewaffnet mit dem Namen des Unterordners im GitHub-Repo, den Sie gerade geklont haben, und vorausgesetzt, Sie sind wieder in Ihrem Heimordner ("~") (und wenn Sie Methode 1 verwenden, haben Sie die relevanten ISO auch dort heruntergeladen) Patching ist so einfach wie:
tklpatch example-appliance.iso example-patch/subfolder
ODER
tklpatch-apply / example-patch/subfolder
Anwenden eines Patches auf eine OVZ-Vorlage (anstatt ISO)
Idealerweise könnte TKLPatch erweitert werden, um andere Bildformate als Patching-Ziele (dh nicht nur ISOs) aufzunehmen. In der Zwischenzeit ist es relativ einfach, eine OVZ-Vorlage zu patchen, und der Prozess ist etwas ähnlich wie oben. Das Anwenden des Patches auf die laufende Vorlage ist pro normal (oben) - dies bedeutet, dass ein Patch auf eine Vorlage vor dem Start angewendet wird.
Alle vorherigen Schritte sind die gleichen wie oben, außer der Anwendung des Patches auf die Vorlage. Natürlich brauchen Sie die entsprechende Vorlage (und den Patch), die Sie in Ihr Arbeitsverzeichnis herunterladen müssen.
mkdir template-temp-folder tar xfz tkl-ovz.template.tar.gz -C template-temp-folder/ tklpatch-apply template-temp-folder/ tklpatch.tar.gz #or tklpatch-dir/ cd template-temp-folder tar cfz template-patched.tar.gz *
Wenn alles reibungslos verlaufen ist, haben Sie jetzt eine gepatchte OVZ-Vorlage (template-patched.tar.gz)