Start   Impressum   Lizenz         online lesen   Download         Online-Shop   Jumping Blue Turtle

Debian für Unternehmer - Debian-Know-how

0150a: Anmerkungen zu Modul 0150

1. Anmerkung zur Vokabel "wandern"

Mit der Vokabel "wandern" lässt sich recht anschaulich beschreiben, was während des Debian-Entwicklungsprozesses passiert. Um den Prozess vollständig verstehen zu können, müssen jedoch einige Details noch etwas genauer beleuchtet werden.

1.1. Wenn etwas wandert, dann wird kopiert

Grundsätzlich können Sie als Debian-Anwender zunächst davon ausgehen, dass, wenn Pakete und Programme von unstable nach testing, von testing nach stable oder von stable nach oldstable wandern, tatsächlich Kopien angefertigt werden:

  • Wenn (sofern testing sich nicht im Zustand "freeze" befindet) ein Paket von unstable nach testing wandert, dann wandert immer nur eine Kopie nach testing. Das Original verbleibt natürlich in unstable und wird dort weiterentwickelt. Durch die Weiterentwicklung in unstable erhöht sich dann auch die Paket- oder Programm-Version, allerdings ausschließlich in unstable.
  • Wenn die Pakete (alle zusammen, am Tag des Releases) von testing nach stable wandern, dann wandern ebenfalls nur Kopien nach stable. Die Originale verbleiben in testing und können dort von aus unstable kommenden neueren Paket- oder Programm-Versionen überschrieben werden.
  • Wenn die Pakete (alle zusammen, am Tag des Releases) von stable nach oldstable wandern, dann bleibt es Ihnen überlassen, ob Sie sich vorstellen, ob
    • A) die Inhalte von stable nach oldstable kopiert werden, und anschließend die Inhalte in stable von den aus testing kommenden Inhalten überschrieben werden   oder
    • B) die Inhalte von stable nach oldstable verschoben werden.
1.2. Bewegungen sind immer relativ

In der Physik erklärt das Konzept der Bezugssysteme dem Naturwissenschaftler, dass es auf den Standpunkt des Beobachters ankommt, was stillsteht und was sich bewegt:

  • Steht der Beobachter auf dem Bahnsteig, dann ruht der Bahnsteig und der Zug bewegt sich.
  • Sitzt der Beobachter im fahrenden Zug, dann ruht der Zug und der Bahnsteig bewegt sich, und zwar am Zug vorbei.

Aus der Sicht eines Debian-Anwenders (der sozusagen im Zug sitzt) wandern Pakete und Programme von unstable nach testing, von testing nach stable und von stable nach oldstable. Das sollte reichen, um grundsätzlich zu verstehen, was hier passiert.

Aus der Sicht der Debian-Entwickler (die sich auf dem Bahnsteig befinden) kann die Situation wieder anders aussehen. Eine im Debian-Forum vorgestellte Theorie (leider fehlen mir dazu die Fakten) sieht so aus:

  • Für alle aktuellen Debian-Distributionen existieren Verzeichnisse, die als Name jeweils den aktuell vergebenen Namen der entsprechenden Debian-Distributionen tragen. Beispiel: Am 01.01.2009 gab es 4 Verzeichnisse mit den folgenden Namen:
    • sid
    • lenny
    • etch
    • sarge
  • Die Debian-Distributionen werden in Form von Symlinks den Namen zugeordnet. Beispiel für den 01.01.2009:
    • unstable —> sid
    • testing —> lenny
    • stable —> etch
    • oldstable —> sarge
  • Wenn Pakete von unstable nach testing wandern, dann werden sie kopiert.
  • Bei einem Release (z.B. am 14.02.2009) passiert Folgendes:
    • Ein neuer Name für testing wird vergeben (squeeze)
    • Der Inhalt des Verzeichnisses lenny wird in das neu angelegte Verzeichnis squeeze kopiert
    • Alle Symlinks werden umgebogen. Zustand nach dem Umbiegen:
      • unstable —> sid (gleicher Zustand wie vorher)
      • testing —> squeeze (vorher: lenny)
      • stable —> lenny (vorher: etch)
      • oldstable —> etch (vorher: sarge)
1.3. Repository-Sicht

Eine weitere Sicht kann die Sicht einer Person sein, die ein Debian-Repository pflegt oder auf ein solches zugreift. In Debian-Repositories sieht die Situation wie folgt aus:

  • Pakete und Programme befinden sich innerhalb des Debian-Repository's im "pool"-Verzeichnis.
  • Die Verwaltung der Debian-Distributionen findet im "dists"-Verzeichnis statt.
  • Wenn aus der Sicht eines Debian-Anwenders Pakete zwischen Debian-Distributionen wandern, dann nur deswegen, weil die Debian-Entwickler im "dists"-Verzeichnis in den "Packages"-Dateien (z.B. unter "dists/etch/main/binary-i386/Packages") im Feld "Filename:" andere Paket-Versionen eingetragen haben.
  • Tatsächlich werden daher bei "Paketwanderungen" nicht die Pakete selbst kopiert (die bleiben, wo sie sind), sondern die Inhalte der Felder "Filename:" werden kopiert.
    • Beispiel: Wenn aus Sicht eines Debian-Anwenders ein Paket von unstable nach testing wandert, dann wandert aus Sicht des Debian-Entwicklers tatsächlich nur der Eintrag eines "Filename:"-Feldes von "dists/unstable/main/binary-i386/Packages" nach "dists/testing/main/binary-i386/Packages".