# 4. Ressourcen für Debian Mitglieder

In diesem Kapitel finden Sie eine sehr kurze Roadmap der Debian-Mailinglisten, der Debian-Maschinen, die Ihnen als Mitglied zur Verfügung stehen, und aller anderen Ressourcen, die Ihnen bei Ihrer Arbeit zur Verfügung stehen.

## 4.1. Mailinglisten

Viele Unterhaltungen zwischen Debian-Entwicklern (und Anwendern) laufen über ein weites Feld von Mailinglisten, die auf `lists.debian.org` untergebracht sind. Mehr darüber, wie Sie diese Listen abonnieren oder abbestellen können, wie Sie Nachrichten abschicken, wo Sie alte Nachrichten finden und suchen können, wie Sie Listenbetreuer kontaktieren können sowie verschiedene sonstige Informationen über Mailinglisten erfahren finden Sie auf https://www.debian.org/MailingLists/. Dieser Abschnitt wird nur die Gesichtspunkte der Mailinglisten aufzeigen, die von besonderem Interesse für Entwickler sind.

### 4.1.1. Grundregeln für die Benutzung

Wenn Sie auf Nachrichten auf der Mailingliste antworten, senden Sie bitte keine Kopie (`CC`) an den ursprünglichen Verfasser, außer, wenn dieser explizit darum bittet. Jeder, der an eine Mailingliste schreibt, sollte sie lesen, um die Antworten zu sehen.

Kreuzversand (die gleiche Nachricht an mehrere Listen senden) ist unerwünscht. Kürzen Sie, wie immer im Netz, die Zitate von Artikeln, auf die Sie antworten. Halten Sie sich bitte an die allgemeinen Gepflogenheiten beim Versand von Nachrichten.

Bitte lesen Sie den Leitfaden, um weitere Informationen zu erhalten. Die Debian Community Guidelines sind es ebenfalls wert, gelesen zu werden.

### 4.1.2. Haupt-Entwickler-Mailinglisten

Die Haupt-Debian-Mailinglisten, die Entwickler nutzen sollten, sind:

- `debian-devel-announce@lists.debian.org`, wird benutzt, um Entwicklern wichtige Dinge anzukündigen. Es wird von allen Entwicklern erwartet, dass sie diese Liste abonnieren.

- `debian-devel@lists.debian.org`, wird benutzt, um über verschiedene entwicklungsbezogene technische Themen zu reden.

- `debian-policy@lists.debian.org`, wird benutzt, um über die Debian-Richtlinien zu diskutieren und darüber abzustimmen.

- `debian-project@lists.debian.org`, wird benutzt, um über verschiedene entwicklungsbezogene, nicht technische Themen zu reden.

Es sind weitere Mailinglisten für unterschiedliche spezielle Themen verfügbar. Eine Liste finden Sie unter https://lists.debian.org/.

### 4.1.3. Spezielle Listen

`debian-private@lists.debian.org` ist eine besondere Mailingliste für private Unterhaltungen zwischen Debian-Entwicklern. Das heißt, sie sollte benutzt werden, um über Dinge zu reden, die aus irgend einem Grund nicht veröffentlicht werden sollen. Eigentlich ist es eine Liste mit geringem Umfang und Benutzer werden angehalten, `debian-private@lists.debian.org` nicht zu benutzen, so lange es nicht wirklich nötig ist. Leiten Sie außerdem keine E-Mail von dieser Liste an jemanden weiter. Es sind aus naheliegenden Gründen keine Archive dieser Liste im Web verfügbar, aber Sie können sie sehen, indem Sie Ihr Shell-Konto auf `master.debian.org` benutzen und in das Verzeichnis `~debian/archive/debian-private/` schauen.

`debian-email@lists.debian.org` ist eine besondere Mailingliste, die als Wundertüte für Debian-bezogene Korrespondenz, wie den Kontakt zu ursprünglichen Autoren über Lizenzen, Fehler, etc. oder Diskussionen über das Projekt mit anderen benutzt wird, wobei es nützlich sein könnte, dass die Diskussion irgendwo archiviert wird.

### 4.1.4. Antrag auf neue entwicklungsbezogene Listen

Bevor Sie eine Mailingliste anfordern, die sich auf die Entwicklung eines Pakets (oder einer kleinen Gruppe verwandter Pakete) bezieht, sollten Sie überlegen, ob die Verwendung eines Alias eventuell besser geeignet wäre. So ein Alias wird durch einen Eintrag in eine `.forward-aliasname`-Datei auf master.debian.org angelegt, der dann eine Ihr-Aliasname@debian.org E-Mail Adresse gewissermaßen übersetzt.

Falls Sie entscheiden, dass eine reguläre Mailingliste auf lists.debian.org wirklich das ist was Sie wollen – nur zu. Füllen Sie eine Anfrage aus und folgen Sie diesem HOWTO.

## 4.2. IRC-Kanäle

Mehrere IRC-Kanäle sind für die Entwicklung von Debian bestimmt. Sie werden hauptsächlich auf dem Open and free technology community (OFTC)-Netzwerk gehostet. Der DNS-Eintrag `irc.debian.org` ist ein Alias für `irc.oftc.net`.

Der Hauptkanal für Debian ist im Allgemeinen `#debian`. Dies ist ein großer Kanal für allgemeine Zwecke, auf dem Benutzer aktuelle Neuigkeiten im Inhalt finden, der von Robotern bereitgestellt wird. `#debian` ist für englischsprachige Nutzer. Es gibt auch `#debian.de`, `#debian-fr`, `#debian-br` und andere Kanäle mit ähnlichen Namen für anderssprachige Nutzer.

Der Hauptkanal für die Debian-Entwicklung ist `#debian-devel`. Es ist ein sehr aktiver Kanal; es werden normalerweise mindestens 150 Leute zu jeder Tageszeit dort sein. Es ist ein Kanal für Leute, die an Debian arbeiten, es ist kein Support-Kanal (dafür gibt es `#debian`). Das Themengebiet enthält normalerweise interessante Informationen für Entwickler.

