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:
-
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)
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".
|