So ich habe dann endlich die erste Version der Übersetzung von Kapitel 6 fertig also bis zum Ende übersetzt aufgrund der Länge des Kapitel und wenn man bedenkt das ich die Hälfte der Datei Heute übersetzt habe denke ich mal werden noch einige Fehler vorhanden sein aber so ist das nunmal. Das ganze ist meiner Meinung für einen Einfachen Patch zuviel also hänge ich mal lieber die ganze Datei an. MFG Claas PS: Will mich den keiner erlösen soll ich wirklich nocht Kapitel 7 machen *stöhn*
<!-- CVS revision of original english document "1.21" --> <chapt id="pkg_basics">Grundlagen des Debian-Paketverwaltungssystems <sect id="package">Was ist ein Debian-Paket? <p>Pakete beinhalten im Allgemeinen alle notwendigen Dateien, um eine Sammlung in Beziehung stehender Kommandos und Fähigkeiten zu implementieren. Es gibt zwei Arten von Debian-Paketen: <list> <item><em>Binärpakete</em>, welche ausführbare Dateien, Konfigurationsdateien, man/info-Seiten, Copyright-Informationen und andere Dokumentation beinhalten. Diese Pakete sind in einem speziellen Debian-Archivformat verteilt (siehe <ref id="deb-format">). Sie zeichnen sich für gewöhnlich durch eine ».deb«-Dateierweiterung aus. Binärpakete können mittels des Debian-Werkzeugs <prgn>dpkg</prgn> entpackt werden. Mehr Details finden Sie in der Handbuchseite. <item><em>Quellpakete</em>, welche aus einer <tt>.dsc</tt>-Datei bestehen, die das Quellpaket beschreibt (inklusive der Namen der folgenden Dateien), einer <tt>.orig.tar.gz</tt>-Datei, welche die originalen, unveränderten Quellen in einem gzip-komprimierten tar-Format enthält und üblicherweise einer <tt>.diff.gz</tt>-Datei, die Debian-spezifische Änderungen an den Original-Quellen enthält. Das Dienstprogramm <prgn>dpkg-source</prgn> packt und entpackt Debian-Quellpakete. Mehr Details sind in der Handbuchseite zu finden. </list></p> <p>Für die Installation von Software benutzt das System die von den Paketbetreuern sorgfältig angegebenen Abhängigkeiten. Diese Abhängigkeiten sind in der <file>control</file>-Datei, die zu jedem Paket gehört, dokumentiert. Zum Beispiel beinhaltet das Paket des GNU C-Compilers (<package>gcc</package>) Abhängigkeiten (»depends«) zu dem Paket <package>binutils</package>, welches den Linker und den Assembler enthält. Wenn ein Benutzer versucht <package>gcc</package> zu installieren ohne zuerst <package>binutils</package> installiert zu haben, gibt das Paketverwaltungssystem (<prgn>dpkg</prgn>) die Fehlernachricht aus, dass es das Paket <package>binutils</package> benötige und stoppt die Installation von <package>gcc</package>. (Dennoch kann dieser Prüfmechanismus vom Benutzer abgestellt werden, siehe <manref name="dpkg" section="8">.) Siehe <ref id="depends"> weiter unten.</p> <p>Debian-Paketierungsprogramme können benutzt werden, um: <list> <item>Pakete oder Paketteile zu manipulieren und zu verwalten, <item>dem Benutzer zu helfen Pakete aufzuteilen, die auf Medien mit limitierter Größe übermittelt werden sollen, z.B. Disketten, <item>den Entwicklern beim Erzeugen von Paketen zu helfen und <item>Benutzern die Installation von Paketen zu ermöglichen, die sich z.B. auf einem FTP-Server befinden. </list> </p> <sect id="deb-format">Was ist das Format eines binären Debian-Pakets? <p>Ein Debian-Paket oder eine Debian-Archivdatei beinhaltet ausführbare Dateien, Bibliotheken und Dokumentationen, die zu einem Programm oder einer Menge verwandter Programme gehören. Normalerweise hat eine Debian-Archivdatei die Dateiendung <tt>.deb</tt>.</p> <p>Die Interna des binären Debian-Paketformats sind in der <manref name="deb" section="5"> Handbuchseite beschrieben. Dieses interne Format kann sich (zwischen zwei &debian;-Hauptreleases) ändern, benutzen Sie daher bitte immer <manref name="dpkg-deb" section="1">, um <tt>.deb</tt>-Dateien zu bearbeiten.</p> <sect id="pkgname">Warum sind Debian-Paketdateinamen so lang? <p>Die Debian-Binärpaketdateien gehorchen alle der folgenden Konvention: <foo>_<VersionsNummer>-<DebianRevisionsNummer>.deb</p> <p>Bitte beachten Sie, dass <tt>foo</tt> für den Paketnamen steht. Sie können den Paketnamen der Debian-Archivdatei (.deb-Datei) auf eine der folgenden Arten herausfinden: <list> <item>Untersuchen Sie die <file>Packages</file>-Datei, in dem Ordner auf einer Debian-FTP-Archiv-Seite. Diese Datei enthält für jedes Paket eine »Beschreibungszeile«. Der erste Abschnitt jeder Zeile enthält den formalen Paketnamen. <item>Benutzen Sie den folgenden Befehl <tt>dpkg --info foo_<var>VVV</var>-<var>RRR</var>.deb</tt> (wobei <var>VVV</var> und <var>RRR</var> durch die Versions- bzw. Revisions-Nummer des Paketes ersetzt werden muss). Dies gibt unter anderem den formalen Paketnamen beim Auspacken des Archives aus. </list></p> <p>Die <var>VVV</var>-Komponente ist die Versionsnummer, die vom Original-Entwickler festgelegt worden ist. Hierfür sind keine Standards festgelegt. Die Versionsnummer kann verschiedene Formate, wie »19990513« und »1.3.8pre1«, gleichermaßen enthalten.</p> <p>Die <var>RRR</var>-Komponente ist die Debian-Revisionsnummer, die von einem Debian-Entwickler (oder einem individuellen Benutzer, der sich entschieden hat das Paket selber zu bauen) festgelegt wurde. Diese Nummer entspricht dem Stand des Debian-Paketes. Eine neue Revisionsnummer zeigt manchmal Änderungen im Debian-Makefile (<file>debian/rules</file>), der Debian-Kontroll-Datei (<tt>debian/control</tt>), den Installations- oder Entfernungs-Skripten (<file>debian/p*</file>) oder in den Konfigurationsdateien die mit diesem Paket benutzt werden.</p> <!-- <p>The <tt>Arch</tt> component identifies the processor for which the package was built. This is commonly <tt>i386</tt>, which refers to chips compatible to Intel's 386 or later versions. For other possibilities see <ref id="dirtree" name="Debian's FTP directory structure">. --> <sect id="controlfile">Was ist eine Debian-Kontroll-Datei? <p>Besonderheiten, die Debian-Kontroll-Dateien betreffend, können Sie im Debian-Richtlinien-Handbuch, Abschnitt 5, <ref id="debiandocs"> sehen.</p> <p>Folgend ist ein Auszug vom Debian-Paket »hello« zu sehen: <example> Package: hello Priority: optional Section: devel Installed-Size: 45 Maintainer: Adam Heath <doogie@debian.org> Architecture: i386 Version: 1.3-16 Depends: libc6 (>= 2.1) Description: The classic greeting, and a good example The GNU hello program produces a familiar, friendly greeting. It <!-- XXX below 'non-programmers' were better, but this is a verbatim copy --> allows nonprogrammers to use a classic computer science tool which would otherwise be unavailable to them. . Seriously, though: this is an example of how to do a Debian package. It is the Debian version of the GNU Project's `hello world' program (which is itself an example for the GNU Project). </example></p> <p>Das »Package«-Feld zeigt den Paketnamen an. Dieser Name wird für die Nutzung des Paketes mit den Paketverwaltungswerkzeugen benutzt. Es kann vorkommen, dass das »Package«-Feld mit dem ersten Teil des Debian-Paketarchivdateinamen übereinstimmt, dies muss aber nicht so sein.</p> <p>Das »Version«-Feld gibt beides an, an erster Stelle die Original-Entwickler-Versionsnummer und im zweiten Teil die Revisionsnummer des Debian-Paketes. Dieses Vorgehen wird unter <ref id="pkgname"> beschrieben.</p> <!-- XXX missing name --> <p>Das »Architecture«-Feld gibt den Prozessor-Typ an, für den das Binärpaket kompiliert worden ist.</p> <p>Das »Depends«-Feld enthält eine Liste von Paketen, die benötigt werden um dieses Paket erfolgreich installieren zu können.</p> <p>Die »Installed-Size« (installierte Größe) gibt den geschätzten Festplattenverbrauch nach der Installation des Paketes an. Dieser Wert wird von den Oberflächen benutzt um zu prüfen, ob noch genug Festplattenplatz für die Installation vorhanden ist.</p> <p>Die »Section«-Zeile gibt an, in welchem Bereich des Debian-FTP-Archives das Paket zu finden ist. Dies ist der Name des Unterverzeichnisses (mit einem der Hauptverzeichnisse, siehe <ref id="dirtree">) in dem das Paket zu gespeichert ist.</p> <p>Die »Priority«-Zeile zeigt, wie wichtig dieses Paket für die Installation ist. Hiermit kann halb intelligente Software wie "<tt>dselect</tt>" oder "<tt>console-apt</tt>" den Paketen Gruppen (z.B. der Gruppe der optionalen Software) zuordnen, siehe <ref id="priority">.</p> <p>Das »Maintainer«-Feld enthält die E-Mail-Adresse der Person, die momentan für die Paketbetreuung zuständig ist.</p> <p>Das »Description«-Feld gibt ein Einweisung über die Funktionen des Paketes.</p> <p>Für mehr Informationen über alle möglichen Felder, die ein Paket haben kann, sehen Sie sich bitte das Debian-Richtlinien-Handbuch, Abschnitt 5., <ref id="debiandocs"> "Kontroll-Dateien und ihre Felder" an.</p> <sect id="conffile">Was ist ein Debian »Conffile«? <p>»Conffiles« sind Listen von Konfigurationsdateien (meistens unter <file>/etc</file> zu finden). Diese Dateien werden vom Paketverwaltungswerkzeug bei einer Paketaktualisierung nicht überschrieben. Dies stellt sicher, dass eigene Einstellungen, die in diesen Dateien gemacht wurden, behalten werden. Dies ist notwendig um die Funktion des "Vor-Ort"-Austausches von Paketen auf laufenden Systemen zu ermöglichen.</p> <p>Um herauszufinden, welche Dateien bei einem Update erhalten bleiben, benutzen Sie: <example>dpkg --status package</example> und schauen unter "Conffiles:" nach.</p> <sect id="maintscripts">Was sind die Debian »preinst«-, »postinst«-, »prerm«- und »postrm«-Skripte? <p>Diese Dateien sind ausführbare Skripte die automatisch vor bzw. nach einer Paketinstallation laufen. Genau wie die <tt>control</tt>-Datei sind diese Dateien Teil der Debian-Archivdatei.</p> <p>Die individuellen Dateien sind: <taglist> <tag/preinst/ <item>Diese Skript wird ausgeführt bevor das Paket aus der Debian-Archivdatei (.deb-Datei) entpackt wird. Viele »preinst«-Skripte stoppen Dienste, die während bzw. nach der Installation aktualisiert werden. Nach der erfolgreichen Installation folgt die Ausführung des »postinst«-Skriptes. <tag/postinst/ <item>Diese Skript stellt normalerweise die benötigte Konfiguration des <tt>foo</tt>-Paketes fertig, nachdem <tt>foo</tt> aus seiner Debian-Archivdatei (".deb"-Datei) entpackt worden ist. Oft fragen "postinst"-Skripte den Benutzer nach Eingaben und/oder warnen ihn, dass, wenn er die Standardwerte akzeptiert, er daran denken muss, das Paket neu zu konfigurieren, wenn es die Situation erfordert. Viele "postinst"-Skripte führen nach dem Installieren/Updaten, die für das Starten bzw. Neustarten der Dienste benötigten Kommandos aus. <tag/prerm/ <item>Dieses Script stoppt üblicherweise alle Dienste die mit dem Paket verknüpft sind. Es wird ausgeführt bevor alle Dateien des Paketes gelöscht werden. <tag/postrm/ <item>Dieses Script ändert Links die mit <tt>foo</tt> zu tun haben und/oder löscht Dateien die vom Paket angelegt worden sind. (Siehe: <ref id="virtual">.) </taglist></p> <p>Momentan können alle Kontroll-Dateien in <tt>/var/lib/dpkg/info</tt> gefunden werden. Die relevanten Dateien für das Paket <tt>foo</tt> beginnen mit "foo" und haben die Dateierweiterungen "preinst", "postinst", usw. Die Datei <tt>foo.list</tt> enthält eine Liste der Dateien die mit dem Paket <tt>foo</tt> installiert worden sind. (Beachten Sie, das die Pfade der Dateien dpkg Interna sind. Sie sollten nicht darauf aufbauen.)</p> <sect id="priority">Was ist ein <em>Essential</em>-, <em>Required</em>-, <em>Important</em>-, <em>Standard</em>-, <em>Optional</em>- oder <em>Extra</em>-Paket? <p>Jedes Debian-Paket wurde von den Distributions-Betreuern eine <em>Priorität</em>, als als Hilfsmittel für das Paket-Verwaltungs-System, zugeordnet. Die Prioritäten sind: <list> <item><strong>Required</strong>: Pakete die für das korrekte funktionieren der Systems benötigt werden. <p>Dieses schließt alle Werkzeuge mit ein, die notwendig sind, um Systemdefekte zu reparieren. Sie dürfen diese Pakete nicht entfernen, ansonsten kann es passieren das Ihr System zusammenbricht und Sie sogar außerstande sind mittels dpkg Sachen zurückzuhohlen. Systeme die nur die Required-Pakete haben sind vermutlich unbrauchbar, aber sie bieten genug Funktionalität um es dem Systemadministrator zu ermöglichen mehr Programme zu installieren.</p> <item><strong>Important</strong>-Pakete sollten auf jedem Unix-ähnlichen-System zu finden sein. <p>Andere Pakete ohne die das System unbrauchbar ist finden Sie hier. Das beinhaltet <em>nicht</em> Emacs, X11, TeX oder eine andere große Applikation. Dieses Pakete stellen lediglich die Basis-Infrastrucktur.</p> <!-- JFS: Review for etch, since some development packages might be removed in the near future #301138 --> <item><strong>Standard</strong>-Pakete sind Standard auf jedem Linux System, einschließlich eines recht kleinen aber nicht zu begrenzten Text-Modus-Systems. <p>Die wird von uns installiert wenn der Benutzer nichts anderes ausgewählt hat. Es beinhaltet keine großen Programme, aber einige Entwicklungs-Programme, wie der GNU C und der C++ Compiler (<tt>gcc</tt>, <tt>g++</tt>) GNU make, genauso wie der Python-Interpreter und einige Server-Programme wie OpenSSH, der BSD-Drucker-Dienst (<tt>lpr</tt>) und der RPC-Portmapper (<tt>portmap</tt>).</p> <item><strong>Optional</strong>-Pakete beinhalten alles das, was Sie möglicherweise installieren wollen oder gerne würden, wenn Sie keine speziellen Anforderungen haben. <p>Dies trifft auf X11, eine komplette TeX Distribution und viele andere Programme zu.</p> <item><strong>Extra</strong>-Pakete die in Konflikt mit höher priorisierten Paketen stehen, sind nur für jemanden interessant der schon weiß was sie sind oder für jemanden der spezielle Anforderungen hat die es unverzichtbar für "Optional" machen. </list></p> <p>Wenn Sie eine Standard-Debian-Installation durchführen werden alle Pakete mit der Priorität <strong>Standard</strong> oder höher in Ihrem System installiert. Wenn Sie vordefinierte Prozesse wählen bekommen Sie auch die Pakete mit einer geringeren Priorität.</p> <p>Zusätzlich werden einige Pakete als <strong>Essential</strong> markiert. Da diese Pakete für die Grundfunktionlatität des Systems absolut notwendig sind lehnen es die Paket-Verwaltung-Werkzeuge es ab, die zu entvernen.</P> <sect id="virtual">Was ist ein Virtuelles-Paket? <p>Ein Virtuelles-Paket ist ein generischer Name, der auf eine Gruppe von Paketen zutrifft, die ähnliche grundlegende Funktionen bieten. Zum Beispiel <prgn>tin</prgn> und <prgn>trn</prgn> sind beides Nachrichtenleser (News-Reader) folglich werden beide Programme die Abhängigkeit erfüllen, die ein Programm hat das einen Nachrichtenleser braucht, um auf einem System richtig zu funktionieren. Beide Pakete erfüllen die Abhängigkeit des Virtuellen-Paketes namens <tt>news-reader</tt>.</p> <p>Ebenso bieten <prgn>smail</prgn> und <prgn>sendmail</prgn> beide die Funktionalität eines Mail-Transport-Agenten. Es wird also gesagt, das beide Programme das Virtuelle-Paket <tt>mail transport agent</tt> anbieten. Wenn eines der Programme installiert ist, dann wird die Installation jedes Paketes, das von einem <tt>mail transport agent</tt> abhängig ist, durch die Existenz des Virtuellen-Paketes ermöglicht.</p> <p>Debian bietet einen Mechanismus, der es ermöglicht, dass wenn mehr als ein Paket mit dem selben Virtuellen-Paket installiert wird, der Systemadministrator ein Paket als das Bevorzugte-Paket einstellen kann. Das Relevante Kommando ist <tt>update-alternatives</tt> und wird später in <ref id="diverse"> näher erklärt.</p> <sect id="depends">Was ist damit gemeint ein Paket <em>Depends</em>, <em>Recommends</em>, <em>Suggests</em>, <em>Conflicts</em>, <em>Replaces</em> oder <em>Provides</em> ein anderes Paket? <p>Das Debian-Paketverwaltungs-System hat eine Reihe von Paket-"Abhängigkeiten", welche entworfen wurden, um anzuzeigen (in einer einzigen Makierungsfahne), wie ein Programm <strong>A</strong> mit einem existierenden Programm <strong>B</strong> auf einem gegeben System unabhängig zusammenarbeiten: <list> <item>Paket <strong>A</strong> <em>depends (hängt ab)</em> von Paket <strong>B</strong>, wenn B unbedingt installiert sein muss damit A läuft. In manchen Fällen, hängt <strong>A</strong> nicht nur von <strong>B</strong> ab, aber von einer Version von <strong>B</strong>. In diesem Fall ist die Versions-Abhängigkeit normalerweise die untere Grenze, so dass <strong>A</strong>s Abhängigkeit von jeder Version von <strong>B</strong> größer ist als die Abhängigkeit von einer Speziellen Version. <item>Paket <strong>A</strong> <em>recommends (empfiehlt)</em> Paket <strong>B</strong>, wenn der Paketverwalter der Meinung ist, dass die meisten Benutzer <strong>A</strong> nicht ohne die Funktionalität von <strong>B</strong> haben wollen. <item>Paket <strong>A</strong> <em>suggests (schlägt)</em> Paket <strong>B</strong> vor, wenn <strong>B</strong> Dateien beinhaltet, die die Funktionalität von <strong>A</strong> verbessern (und manchmal auch erhöhen). <item>Paket <strong>A</strong> <em>conflicts (steht in Konflikt)</em> mit Paket <strong>B</strong> wenn <strong>A</strong> nicht funktioniert, solange <strong>B</strong> auf dem System installiert ist. Sehr oft sind Konflikte Fälle in denen <strong>A</strong> Dateien beinhaltet, die ein Verbesserung der aus <strong>B</strong> stammenden sind. "Konflikte" sind oft mit einem "Austausch" verbunden. <item>Paket <strong>A</strong> <em>replaces (ersetzt)</em> Paket <strong>B</strong>, wenn Dateien die von <strong>B</strong> installiert wurden von Dateien aus <strong>A</strong>, entfernt und (in manchen Fällen) überschrieben werden. <item>Paket <strong>A</strong> <em>provides (stellt zur Verfügung)</em> Paket <strong>B</strong>, wenn alle Dateien und Funktionalitäten von <strong>B</strong> mit <strong>A</strong> verbunden wurden. Dieser Mechanismus ermöglicht es Benutzern mit einem Begrenzten Festplattenplatz nur den Teil <strong>B</strong> von Paket <strong>A</strong> speichern zu müssen. </list></p> <p>Detailliertere Informationen über die Nutzung jeder dieser Bezeichnungen können Sie im Richtlinien-Handbuch finden.</p> <sect id="pre-depends">Was bedeutet Pre-Depends (Vor-Abhängigkeit)? <p>"Pre-Depends" ist eine Spezielle Abhängigkeit. Im Fall der meisten Pakete, entpackt <tt>dpkg</tt> die Archiv-Datei (z.B., seine <tt>.deb</tt> Datei) unabhängig davon, ob die Dateien von denen es Abhängt auf dem System existieren oder nicht. Stark vereinfacht bedeutet entpacken, das <tt>dpkg</tt> die Dateien aus der Archiv-Datei auf Ihrem Dateisystem installiert und an die entsprechende Stelle gepackt. Wenn solche Pakete von der Existenz einiger anderer Pakete <em>abhängen</em>, lehnt <tt>dpkg</tt> es ab die Paketinstallation abzuschließen (durch die Ausführung seiner Konfiguration), bevor die anderen Pakete installiert sind.</p> <p>Für einige Pakete lehnt <tt>dpkg</tt> sogar das entpacken ab bis bestimmte Abhängigkeiten erfüllt sind. Solche Pakete werden "Vor-Abhängig" von anderen Paketen genannt. Das Debian-Projekt bietet diesen Mechanismus um das sichere Upgraden des Systems vom <tt>a.out</tt>- zum <tt>ELF</tt>-Format zu ermöglichen, als die <em>Reihenfolge</em> in der die Pakete ausgepackt wurden kritisch war. Es gibt andere große Upgrade-Situationen bei denen diese Methode hilfreich ist z.B. die Pakete mit der "required"-Priorität und ihre LibC abhängigkeit.</p> <p>Genau wie zuvor können weiterführende Informationen dem Richtlinien-Handbuch entnommen werden. <sect id="pkgstatus">Was bedeutet <em>unknown</em>, <em>install</em>, <em>remove</em> <em>purge</em> und <em>hold</em> im Paket-Status? <p>Diese "Wunsch"-Makierungsflaggen erklären was ein Benutzer mit einem Paket tun wollte (wie entweder durch die Tätigkeit des Benutzers in der "Select (wählen)"-Sektion von <tt>dselect</tt> oder auch durch die direkte Anfrage des Benutzers mit <tt>dpkg</tt>).</p> <p>Ihre Bedeutungen sind: <list> <item>unknown - der Benutzer hat nie mitgeteilt ob der das Paket wünscht <item>install - der Benutzer wünscht das Paket installiert oder Upgedatet <item>remove - der Benutzer wünscht das Paket entfernt, aber möchte jede Existierende Konfigurationsdatei behalten. <item>purge - der Benutzer wünscht das Paket entfernt, inklusive aller Konfigurations-Dateien. <item>hold - der Benutzer wünscht keine Verarbeitung des Paketes, d.h. der Benutzer möchte die Aktuelle Version des Paketes behaltend wie auch immer die ist. </list></p> <sect id="puttingonhold">Wie stelle ich ein Paket auf "hold (halten)"? <p>Es gibt drei Wege die es ermöglichen Pakete zurückzuhalten. Mit <prgn>dpkg</prgn>, <prgn>aptitude</prgn> oder mit <prgn>dselect</prgn>.</p> <p>Mit <prgn>dpkg</prgn> müssen Sie lediglich die Liste der Paketwahl über: <example>dpkg --get-selections \* > selections.txt</example> exportieren. Dann Modifizieren Sie die Ergebnis-Datei <file>selections.txt</file>, ändern Sie die Zeile die das Paket beinhaltet, welches Sie zurückhalten wollen, z.B. <package>libc6</package>, von hier: <example>libc6 install</example> zu diesem: <example>libc6 hold</example>. Speichern Sie die Datei und laden Sie diese in die "dpkg"-Datenbank mit: <example>dpkg --set-selections < selections.txt</example> zurück.</p> <p>Mit <prgn>aptitude</prgn> können Sie ein Paket über <example>aptitude hold Paket_Name</example> zurückhalten und über <example>aptitude unhold Paket_Name</example> können Sie das zurückhalten wieder abstellen.</p> <p>Bei <prgn>dselect</prgn> müssen Sie [S]elect Bildschirm auswählen, das gewünschte Paket raus-suchen und dann müssen Sie nur noch die '=' (oder 'H') Taste drücken. Die Änderungen werden übernommen wenn Sie den [S]elect Bildschirm verlassen.</p> <sect id="sourcepkgs">Wie installiere ich ein Quelltext-Paket? <p>Debian Quelltext-Pakete können momentan nicht "installiert" werden. Sie können lediglich in jedes Verzeichnis entpackt werden in dem Sie die Binär-Pakete Kompilieren möchten </p> <p>Quelltext-Pakete werden meistens auf den selben Spiegeln angeboten, auf denen auch die Binär-Pakete gefunden werden können. Wenn Sie Ihr APT <manref name="sources.list" section="5"> um die benötigten "deb-src"-Zeilen erweitern, sind Sie in der Lage jedes Quelltext-Paket einfach Herunterzuladen mittels: <example>apt-get source foo</example></p> <p>Um Ihnen beim Bauen der Quelltext-Pakete zu helfen, bieten die Debian Quelltext-Pakete den sogenannten "build-dependencies (Bau-Abhängigkeiten)"-Mechanismuss. Das Bedeutet, das die Quelltext-Paket-Betreuer eine Liste von anderen Paketen pflegen, die zum Bauen des Paketes benötigt werden. Um zu sehen wozu dies nützlich ist, probieren Sie einmal <example>apt-get build-dep foo</example> bevor Sie die Quelltexte kompilieren.</p> <sect id="sourcebuild">Wie baue ich ein Binär-Paket aus einem Quelltext-Paket? <p>Sie brauchen alle <file>foo_*.dsc</file>, <file>foo_*.tar.gz</file> und <file>foo_*.diff.gz</file> um die Quelltexte zu kompilieren (beachten Sie Bitte, das einige Pakete keinen <file>*.diff.gz</file> besitzen weil Sie Nativ sind).</p> <p>Sobald Sie sie haben (<ref id="sourcepkgs">), sofern Sie das <package>dpkg-dev</package>-Paket installiert haben, sollte das folgende Kommando: <example>dpkg-source -x foo_version-revision.dsc</example> in ein Verzeichnis namens <tt>foo-version</tt> entpacken.</p> <p>Wenn Sie das Paket nur kompilieren wollen, müssen Sie mit <prgn>cd</prgn> in das <tt>foo-version</tt>s Verzeichnis und das Kommando <example>dpkg-buildpackage -rfakeroot -b</example> zum bauen des Paketes ausführen (beachten Sie das dazu noch das <package>fakeroot</package>-Paket benötigt wird). Danach können Sie mit <example>dpkg -i ../foo_version-revision_arch.deb</example> das neu gebaute Paket installieren.</p> <sect id="creatingdebs">Wie kann ich selbst Debian-Pakete erstellen? <p>Für eine detailliertere Beschreibung zu diesem Thema lesen Sie bitte den Neue-Entwickler-Guide, zu finden im <package>maint-guide</package>-Paket oder auf <url id="http://www.debian.org/doc/devel-manuals#maint-guide">.</p>
Attachment:
signature.asc
Description: OpenPGP digital signature