Da `#debian-devel` ein offener Kanal ist, sollten Sie dort nicht über Probleme sprechen, die in `debian-private@lists.debian.org` diskutiert werden. Es gibt einen anderen Kanal für diesen Zweck. Er heißt `#debian-private` und ist durch einen Schlüssel geschützt. Dieser Schlüssel ist unter `master.debian.org:~debian/misc/irc-password` verfügbar.

Es gibt andere zusätzliche Kanäle, die besonderen Themen gewidmet sind. `#debian-bugs` wird für die Koordination von Bug-Squashing-Parties benutzt. `#debian-boot` wird benutzt, um die Arbeit am Debian-Installationsprogramm zu koordinieren. `#debian-doc` wird gelegentlich benutzt, um über die Dokumentation zu reden, wie beispielsweise über das Dokument was Sie aktuell gerade lesen. Andere Kanäle beschäftigen sich mit einer Architektur oder einer Zusammenstellung von Paketen: `#debian-kde`, `#debian-dpkg`, `#debian-perl`, `#debian-python`...

Es existieren außerdem einige nicht englische Entwicklerkanäle, zum Beispiel `#debian-devel-fr` für französchischsprachige Leute, die an der Entwicklung von Debian interessiert sind.

Speziell Debian gewidmete Kanäle gibt es auch in anderen IRC-Netzwerken.

## 4.3. Dokumentation

Dieses Dokument enthält viele Informationen, die für Debian-Entwickler nützlich sind, es kann aber auch nicht alles enthalten. Die meisten anderen interessanten Dokumente sind in der Entwickler-Ecke verlinkt. Nehmen Sie sich die Zeit alle diese Verweise zu durchstöbern – Sie werden viele weitere Dinge lernen.

## 4.4. Debian-Maschinen

Debian hat mehrere Computer, die als Server fungieren, die meisten davon, um kritische Funktionen für das Debian-Projekt bereitzustellen. Die meisten dieser Maschinen werden für Portierungzwecke benutzt und alle haben eine permanente Verbindung ins Internet.

Einige der Maschinen stehen einzelnen Entwicklern so lange zur Verfügung, wie die Entwickler die Regeln befolgen, die in den Debian-Rechner Benutzungsrichtlinien festgelegt wurden.

Allgemein gesprochen können Sie diese Maschinen nach Belieben für Debian-bezogene Zwecke nutzen. Bitte seien Sie freundlich zu den Systemadministratoren und verbrauchen Sie nicht massenhaft Plattenplatz, Netzwerk-Bandbreite oder CPU, ohne zuerst die Zustimmung der Systemadministratoren eingeholt zu haben. Üblicherweise werden diese Maschinen von Freiwilligen betrieben.

Bitte achten Sie darauf, Ihre Debian-Passwörter und SSH-Schlüssel, die auf Debian-Maschinen installiert sind, zu schützen. Vermeiden Sie Methoden zum Anmelden oder Hochladen, die Passwörter unverschlüsselt über das Internet übertragen, wie Telnet, FTP, POP, etc.

Bitte legen Sie kein Material auf Debian-Servern ab, das keinen Bezug zu Debian hat, nicht einmal, wenn Sie eine vorrangige Berechtigung haben.

Die aktuelle Liste von Debian-Maschinen ist unter https://db.debian.org/machines.cgi verfügbar. Diese Web-Seite enthält Maschinennamen, Kontaktinformationen darüber, wer sich anmelden kann, SSH-Schlüssel etc.

Falls Sie ein Problem mit einer Transaktion auf einem Debian-Server haben und der Ansicht sind, dass die Systemverwalter über dieses Problem informiert werden sollten, können Sie die Liste offener Probleme in der Warteschlange des DSA-Teams (Debian System Administration) vom Request Tracker unter https://rt.debian.org/ prüfen (Sie können sich als Benutzer "debian" anmelden, dessen Passwort ist unter `master.debian.org:~debian/misc/rt-password` verfügbar). Um ein neues Problem zu melden, senden Sie einfach eine E-Mail an `admin@rt.debian.org` und stellen Sie sicher, dass der Betreff die Zeichenkette "Debian RT" enthält. Um das DSA-Team per E-Mail zu kontaktieren, verwenden Sie für alles, was private oder vertrauliche Informationen enthält und die nicht veröffentlicht werden soll die Adresse `dsa@debian.org`, für alles andere benutzen Sie bitte `debian-admin@lists.debian.org`. Das DSA-Team ist auch auf dem IRC-Kanal `#debian-admin` im OFTC erreichbar.

Falls Sie ein Problem mit einem bestimmten Dienst haben, der sich nicht auf die Systemadministration bezieht (wie beispielsweise Pakete, die aus dem Archiv entfernt werden sollen, Vorschläge für die Website, etc.) schreiben Sie einen Fehlerbericht zu einem "Pseudo-Paket". Informationen darüber, wie Sie Fehlerberichte versenden, finden Sie unter Fehler berichten.

Einige der Hauptserver werden eingeschränkt, aber die Informationen von dort werden auf einen anderen Server gespiegelt.

### 4.4.1. Der Bug-Tracking-Server

`bugs.debian.org` ist der anerkannte Ort für die Fehlerdatenbank, das BTS (Bug Tracking System).

Falls Sie statistische Auswertungen oder Verarbeitungen von Debian-Fehlern planen, wäre dies der richtige Ort dafür. Bitte schildern Sie indes Ihre Pläne auf `debian-devel@lists.debian.org` bevor Sie etwas implementieren, um unnötige Doppelarbeit oder vergeudete Ausführungszeit zu vermeiden.

### 4.4.2. Der FTP-Master-Server

Auf dem Server `ftp-master.debian.org` liegt die autorisierte Kopie des Debian-Archivs. Generell landen nach ftp.upload.debian.org hochgeladene Pakete auf diesem Server, siehe Ein Paket hochladen.

Dieser Server ist einer wie oben erwähnt einer der eingeschränkten Server; ein Spiegel ist auf `mirror.ftp-master.debian.org` verfügbar.

Probleme mit dem Debian-Archiv müssen generell als Fehler des Pseudo-Pakets `ftp.debian.org` oder per E-Mail an `ftpmaster@debian.org` gemeldet werden, aber sehen Sie sich auch die Vorgehensweisen in Verschieben, Entfernen, Verwaisen, Adoptieren und Wiedereinführen von Paketen an.

