Dokumentation
So aktualisieren Sie die App XYZ in meinem TKL Appliance [für Linux-Newbs]
...work in progress ... Ich habe mich ursprünglich vorgenommen, dies für Newbs einfach und leicht zu lesen zu machen, aber es ist viel voller als beabsichtigt ... Feedback willkommen.
Für Informationen zur Installation von Apps über Paketverwaltung (dh apt) siehe Hier.
Dies ist eine schwierige Frage, die wahrscheinlich eine spezifische Antwort für jede einzelne App erfordert, die Sie installieren oder aktualisieren / aktualisieren möchten. Leider geht das über den Rahmen dieses "How-To" hinaus und erfordert zusätzliche Arbeit von Ihrer Seite. Sie können Glück haben und finden, dass ein manueller Installations- oder Upgrade- / Update-Pfad von einem früheren TKL-Community-Mitglied dokumentiert wurde (versuchen Sie die Foren zu durchsuchen - oben rechts), wenn nicht, Bitte lesen Sie weiter. Diese Seite enthält eine Erklärung der wichtigsten Möglichkeiten, wie Apps von TKL-Core-Entwicklern installiert werden, eine Begründung, warum sie es so gemacht haben und welche allgemeinen Schritte Sie möglicherweise unternehmen müssen. Installieren oder aktualisieren/aktualisieren Sie die individuelle App in Ihrem TKL Appliance.
Bevor Sie anfangen
Ich empfehle Ihnen dringend, mit der aktuellen TKL Appliance-Version (v11.3 wie zum Zeitpunkt des Schreibens) zu beginnen. ich empfehle auch dringend, dass Sie jeden Schritt genau dokumentieren, während Sie gehen. Es macht es einfacher, Fehler zu beheben, wenn Sie nicht sofort die gewünschten Ergebnisse erhalten. Auch wenn Sie fertig sind, können Sie Ihre abgeschlossene schrittweise Dokumentation mit der Community teilen - wie es alle guten Open-Source-Bürger tun sollten! :
Für Benutzer ohne aktuelles Appliance mit vorhandenen Daten, springen Sie direkt zur nächsten Überschrift. Wenn Sie aktuelle Daten in einem Appliance haben und wenn Sie nicht mindestens v11.x verwenden, empfehle ich Ihnen dringend, sich zuerst darum zu kümmern.TKLBAM funktioniert gut für mich) und führen Sie eine Testwiederherstellung für eine saubere Installation durch (VMs sind für Aufgaben wie diese praktisch).
Einige Apps erfordern möglicherweise, dass Sie die Daten beim Aktualisieren / Aktualisieren von Versionen manuell migrieren. Dies wird häufiger der Fall sein, wenn Sie größere Versionsupdates durchführen - bitte überprüfen Sie die Dokumentation der betreffenden App (hoffentlich wird es auf ihrer Website sein). Ich schlage vor, dass Sie ein Testlauf des Upgrades auf dieser VM vor Ihrer Hauptinstanz durchführen.
Im schlimmsten Fall können Sie Ihr TKLBAM-Backup verwenden, um von vorne zu starten, ohne Ihre aktuell laufende Instanz zu beschädigen.
Die wichtigsten Möglichkeiten, wie Apps installiert werden
Die wichtigsten Möglichkeiten, wie die Kern-TKL-Entwickler Apps installieren, wenn sie Appliances erstellen, sind:
- Paketverwaltung oder
- Upstream-Archive (oft als "Tarballs" bezeichnet). Streng genommen sind Tarballs immer nur tar.gz (oder tar.bz2) Archive, aber manchmal Upstream-Entwickler Paket als Zip-Dateien statt (die technisch nicht Tarballs sind). Für die Zwecke dieser Dokumentation bezieht sich Tarballs auf jedes vorgelagerte App-Archiv.
- Sonstiger vorgelagerter Quellcode. AFAIK TKL-Entwickler installieren im Allgemeinen nichts von Upstream-Versionskontroll-Repos (z. B. SVN / Git / Mercurial / etc.) und / oder manuell kompilierten Quellcode, da diese oft nicht stabil sind. Obwohl ich bemerkt habe, dass immer mehr Entwickler sich dafür entscheiden, auch stabile Zweige über dieses Mittel bereitzustellen (also habe ich mich entschieden, es einzubeziehen).
Paketmanagement (offizielles Repo)
Diese Apps werden mit dem apt-get install <packagename> Befehl und (im Allgemeinen) wird aus den offiziellen Ubuntu-Repositories kommen. Im Allgemeinen werden diese Pakete in der gleichen Hauptversion wie zum Zeitpunkt der Veröffentlichung aufbewahrt (dh April 2010 im Fall von Ubuntu 10.04 - die Grundlage von TKL v11.x). Für weitere Informationen zur Verwendung von apt siehe Hier.
Um die Verwirrung hinzuzufügen, gibt es auch ein offizielles, aber nicht offiziell unterstütztes Ubuntu-Repo namens "Universum". Die Pakete in diesem Repo sind keine garantierten Sicherheitsupdates (obwohl sie möglicherweise von der Community bereitgestellte Patches erhalten und es einige Ausnahmen wie MediaWiki gibt). Es gibt auch ein weiteres offizielles Ubuntu-Repo namens "Backports" (das wiederum nicht offiziell unterstützt wird), das neuere / aktualisierte Versionen von Software enthält als das, was ausgeliefert wurde Obwohl dies wie ein glückliches Medium erscheinen mag, gibt es meiner Erfahrung nach selten etwas Interessantes außer YMMV.
Pros
Trotz der Tatsache, dass die wichtigsten Versionen dieser Apps nicht aktualisiert werden, bedeutet dies nicht, dass sie überhaupt nicht aktualisiert werden. Im Allgemeinen werden alle sicherheitsrelevanten Bugs zurückportiert (und gelegentlich auch andere ernsthafte Bugfixes) - auf Apps im "Haupt"-Repo sowieso (die Updates erscheinen in "Sicherheit"). Diese werden automatisch über den automatisierten Sicherheitsupdate-Mechanismus von TKL angewendet.
Dieser Installations- und Aktualisierungsprozess maximiert die Sicherheit und Stabilität und minimiert das Risiko unerwarteter Probleme. Es minimiert auch die Wartungs-Overheads, was zu einer erhöhten Produktivität führt. Die Risiken, dass Daten beschädigt werden oder Ausfallzeiten für Ihr Appliance sind sehr begrenzt (obwohl es offensichtlich immer noch am besten ist, regelmäßige Backups zu halten - nur für den Fall).
Wenn also nicht die neueste Version benötigt wird (z. B. ein "Show-Stopper" -Bug oder eine benötigte Funktion), ist es im Allgemeinen vorzuziehen, diese Apps so zu lassen, wie sie sind. Windows-Benutzer, die neu bei Linux sind, können feststellen, dass dies im Widerspruch zu ihrem üblichen Prozess steht, immer auf die "neueste und beste" Version der Software zu aktualisieren, aber in vielen Szenarien ist es wirklich Besser!
Conseid
Der Nachteil ist, dass neue Funktionen fast nie hinzugefügt werden und kleinere Fehler (und manchmal sogar größere) nicht angesprochen werden (bis zur nächsten großen Version von TKL - wo die App Die Versionsnummer wird oft erheblich springen. Auch vereinfachte Sicherheits-Auditing-Software (die nur die Software-Versionsnummern überprüft) wird oft fälschlicherweise Apps als "unsicher" und mit Schwachstellen auflisten, wenn sie tatsächlich Sie wurden gepatcht - also falsch positiv.
Auch manchmal können Apps, die so installiert sind, für Ex-Windows Linux-Newbs etwas verwirrend sein, da sich alles an der gleichen Stelle befindet (z. B. in einem Unterordner des Webroots). Sie können durch das Linux-Dateisystem an einigen verschiedenen Stellen verteilt werden (z. B. werden normalerweise Konfigurationsdateien in /etc/<Appname>TKL versucht, dies zu mildern, indem es Symlinks zur Position der Daten bereitstellt.
Paketmanagement (Drittanbieter-Repo)
AFAIK TKL-Entwickler bieten derzeit keine Appliances an, die Apps von Repos von Drittanbietern enthalten. Wenn verfügbar, kann es ein guter Weg sein, wenn ein Dritter ein Repo anbietet, das eine kompatible App enthält.
Manchmal haben Sie das Glück, dass die Upstream-Entwickler der gewünschten App ein eigenes Repo anbieten. Dieses Repo kann auf seiner eigenen Website gehostet werden, oder vielleicht irgendwo wie ein PPA (Personal Package Archive) auf LaunchPad. Manchmal finden Sie eine dritte Partei (dh jemand, der nicht mit den vorgelagerten Entwicklern beteiligt ist) wird ihre eigenen Repo produzieren (wahrscheinlicher ein PPA sein, aber möglicherweise nicht). Persönlich habe ich im Allgemeinen gute Ergebnisse mit LaunchPad erzielt, aber es kann getroffen und verpasst werden.
Pros
Repos von Drittanbietern werden in der Regel viel häufiger aktualisiert als offizielle Repos (obwohl dies von der dritten Partei abhängt). Offizielle Repos (PPAs oder anderweitig) sind in der Regel sicher und vertrauenswürdig und bieten (in der Regel) minimalen Aufwand für die Aktualisierung von Apps. IMO diese können oft sogar besser als die offiziellen Ubuntu Repos sein.
Conseid
Wenn sie inoffiziell sind, können Repos von Dritten von unbekannter Qualität und Vertrauenswürdigkeit sein.
Upstream Tarballs (und andere Quelle)
Wie oben vorgeschlagen, sind vorgelagerte Tarballs Archive, die alle für die Installation der App erforderlichen Dateien enthalten, die direkt vom vorgelagerten Entwickler bereitgestellt werden. Diese sind oft generisch in der Natur, aber in der Regel eine Art Mindestanforderung haben. Webapps (dh Apps, die auf einem Webserver z. B. MediaWiki laufen) werden sehr häufig so bereitgestellt. Bevor Sie überhaupt ein Upgrade auf einen vorgelagerten Tarball in Betracht ziehen, sollten Sie überprüfen, ob alles, was benötigt wird, von Ubuntu 10.04 leicht befriedigt werden kann (nach meiner Erfahrung ist dies der Fall) ist in der Regel der Fall mit Mainstream-Apps, obwohl YMMV. Wenn Sie ein bestehendes TKL Appliance aktualisieren, das eine App aus der Paketverwaltung verwendet, müssen Sie es wahrscheinlich entfernen. In einigen Fällen kann es sogar vorzuziehen sein, mit einer Vanille-LAMP-Installation zu beginnen (anstatt eine vorhandene Appliance zu aktualisieren).
Pros
Upstream Tarballs werden immer die neueste Version der Software haben und alle neuesten Funktionen enthalten (sowie alle neuesten Bugs :p). Oft haben vorgelagerte Entwickler 2 Zweige: stabil (dies ist derjenige, den Sie für die Produktion wünschen) und Entwicklung (dies kann einige coole neue Schneidefunktionen enthalten, aber Dies ist insbesondere dann relevant, wenn sie ihre Quelle über ein Versionskontroll-Repo (wie SVN oder Git usw.) bereitstellen.
Conseid
Sobald Sie sich für eine Upstream-Version entschieden haben, müssen Sie alle zukünftigen Updates manuell anwenden, sobald sie veröffentlicht werden. Während die Idee, das "neueste und beste" zu haben, attraktiv sein kann, müssen Sie auch die erhöhten Wartungskosten und Sicherheitsrisiken berücksichtigen (wenn Sicherheitsfehler nicht möglich sind). manuell schnell angesprochen, wenn sie entstehen. Für eine kleine Website mit wenig wichtigen Daten und einem guten Backup-Regime ist ein erhöhtes Sicherheitsrisiko und ein wenig zusätzliche Wartung mit einer vorgelagerten Quelle möglicherweise ein Kinderspiel. Vor allem, wenn es Show-Stopper-Bugs und / oder neue Funktionen gibt, die in der vorgefertigten Version nicht vorkommen (oder wenn es keine gibt!).
Wie oben erwähnt, es sei denn, Sie haben einen guten Grund, Sie sind besser dran, mit der Version aus dem offiziellen Ubuntu Repos zu bleiben.
Woher installieren TKL-Entwickler und warum?
Wenn die TKL-Core-Entwickler ein Appliance veröffentlichen, berücksichtigen sie diese oben genannten Faktoren und entscheiden, ob sie die vorgefertigte Version (falls verfügbar) oder die Upstream-Version. Zum Beispiel in Appliances wie MediaWiki, entschieden die Entwickler, dass die vorgefertigte Version adequite ist und ließen sie dabei. Mit Moodle entschieden sich die Entwickler, von Upstream aus zu installieren, da die vorgefertigte Version (v1.9) einige ziemlich ernste Fehler hatte und die neue Upstream-Version (v2.0) einige starke neue Fehler hatte. Features (außerhalb Moodle ist nur im 'Universum' Repos verfügbar - siehe weitere Überlegungen unten zur Erklärung). In einigen anderen Fällen (wie Redmine IIRC) ist die vorgefertigte Version einfach so alt und es fehlen so viele Funktionen, dass es nicht viel Wahl gibt, als Upstream zu verwenden. Dinge wie Joomla sind einfach nicht über Ubuntu verfügbar, so dass die einzige Möglichkeit, sie anzubieten, die Verwendung von Upstream ist.