Wie wechsle ich PPA-Benutzer von einem PPA zu einem anderen?

8

Ich muss vorhandene Benutzer von einem PPA auf einen anderen PPA umstellen, daher ist dies eine Frage, wie der Übergang automatisiert werden kann, ohne die Benutzer so wenig wie möglich zu beeinträchtigen.

Etwas präziser:

Ich habe PPAs für PHP 5.5 und PHP 5.6 , die PHP-Pakete im alten Stil verwenden, die vor Xenial verwendet wurden, und sie haben ziemlich viele Benutzer.

Jetzt habe ich eine neue PPA erstellt, die PHP 5.5, PHP 5.6 und PHP 7.0 enthält, und ich würde die Benutzer alter PPAs bitten, zu dieser neuen PPA zu wechseln. Ich habe ein paar Ideen, wie man das allgemein macht, aber ich hätte gerne mehr Input von der AskUbuntu-Community.

Bitte bringen Sie Ihre Gedanken über Kommentare ein, bearbeiten Sie die Antworten unten direkt oder fügen Sie Ihren eigenen Vorschlag hinzu.

oerdnj
quelle
Schöne Antworten ...
simhumileco

Antworten:

3

Option 3 - Fügen Sie die neue PPA automatisch hinzu

Dies ist wie 2, php5-commonwürde jedoch automatisch die neue PPA hinzufügen, sodass die neuen Pakete nach dem nächsten apt-get updateLauf verfügbar wären . Optional könnte es eine Debconf-Frage geben, ob die Benutzer möchten, dass die PPA automatisch hinzugefügt wird, oder ob sie dies selbst tun.

  • Vorteile:
    1. Ein einziges Repository
    2. Kein automatischer Übergang
    3. Benutzer können ihren Übergangsplan vorbereiten
    4. Pakete können sofort installiert werden
    5. Das Hinzufügen von PPA aus demselben Namespace funktioniert möglicherweise einwandfrei
  • Nachteile:
    1. Einige Benutzer werden die Ankündigung verpassen, egal wie sehr Sie es versuchen
    2. Das automatische Hinzufügen von zusätzlichem PPA scheint ein Sicherheitsrisiko zu sein
    3. Das Hinzufügen von zusätzlichem PPA aus einem anderen Namespace erfordert das Löschen zusätzlicher GPG-Schlüssel, /etc/apt/trusted.gpg.d/und dies scheint auch ein Sicherheitsrisiko zu sein
oerdnj
quelle
Es gibt php-ppaPaket in der alten ppa:ondrej/php5und ppa:ondrej/php5-5.6, so können Sie es bereits versuchen.
Oerdnj
Ich sehe kein Sicherheitsrisiko beim Hinzufügen eines ppa (entweder vertrauen sie Ihnen und alles ist in Ordnung, oder sie tun es nicht und dann sollten sie Ihre Pakete zunächst nicht verwenden)?
9.
@JanC Vielen Dank für das Feedback. Trotzdem würde es mich beunruhigen, wenn die Pakete zusätzliche PPAs hinzufügen würden, ohne vorher zu fragen, aber ich habe bereits eine Debconf-Frage dafür implementiert, daher denke ich, dass es in Ordnung sein sollte.
Oerdnj
Ja, natürlich ist es eine gute Idee, Ihre Benutzer vorher und / oder zu einem bestimmten Zeitpunkt zu warnen und in einer CHANGES-Datei oder dergleichen zu dokumentieren.
10.
Übrigens: Vielleicht möchten Sie irgendwann auch regelmäßige,
unveränderte Neuerstellungen
2

Option 2 - Erstellen Sie einen Abschreibungsplan und informieren Sie die Benutzer prominent

  • Vorteile:
    1. Ein einziges Repository
    2. Kein automatischer Übergang
    3. Benutzer können ihren Übergangsplan vorbereiten
  • Nachteile:
    1. Einige Benutzer werden die Ankündigung verpassen, egal wie sehr Sie es versuchen
    2. Es wird Leute geben, die sagen: "Bitte, tu das nicht."
    3. Kein automatischer Übergang
oerdnj
quelle
1

Option 1 - Nichts tun

  • Vorteile:
    1. Benutzer sind glücklich
  • Nachteile:
    1. Jedes doppelte Quellpaket muss zwei Versionen des Build-Skripts enthalten
    2. Überladener und unglücklicher PPA-Betreuer
oerdnj
quelle
1

Option 4 - Vollautomatischer Übergang

Dies ist wie Option 3, fügt jedoch Dummy-Pakete hinzu, die die alten ersetzen php5*und die neuen ziehenphp5.6*

  • Vorteile (einschließlich Vorteile aus Option 3):
    1. Wenn alles wie erwartet funktioniert, ist dies möglicherweise die beste Option, da die Benutzer die neuen Pakete ohne Arbeit an ihrer Seite haben
  • Nachteile (einschließlich Nachteile aus Option 3):
    1. Der Schalter entfernt Änderungen, die an den alten Konfigurationsdateien vorgenommen wurden, oder der Übergang erfordert einige komplexe Betreuerskripte, um die alte Konfiguration an die neuen Speicherorte zu verschieben
    2. Das Dummy-Paket muss mindestens einige Konfigurationen für die Einrichtung des FPM-Sockets und alte Namen enthalten, um die Kompatibilität mit alten Setups nicht zu beeinträchtigen (verwenden Sie Update-Alternativen für die Einrichtung, /usr/bin/php5um darauf zu verweisen /usr/bin/php5.6).
oerdnj
quelle