### 4.4.3. Der WWW-Master-Server

Der Haupt-Webserver ist `www-master.debian.org`. Auf ihm liegen die offiziellen Web-Seiten, für die meisten Neulinge "das Gesicht von Debian".

Falls Sie ein Problem mit dem Debian-Webserver finden, sollten Sie generell einen Fehlerbericht an das Pseudo-Paket `www.debian.org` senden. Denken Sie daran zu prüfen, ob bereits sonst jemand dieses Problem an die Fehlerdatenbank gemeldet hat.

### 4.4.4. Der people-Webserver

`people.debian.org` ist der Server, der für die eigenen Web-Seiten der Entwickler über alles Mögliche mit Bezug zu Debian benutzt wird.

Falls Sie Debian spezifische Informationen haben, die Sie im Web bereitstellen möchten, können Sie dies realisieren, indem Sie das Material im Verzeichnis `public_html` in Ihrem Home-Verzeichnis auf `people.debian.org` ablegen. Es kann über die URL `https://people.debian.org/~`Ihre-Benutzer-ID`/` darauf zugegriffen werden.

Sie sollten nur diesen besonderen Ort benutzen, da Datensicherungen davon erstellt werden, was auf anderen Rechnern nicht der Fall wäre.

Der einzige Grund, andere Rechner zu benutzen, ist üblicherweise, wenn Sie Materialien veröffentlichen möchten, die den U.S.-Exportbeschränkungen unterliegen. In diesem Fall können Sie Server benutzen, die sich außerhalb der Vereinigten Staaten befinden.

Senden Sie eine E-Mail an `debian-devel@lists.debian.org`, falls Sie Fragen haben.

### 4.4.5. salsa.debian.org: Git Repositorys und kollaborative Entwicklungsplattform

Wenn Sie ein Git-Repository für eine Ihrer Debian-Arbeiten verwenden möchten, können Sie zu diesem Zweck die GitLab-Instanz von Debian mit dem Namen Salsa verwenden. GitLab bietet auch die Möglichkeit, Merge-Requests, Wiki-Seiten, Bug-Tracker und viele andere Dienste sowie eine detaillierte Optimierung der Zugriffsberechtigungen bereitzustellen, um die Zusammenarbeit an Projekten zu unterstützen.

Für mehr Informationen besuchen Sie bitte https://wiki.debian.org/Salsa/Doc.

Jedes Debian-Paket, das auf Salsa gehostet wird, hat ebenfalls Zugang zu der Salsa-CI . Die Salsa-CI-Pipeline imitiert die Tests, die nach jedem Upload zu Debian ausgeführt werden. Aber anstatt auf die Ergebnisse warten zu müssen oder die Qualität der Debian Repositorys zu riskieren, gibt die Salsa CI direkte Rückmeldung zu allen Problemen, die Ihre Änderungen verursacht oder behoben haben.

### 4.4.6. GitHub.com: Senden von Pull-Anfragen an Upstream-Repositorys

Sollte ein Upstream-Repository auf GitHub.com beheimatet sein dann kann die Debian Organisation benutzt werden um einen Fork des Repository für Pull-Requests an das Upstream-Projekt erstellen zu können.

Die Organisation ist offen für alle Debian Mitglieder. Um eine Mitgliedschaft zu beantragen muss ein Issue im Debian/.github Meta Repository erstellt werden.

### 4.4.7. Chroots auf andere Distributionen

Auf einigen Maschinen sind Chroots für unterschiedliche Distributionen verfügbar. Sie können sie wie folgt nutzen:

    vore$ dchroot unstable
    Executing shell in chroot: /org/vore.debian.org/chroots/user/unstable

In allen Chroots sind die normalen Home-Verzeichnisse der Benutzer verfügbar. Sie können mittels https://db.debian.org/machines.cgi herausfinden, welche Chroots verfügbar sind.

## 4.5. Die Entwicklerdatenbank

Die Entwicklerdatenbank unter https://db.debian.org/ ist ein LDAP-Verzeichnis zur Verwaltung von Debian-Entwicklereigenschaften. Sie können diese Ressource benutzen, um eine Liste der Debian-Entwickler zu durchsuchen. Ein Teil dieser Informationen ist auch durch den Dienst "finger" auf Debian-Servern verfügbar. Versuchen Sie `finger ihr-benutzername@db.debian.org`, um zu sehen, was er berichtet.

Entwickler können sich in der Datenbank anmelden, um verschiedene Informationen über sich selbst zu ändern, wie beispielsweise:

- Die Einstellungen der Weiterleitung ihrer debian.org E-Mail-Adresse als auch das Behandeln von Spam. Siehe https://db.debian.org/forward.html für eine Beschreibung aller Optionen.

- Die Anmeldung zu debian-private

- Ob Sie in Urlaub sind

- Persönliche Informationen, wie Ihre Adresse, das Land, Längen- und Breitengrad Ihres Wohnortes für die Weltkarte der Entwickler, Telefon- und Faxnummern, IRC-Nickname und Homepage

- Passwort und bevorzugte Shell auf Maschinen des Debian-Projekts

Natürlich kann nicht auf die meisten der Informationen durch die Öffentlichkeit zugegriffen werden. Lesen Sie für weitere Informationen die Dokumentation unter https://db.debian.org/doc-general.html.

Entwickler können auch ihre SSH-Schlüssel senden, die für die Authentifizierung auf den offiziellen Debian-Maschinen benutzt werden und sogar neue *.debian.net-DNS-Einträge hinzufügen. Diese Funktionen sind unter https://db.debian.org/doc-mail.html dokumentiert.

## 4.6. Das Debian-Archiv

Die Distribution Debian besteht aus vielen Paketen (aktuell rund `40000` Quellpakete) und ein paar zusätzlichen Dateien (wie beispielsweise Dokumentation und Images von Installationsmedien).

Hier ist ein Beispielverzeichnisbaum eines kompletten Debian-Archivs:

    dists/stable/main/
    dists/stable/main/binary-amd64/
    dists/stable/main/binary-armel/
    dists/stable/main/binary-i386/
         ...
    dists/stable/main/source/
         ...
    dists/stable/main/disks-amd64/
    dists/stable/main/disks-armel/
    dists/stable/main/disks-i386/
         ...

    dists/stable/contrib/
    dists/stable/contrib/binary-amd64/
    dists/stable/contrib/binary-armel/
    dists/stable/contrib/binary-i386/
         ...
    dists/stable/contrib/source/

    dists/stable/non-free/
    dists/stable/non-free/binary-amd64/
    dists/stable/non-free/binary-armel/
    dists/stable/non-free/binary-i386/
         ...
    dists/stable/non-free/source/

    dists/stable/non-free-firmware/
    dists/stable/non-free-firmware/binary-amd64/
    dists/stable/non-free-firmware/binary-armel/
    dists/stable/non-free-firmware/binary-i386/
         ...
    dists/stable/non-free-firmware/source/

    dists/testing/
    dists/testing/main/
         ...
    dists/testing/contrib/
         ...
    dists/testing/non-free/
         ...
    dists/testing/non-free-firmware/
         ...

    dists/unstable
    dists/unstable/main/
         ...
    dists/unstable/contrib/
         ...
    dists/unstable/non-free/
         ...
    dists/unstable/non-free-firmware/
         ...

    pool/
    pool/main/a/
    pool/main/a/apt/
         ...
    pool/main/b/
    pool/main/b/bash/
         ...
    pool/main/liba/
    pool/main/liba/libalias-perl/
         ...
    pool/main/m/
    pool/main/m/mailx/
         ...
    pool/non-free/d/
    pool/non-free/d/doc-rfc/
         ...
    pool/non-free-firmware/f/
    pool/non-free-firmware/f/firmware-nonfree/
         ...

Wie Sie sehen können, enthält das Verzeichnis auf der obersten Ebene die beiden Verzeichnisse `dists/` und `pool/`. Letzteres ist ein "Pool", in dem sich die Pakete derzeit befinden. Er wird von der Archiv-Verwaltungsdatenbank und den beiliegenden Programmen gehandhabt. Ersteres enthält die Distributionen `stable`, `testing` und `unstable`. Die Dateien `Packages` und `Sources` in den Distributions-Unterverzeichnissen können auf Dateien im Verzeichnis `pool/` verweisen. Der Verzeichnisbaum unterhalb jeder Distribution ist auf die gleiche Art angeordnet. Was im Folgenden für `stable` beschrieben wird, ist gleichermaßen auf die Distributionen `unstable` und `testing` anwendbar.

`dists/stable` enthält drei Verzeichnisse, nämlich `main`, `contrib` und `non-free` und `non-free-firmware`.

In jedem Bereich gibt es ein Verzeichnis für Quellpakete (`source`) und ein Verzeichnis für jede unterstützte Architektur (`binary-i386`, `binary-amd64`, etc.).

Der Bereich `main` enthält zusätzliche Verzeichnisse, die die Medien-Images und einige notwendige Teile der Dokumentation, die zum Installieren der Debian-Distribution auf einer speziellen Architektur (`disks-i386`, `disks-amd64`, etc.) benötigt werden.

### 4.6.1. Bereiche

Der Bereich `main` des Debian-Archivs ist das, was die offizielle Debian-Distribution ausmacht. Der Bereich `main` ist offiziell, da er alle Richtlinien vollständig erfüllt. Bei den beiden anderen Abschnitten ist dies zu einem unterschiedlichen Grad nicht der Fall. Von daher sind sie nicht offizieller Teil von Debian.

Jedes Paket im Bereich "main" muss vollständig die Debian-Richtlinien für Freie Software (DFSG) erfüllen sowie alle anderen Anforderungen des Regelwerks, das im Debian Policy Manual beschrieben wurde. Die DFSG sind Debians Definition von "freier Software". Prüfen Sie das Debian Policy Manual für Details.

Pakete im Bereich `contrib` müssen den DFSG entsprechen, könnten aber an anderen Anforderungen scheitern. Zum Beispiel könnten sie von unfreien Paketen abhängen.

Pakete die nicht die DFSG erfüllen, werden in den Bereich `non-free` oder `non-free-firmware` platziert. Diese Pakete werden nicht als Teil der Debian-Distribution betrachtet, obwohl ihre Benutzung ermöglicht und die Infrastruktur (wie die Fehlerdatenbank und die Mailinglisten) für unfreie Pakete bereitgestellt wird.

Das Debian Policy Manual enthält eine genauere Definition dieser vier Bereiche. Die vorhergehende Erläuterung ist nur eine Einführung.

Die Unterteilung in vier Bereiche auf der obersten Ebene des Archivs ist für all die Leute wichtig, die Debian weitergeben möchten, entweder über FTP-Server im Internet oder auf CD-ROMs: Rechtliche Risiken können vermieden werden, wenn nur die Abschnitte `main` und `contrib` weitergegeben werden. Einige Pakete im Bereich `non-free` erlauben zum Beispiel keine kommerzielle Weitergabe.

Andererseits könnte ein CD-ROM-Verkäufer die einzelnen Paketlizenzen der Pakete in `non-free` leicht prüfen und seinen CD-ROMs so viele wie erlaubt hinzufügen. (Da dies von Verkäufer zu Verkäufer stark variiert, können Debian-Entwickler diese Arbeit nicht erledigen.)

Beachten Sie, dass der Begriff Bereich auch im Bezug auf Kategorien benutzt wird, um die Organisation und das Durchstöbern verfügbarer Pakete zu vereinfachen, z.B. `admin`, `net`, `utils` etc. Diese Bereiche (eher Unterbereiche) existierten irgendwann einmal in der Form von Unterverzeichnissen innerhalb des Debian-Archivs. Heutzutage existieren sie nur noch in den "Section"-Kopfzeilenfeldern der Pakete.

### 4.6.2. Architekturen

In den Anfangstagen war der Linux-Kernel und somit Debian nur für die Intel-i386-Plattformen (oder höher) verfügbar. Aber als Linux zunehmend populärer wurde, wurde der Kernel auf andere Architekturen portiert und Debian begann, diese zu unterstützen. Und als ob die Unterstüzung so viel verschiedener Hardware noch nicht genug wäre, entschied Debian, einige Portierungen zu erstellen, die auf anderen Unix-Kerneln beruhten, wie `hurd` und `kfreebsd`.

Debian GNU/Linux 1.3 war nur für `i386` verfügbar. Debian 2.0 wurde für die Architekturen `i386` und `m68k` ausgegeben. Debian 2.1 kam für die Architekturen `i386`, `m68k`, `alpha` und `sparc` heraus. Seither ist Debian enorm gewachsen. Debian 9 unterstützt im Ganzen zehn Linux-Architekturen (`amd64`, `arm64`, `armel`, `armhf`, `i386`, `mips`, `mips64el`, `mipsel`, `ppc64el` und `s390x`) sowie zwei kFreeBSD-Architekturen (`kfreebsd-i386` und `kfreebsd-amd64`).

Informationen für Entwickler und Anwender über die spezifischen Portierung sind auf der Debian-Webseite Portierungen verfügbar.

### 4.6.3. Pakete

Es gibt zwei Typen von Debian-Paketen, nämlich `source`- und `binary`-Pakete.

Abhängig vom Format des Quellpakets wird es aus einem oder mehreren Dateien zusätzlich zur zwingend notwendigen `.dsc`-Datei bestehen:

- Mit Format "1.0" hat es entweder eine `.tar.gz`-Datei oder sowohl eine `.orig.tar.gz`- als auch eine `.diff.gz`-Datei;

- Mit Format "3.0" (quilt), hat es zwingend eine Tarball-Archivdatei von Upstream mit der Endung `.orig.tar.{gz,bz2,xz}`, optional mehrere `.orig-`Komponente`.tar.{gz,bz2,xz}`-Debian-Tarball-Archive;

- Mit Format "3.0" (nativ) hat es nur eine einzelne `.tar.{gz,bz2,xz}`-Tarball-Archivdatei.

Falls das Paket speziell für Debian entwickelt wurde und nicht außerhalb von Debian verteilt wird, gibt es dort nur eine `.tar.{gz,bz2,xz}`-Datei, die den Quellcode des Programms enthält, welches dann "natives" Quellpaket genannt wird. Falls ein Paket auch anderswo verteilt wird, wird in der `.orig.tar.{gz,bz2,xz}`-Datei der sogenannte `Upstream Source Code` gespeichert, das ist der Quellcode vom `Upstream Maintainer` (oft dem Autor der Software). In diesem Fall enthalten die Dateien `.diff.gz` oder `debian.tar.{gz,bz2,xz}` die Änderungen, die durch den Debian-Betreuer vorgenommen wurden.

Die `.dsc`-Datei listet alle Dateien im Quellpaket auf, zusammen mit den Prüfsummen (`md5sums`, `sha1sums`, `sha256sums`) und einigen zusätzlichen Informationen über das Paket (Betreuer, Version etc.).

### 4.6.4. Distributionen

Das im vorherigen Kapitel beschriebene Verzeichnissystem ist selbst innerhalb der `distribution directories` enthalten. Jede Distribution ist letztlich im Verzeichnis `pool` in der obersten Ebene des Debian-Archivs selbst enthalten.

Zusammenfassend gesagt hat das Debian-Archiv ein Wurzelverzeichnis auf einem FTP-Server. Auf der Spiegel-Seite `ftp.us.debian.org` ist beispielsweise das Debian-Archiv selbst in /debian enthalten, was ein gebräuchlicher Ort dafür ist (ein anderer ist `/pub/debian`).

Eine Distribution umfasst Debian-Quell- und -Binärpakete und die jeweiligen Indexdateien `Sources` sowie `Packages`, die die Kopfzeileninformationen von all diesen Paketen enthalten. Erstere werden im Verzeichnis `pool/` aufbewahrt, während letztere im Verzeichnis `dists/` des Archivs liegen (aus Gründen der Rückwärtskompatibilität).

#### 4.6.4.1. Stable, testing und unstable

Es gibt immer die Distributionen mit den Namen `Stable` (angesiedelt in `dists/stable`), `Testing` (angesiedelt in `dists/testing`) und `Unstable` (angesiedelt in `dists/unstable`). Dies spiegelt den Entwicklungsprozess des Debian-Projekts wider.

In der Distribution `Unstable` wird aktiv entwickelt (daher wird diese Distribution manchmal auch die `development distribution` genannt). Jeder Debian-Entwickler kann jederzeit seine Pakete in dieser Distribution ändern. Daher ändert sich der Inhalt dieser Distribution von Tag zu Tag. Da keine besonderen Anstrengungen unternommen werden, um sicherzustellen, dass alles in dieser Distribution funktioniert, ist sie manchmal buchstäblich instabil.

Die Distribution Testing wird automatisch aus Paketen von `Unstable` erzeugt, falls sie bestimmte Voraussetzungen erfüllen. Diese Voraussetzungen sollten eine gute Qualität für Pakete innerhalb von `Testing` gewährleisten. Die Aktualisierung von `Testing` wird zweimal täglich lanciert, gleich nachdem die neuen Pakete installiert wurden. Siehe Die Distribution Testing.

Nach einer Entwicklungsperiode, sobald die Releasemanager diese als abgeschlossen erachten, wird die Distribution `Testing` eingefroren. Das bedeutet, dass die Richtlinien, die steuern, welche Pakete von `Unstable` nach `Testing` verschoben werden, verschärft werden. Pakete, die zu viele Fehler aufweisen, werden entfernt. In `Testing` sind außer Fehlerkorrekturen keine anderen Änderungen erlaubt. Nachdem, abhängig vom Fortschritt, einige Zeit verstrichen ist, wird die Distribution `Testing` sogar noch weiter eingefroren. Einzelheiten darüber, wie die Distribution `Testing` gehandhabt wird, werden vom Veröffentlichungs-Team auf "debian-devel-announce" publiziert. Nachdem die offenen Probleme zur Zufriedenheit des Veröffentlichungs-Teams gelöst wurden, wird die Distribtion veröffentlicht. Veröffentlichen bedeutet, dass `Testing` in `Stable` umbenannt wird und für das neue `Testing` eine neue Kopie erstellt wird. Das vorherige `Stable` wird in `Oldstable` umbenannt und bleibt bis zur endgültigen Archivierung dort. Bei der Archivierung wird der Inhalt nach `archive.debian.org` verschoben.

Der Entwicklungszyklus hängt von der Annahme ab, dass die Distribution `Unstable` nach einer Periode, in der sie `Testing` durchläuft, `stabil` geworden ist. Sogar wenn eine Distribution stabil geworden ist, verbleiben zwangsläufig ein paar Fehler – daher wird die stabile Distribution ab und zu aktualisiert. Diese Aktualisierungen wurden jedoch sehr gründlich getestet und werden in einem einzelnen Archiv eingeführt, um das Risiko zu vermindern, neue Fehler einzuschleppen. Sie können die geplanten Ergänzungen zu `Stable` im Verzeichnis `proposed-updates` finden. Diese Pakete in `proposed-updates`, die den Anforderungen entsprechen, werden periodisch in einem Stapellauf in die Stable-Distribution verschoben und die Überarbeitungsstufe der Stable-Distribution wird erhöht (z.B. "6.0" wird "6.0.1", "5.0.7" wird "5.0.8" und so weiter). Bitte sehen Sie unter Sonderfall Uploads in die Distributionen Stable und Oldstable nach, um weitere Einzelheiten zu erfahren.

Beachten Sie, dass die Entwicklung in `unstable` während des Freeze nicht wie gewohnt fortgesetzt werden sollte, da Pakete immer noch in `unstable` erstellt werden, bevor diese nach `testing` migriert werden. Daher sollte `unstable` nur Pakete enthalten die auch nach `testing` migrieren können müssen. Laden Sie daher Pakete nur während des Freeze nach `unstable` hoch, wenn Sie einen Unblock-Request anfordern möchten (oder wenn sich das Paket nicht in `testing` befindet).

Wenn Sie an neuen Dingen für die Zeit nach dem Freeze arbeiten laden Sie stattdessen Pakete besser nach `experimental`.

#### 4.6.4.2. Weitere Informationen über die Testing-Distribution

Pakete werden üblicherweise in der Distribution `Testing` installiert, nachdem sie in `Unstable` gewissen Tests unterzogen wurden.

Lesen Sie bitte die Die Distribution Testing, um weitere Einzelheiten zu erfahren.

#### 4.6.4.3. Experimental

Die Distribution `Experimental` ist eine Spezialdistribution. Sie ist keine vollständige Distribution im Sinn von `Stable`, `Testing` und `Unstable`. Stattdessen ist sie als temporärer Sammelpunkt für hoch experimentelle Software gedacht, bei der eine gute Chance besteht, das ganze System zu zerstören oder von Software, die sogar für die Distribution `Unstable` noch zu instabil ist (bei der es aber dennoch einen Grund gibt, sie zu paketieren). Bei Benutzern, die Pakete aus `Experimental` herunterladen und installieren, wird davon ausgegangen, dass sie ausreichend gewarnt wurden. Kurz gesagt, ist in der Distribution `Experimental` alles möglich.

Dies sind die Zeilen der sources.list 5 für `Experimental`:

    deb http://deb.debian.org/debian/ experimental main
    deb-src http://deb.debian.org/debian/ experimental main

Falls eine Chance besteht, dass die Software ein System schwer beschädigen könnte, ist es wahrscheinlich besser, sie in `Experimental` abzulegen. Zum Beispiel sollte ein experimentell komprimiertes Dateisystem wahrscheinlich nach `Experimental` wandern.

Jedes Mal wenn eine neue Originalversion eines Pakets vorliegt, das neue Funktionen mitbringt, aber ältere beschädigt, sollte es entweder nicht oder nach `Experimental` hochgeladen werden. Eine neue Beta-Version einer Software, die eine völlig unterschiedliche Konfiguration nutzt, kann nach Ermessen des Betreuers nach `Experimental` wandern. Falls Sie an einer inkompatiblen oder komplexen Situation bei Upgrades arbeiten, können sie `Experimental` auch als Sammelpunkt benutzen, damit Tester frühzeitig Zugriff darauf haben.

Trotzdem kann experimentelle Software unter machen Umständen, mit ein paar Warnungen in der Beschreibung, bewusst nach `Unstable` wandern, dies wird aber nicht empfohlen, da von Paketen aus `Unstable` erwartet wird, dass diese nach `Testing` und final dann nach `Stable` wandern kann. Sie sollten keine Angst haben `Experimental` zu benutzen, da es dem FTP-Master keine Probleme bereitet. Die experimentellen Pakete werden regelmäßig entfernt, wenn Sie ein Paket mit einer höheren Versionsnummer nach `Unstable` hochladen.

Neue Software, die das System voraussichtlich nicht beschädigt, kann direkt nach `Unstable` hochgeladen werden.

Eine Alternative zu `Experimental` ist die Benutzung Ihres persönlichen Webspaces auf `people.debian.org`.

### 4.6.5. Codenamen der Veröffentlichungen

Jede veröffentlichte Debian-Distribution hat einen `Codenamen`: Debian 11 wurde `bullseye` genannt, Debian 12 `bookworm`, Debian 13 `trixie`, die nächste Debian-Veröffentlichung 14 wird `forky` heißen und Debian 15 wird den Namen `duke` erhalten. Außerdem gibt es eine Pseudodistribution namens `Sid`, die die derzeitige `Unstable`-Distribution ist. Da Pakete von `Unstable` nach `Testing` wandern, wenn Sie stabiler werden, wird `Sid` selbst nie veröffentlicht. Neben dem üblichen Inhalt der Debian-Distribution enthält `Sid` auch Pakete für Architekturen, die noch nicht offiziell durch Debian unterstützt oder veröffentlicht werden. Es ist vorgesehen, diese Architekturen an irgendeinem zukünftigen Datum in die Hauptdistribution zu integrieren. Die Codenamen und Versionen älterer Veröffentlichungen sind auf dieser Webseite aufgeführt.

Da Debian ein offenes Entwicklungsmodell hat (d.h. jeder kann teilnehmen und der Entwicklung folgen), werden sogar die Distributionen `Unstable` und `Testing` über das Internet durch die Debian-FTP- und -HTTP-Netzwerkserver verteilt. Folglich müsste, falls das Verzeichnis, das die Kandidatenversion für die Veröffentlichung enthält, `testing` genannt würde, es beim Veröffentlichen der Version in `stable` umbenannt werden, was dazu führen würde, dass alle FTP-Spiegel die ganze Distribution erneut erhalten müssten (die ziemlich groß ist).

Wären andererseits von Anfang an die Distributionsverzeichnisse `Debian-x.y` genannt worden, würden die Leute denken, die Debian-Veröffentlichung `x.y` sei verfügbar. (Dies ist früher einmal passiert, ein CD-Verkäufer erstellte eine Debian 1.0 CD-ROM auf Bais einer pre-1.0-Entwicklerversion. Das ist der Grund, weshalb die erste offizielle Debian-Veröffentlichung 1.1 und nicht 1.0 war.)

Dadurch werden die Namen der Distributionsverzeichnisse im Archiv durch ihre Codenamen festgelegt und nicht durch ihren Veröffentlichungsstatus (z.B. "`trixie`"). Diese Namen bleiben während der Entwicklungszeit und nach der Veröffentlichung erhalten. Symbolische Verweise, die einfach geändert werden können, geben die aktuell veröffentlichte stabile Distribution an. Das ist der Grund, weshalb die echten Distributionsverzeichnisse `Codenamen` benutzen, während symbolische Verweise für `stable`, `testing` und `unstable` auf die entsprechenden Veröffentlichungsverzeichnisse verweisen.

## 4.7. Debian-Spiegel

Für die verschiedenen Archive zum Herunterladen und die Website stehen mehrere Spiegel zur Verfügung, um die regulären Server vor zu großer Auslastung zu bewahren. Eigentlich sind einige der regulären Server nicht öffentlich zugänglich – eine erste Schicht von Spiegeln balanciert stattdessen die Last aus. Auf diese Art greifen die Anwender immer auf die Spiegel zu und sind es gewohnt, sie zu benutzen. Dies ermöglich es Debian, seine Bandbreitenanforderungen besser über mehrere Server und Netzwerke zu verteilen und vermeidet grundsätzlich, dass Benutzer übermäßig einen primären Server belasten. Beachten Sie, dass die erste Schicht von Spiegelservern so aktuell wie möglich ist, da ihre Aktualisierung durch die internen Sites ausgelöst wird (dies wird "push mirroring" genannt).

All die Informationen über Debian-Spiegel, einschließlich der verfügbaren FTP-/HTTP-Server, sind unter https://www.debian.org/mirror/ zu finden. Diese nützliche Seite enthält auch Informationen und Werkzeuge, die hilfreich sein können, falls Sie daran interessiert sind, entweder für internen oder öffentlichen Zugriff Ihren eigenen Spiegel einzurichten.

Beachten Sie, dass Spiegel generell durch Dritte betrieben werden, die ein Interesse daran haben, Debian zu helfen. Daher haben Entwickler generell keine Konten auf diesen Maschinen.

## 4.8. Das Incoming-System

Das Incoming-System ist dafür verantwortlich, aktualisierte Pakete zu sammeln und im Debian-Archiv zu installieren. Es besteht aus einer Zusammenstellung von Verzeichnissen und Skripten, die auf `ftp-master.debian.org` installiert sind.

Pakete werden von den Betreuern in ein Verzeichnis hochgeladen, das `UploadQueue` heißt. Dieses Verzeichnis wird alle paar Minuten durch einen Daemon gescannt, der `queued` genannt wird; es werden `*.command`-Dateien ausgeführt und verbleibende, korrekt signierte `*.changes`-Dateien werden zusammen mit ihren zugehörigen Dateien in das Verzeichnis `unchecked` verschoben. Dieses Verzeichnis ist für die meisten Entwickler unsichtbar, da FTP-Master eingeschränkt wurde. Es wird alle 15 Minuten durch das Skript `dak process-upload` gelesen, das die Richtigkeit der hochgeladenen Pakete und ihre kryptografischen Signaturen prüft. Falls das Paket für installationsbereit befunden wird, wird es in das Verzeichnis `done` verschoben. Falls dies das erste Hochladen des Pakets ist (oder es neue Binärpakete enthält), wird es in das Verzeichnis `new` verschoben, wo es auf die Freigabe durch die FTP-Master wartet. Falls das Paket Dateien enthält, die manuell installiert werden müssen, wird es in das Verzeichnis `byhand` verschoben, wo es auf die manuelle Installation durch die FTP-Master wartet. Andernfalls, falls ein Fehler aufgespürt wurde, wird das Paket abgewiesen und landet im Verzeichnis `reject`.

Sobald das Paket akzeptiert wurde, sendet das System dem Betreuer per E-Mail eine Bestätigung, schließt alle Fehler, die durch das Hochladen als behoben markiert wurden und die Auto-Builder können beginnen, es erneut zu kompilieren. Das Paket ist nun öffentlich unter https://incoming.debian.org/ zugänglich, bis es wirklich im Debian-Archiv installiert wird. Dies geschieht viermal täglich (und wird aus historischen Gründen "dinstall run" genannt). Das Paket wird dann aus dem Incoming-System entfernt und zusammen mit den anderen Paketen in den Pool installiert. Sobald alle anderen Aktualisierungen (Erzeugen neuer `Packages`- und `Sources`-Indexdateien zum Beispiel) durchgeführt wurden, wird ein Spezialskript aufgerufen, das alle Primärspiegel auffordert, sich selbst zu aktualisieren.

Die Archivverwaltungs-Software wird außerdem die von Ihnen hochgeladene OpenPGP signierte `.changes`-Datei an die entsprechenden Mailinglisten senden. Falls ein Paket veröffentlicht wird, bei dem die Distribution auf `stable` gesetzt ist, wird die Ankündigung an `debian-changes@lists.debian.org` gesandt. Falls ein Paket veröffentlicht wird, bei dem die Distribution auf `unstable` oder `experimental` gesetzt ist, wird die Ankündigung stattdessen an `debian-devel-changes@lists.debian.org` oder an `debian-experimental-changes@lists.debian.org` gesandt.

Obwohl der Zugriff auf FTP-Master eingeschränkt ist, ist eine Kopie für alle Entwickler unter `mirror.ftp-master.debian.org` verfügbar.

## 4.9. Paketinformationen

### 4.9.1. Im Web

Jedes Paket hat mehrere zugehörige Web-Seiten. `https://packages.debian.org/`Paketname zeigt jede Version des Pakets, die in verschiedenen Distributionen verfügbar ist. Jede Version verweist auf eine Seite mit Informationen, einschließlich der Paketbeschreibung, der Abhängigkeiten und der Verweise zum Herunterladen.

Die Fehlerdatenbank verfolgt Fehler für jedes Paket. Sie können die Fehler unter der URL `https://bugs.debian.org/`Paketname ansehen.

### 4.9.2. Das Hilfswerkzeug `dak ls`

`dak ls` ist Teil der Werkzeugsammlung Dak, die verfügbare Paketversionen für alle bekannten Distributionen und Architekturen auflistet. Das Werkzeug `dak` ist auf `ftp-master.debian.org` und auf dem Spiegel `mirror.ftp-master.debian.org` verfügbar. Es benutzt ein einziges Argument, das einem Paketnamen entspricht. Ein Beispiel erklärt es besser:

    $ dak ls evince
    evince     | 3.22.1-3+deb11u2 | oldstable           | source, amd64, arm64, armel, armhf, i386, mips, mips64el, mipsel, ppc64el, s390x
    evince     | 3.22.1-3+deb11u2 | oldstable-debug     | source
    evince     | 3.30.2-3+deb12u1 | stable              | source, amd64, arm64, armel, armhf, i386, mips, mips64el, mipsel, ppc64el, s390x
    evince     | 3.30.2-3+deb12u1 | stable-debug        | source
    evince     | 3.38.2-1         | testing             | source, amd64, arm64, armel, armhf, i386, mips64el, mipsel, ppc64el, s390x
    evince     | 3.38.2-1         | unstable            | source, amd64, arm64, armel, armhf, i386, mips64el, mipsel, ppc64el, s390x
    evince     | 3.38.2-1         | unstable-debug      | source
    evince     | 40.4-1           | buildd-experimental | source, amd64, arm64, armel, armhf, i386, mips64el, mipsel, ppc64el, s390x
    evince     | 40.4-1           | experimental        | source, amd64, arm64, armel, armhf, i386, mips64el, mipsel, ppc64el, s390x
    evince     | 40.4-1           | experimental-debug  | source

An diesem Beispiel können Sie sehen, dass sich die Version in `Unstable` von der Version in `Testing` unterscheidet und dass dort ein rein binärer NMU des Pakets für alle Architekturen durchgeführt wurde. Jede Version des Pakets wurde auf allen Architekturen neu kompiliert.

## 4.10. Das Debian-Paketverfolgungssystem

The Debian Package Tracker is an email and web-based tool to track the activity of a source package. You can get the same emails that the package maintainer gets, simply by subscribing to the package in the Debian Package Tracker.

Das Paketverfolgungssystem hat eine Web-Schnittstelle unter https://tracker.debian.org/, die eine große Menge Informationen über jedes Quellpaket zusammenträgt. Sie zeichnet sich durch viele nützliche Verweise aus (BTS, QA-Statistiken, Kontaktinformationen, DDTP-Übersetzungsstatus, Paketerstellungsprotokolle) und sammelt noch viele weitere Informationen von verschiedenen Stellen (die 30 letzten Einträge des Änderungsprotokolls, Teststatus etc.). Es ist ein sehr nützliches Werkzeug, falls Sie wissen möchten, was bei einem speziellen Quellpaket vorgeht. Außerdem können Sie, sobald Sie sich authentifiziert haben, jedes Paket mit einem Klick abonnieren oder abbestellen.

Sie können mit einer URL wie `https://tracker.debian.org/pkg/`Quellpaket direkt zur Web-Seite springen, die eine spezielles Quellpaket betrifft.

Für genauere Informationen sollten Sie die Dokumentation lesen. Unter anderem wird dort erklärt, wie Sie mit ihm per E-Mail interagieren, von ihm weitergeleitete E-Mails filtern, Änderungsbenachrichtigungen vom VCS-System konfigurieren oder Features für Paketverwalter und Teams bestmöglichst ausnutzen können.

## 4.11. Paketübersicht des Entwicklers

Ein Webportal der QS (Qualitätssicherung) ist unter https://qa.debian.org/developer.php verfügbar. Es zeigt eine tabellarische Auflistung aller Pakete eines einzelnen Entwicklers an (einschließlich derer, bei denen eine Gemeinschaft als Mitbetreuer aufgelistet ist). Die Tabelle gibt einen guten Überblick über die Pakete des Betreuers: Anzahl der Fehler nach Schweregrad, Liste der verfügbaren Versionen in jeder Distribution, Test-Status und vieles mehr, einschließlich Verweisen zu irgendwelchen anderen nützlichen Informationen.

Es ist ein guter Tipp, regelmäßig auf seine eigenen Daten zu schauen, um keine offenen Fehler oder Zuständigkeiten für Pakete zu vergessen.

## 4.12. Debians FusionForge-Installation: Alioth

Alioth war ein Debian Dienst der im Juni 2018 abgelöst und danach abgeschaltet wurde. Es basierte auf einer leicht modifizierten Version der FusionForge-Software (die aus SourceForge und GForge entwickelt wurde). Diese Software bot Entwicklern Zugriff auf benutzerfreundliche Tools wie Bug-Tracker, Patch-Manager, Projekt-/Task-Manager, Datei-Hosting-Dienste, Mailinglisten, VCS-Repositorys usw.

Für viele zuvor angebotene Dienste gibt es Ersatz. Dies ist wichtig zu wissen, da es immer noch viele Hinweise auf Alioth gibt, die noch korrigiert werden müssen. Wenn Sie auf solche Referenzen stoßen, nehmen Sie sich bitte die Zeit, um zu versuchen, diese anzupassen, indem Sie beispielsweise Fehler melden oder die Referenz nach Möglichkeit selbst korrigieren.

## 4.13. Goodies für Debian Mitglieder

Vorteile für Debian Mitglieder sind unter https://wiki.debian.org/MemberBenefits dokumentiert.