Die Debian GNU/Linux-FAQ ------------------------ Die Autoren der Debian-FAQ Version CVS, 17 June 2006 ------------------------------------------------------------------------------- Zusammenfassung --------------- Dieses Dokument beantwortet häufig gestellte Fragen über Debian GNU/Linux. Copyright-Hinweis ----------------- Copyright (C) 1996-2005 by Software in the Public Interest Permission is granted to make and distribute verbatim copies of this document provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this document under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this document into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English. ------------------------------------------------------------------------------- Inhalt ------ 1. Definitionen und Überblick 1.1. Was ist diese FAQ? 1.2. Was ist Debian GNU/Linux? 1.3. OK, jetzt weiß ich, was Debian ist ... aber was ist Linux?! 1.4. Bezieht sich Debian nur auf GNU/Linux? 1.5. Was ist der Unterschied zwischen Debian GNU/Linux und anderen Linux-Distributionen? Warum sollte ich Debian statt einer anderen Distribution wählen? 1.6. Wie fügt sich das Debian-Projekt in das GNU-Projekt der Free Software Foundation ein und lässt sich damit vergleichen? 1.7. Wie spricht man Debian aus und was bedeutet das? 2. Debian GNU/Linux besorgen und installieren 2.1. Was ist die aktuellste Version von Debian? 2.2. Gibt es Paketaktualisierungen in »Stable«? 2.3. Woher/wie kann ich mir die Debian-Installationsmedien besorgen? 2.4. Wie kann ich Debian von CD-ROMs installieren? 2.5. Warum enthält die offizielle Stable CD-ROM symbolische Links für »Frozen« und »Unstable«? Ich dachte, diese CD enthält nur »Stable«! 2.6. Ich habe einen CD-Brenner, gibt es irgendwo CD-Imagedateien? 2.7. Kann ich von ein paar Disketten installieren? 2.8. Kann ich Debian direkt über das Internet besorgen und installieren? 3. Kompatibilitätsfragen 3.1. Auf welchen Hardware-Architekturen/Systemen läuft Debian GNU/Linux? 3.2. Wie kompatibel ist Debian mit anderen Linux-Distributionen? 3.3. Wie sehr ist der Quellcode von Debian kompatibel mit anderen Unix-Systemen? 3.4. Kann ich Debian-Pakete (».deb«-Dateien) auf meinem Red Hat-/Slackware-/... Linux-System verwenden? Kann ich Red Hat-Pakete (».rpm«-Dateien) auf meinem Debian GNU/Linux-System verwenden? 3.5. Kann Debian meine alten libc5-Programme starten? 3.6. Kann Debian verwendet werden um libc5-Programme zu übersetzen? 3.7. Wie soll ich ein nicht-Debian-Programm installieren? 3.8. Warum kann ich Programme nicht kompilieren, die libtermcap benötigen? 3.9. Warum kann ich AccelX nicht installieren? 3.10. Warum stürzen meine alten XFree 2.1 Motif-Anwendungen ab? 4. Für Debian-Systeme verfügbare Software 4.1. Welche Art von Anwendungen und Entwicklungsprogrammen sind für Debian GNU/Linux verfügbar? 4.2. Wer schreibt die ganzen Programme? 4.3. Wie kann ich eine Liste der Programme, die momentan für Debian paketiert wurden, bekommen? 4.4. Was fehlt bei Debian GNU/Linux? 4.5. Wieso bekomme ich die Nachricht »ld: cannot find -lfoo«, wenn ich Programme kompiliere? Warum gibt es keine »libfoo.so«-Dateien in den Debian-Bibliothekspaketen? 4.6. (Wie) Unterstützt Debian Java? 4.7. Wie kann ich prüfen, ob ich ein Debian-System benutze und welche Version es ist? 4.8. Wie unterstützt Debian andere Sprachen als Englisch? 4.9. Was ist mit den US-Export-Limitierungsregelungen? 4.10. Wo ist pine? 4.11. Wo sind qmail/ezmlm/djbdns? 5. Die Debian FTP-Archive 5.1. Was haben all die Verzeichnisse in den Debian FTP-Archiven zu bedeuten? 5.2. Wie viele Debian-Distributionen befinden sich in dem `dists'-Verzeichnis? 5.3. Was haben all diese Namen wie Slink, Potato, usw. zu bedeuten? 5.3.1. Welche Codenamen wurden in der Vergangenheit verwendet? 5.3.2. Woher stammen all diese Codenamen? 5.4. Was ist mit »Sid«? 5.5. Was enthält das »stable«-Verzeichnis? 5.6. Was enthält das testing-Verzeichnis? 5.6.1. Wie erhält »Testing« den »frozen«-Status? 5.7. Was enthält das »unstable«-Verzeichnis? 5.8. Was haben die ganzen Verzeichnisse in `dists/stable/main' zu bedeuten? 5.9. Wo befindet sich der Quellcode? 5.10. Was befindet sich im `pool' directory? 5.11. Was ist »incoming«? 5.12. Wie erstelle ich mein eigenes, apt-taugliches Paketdepot? 6. Grundlagen des Debian-Paketverwaltungssystems 6.1. Was ist ein Debian-Paket? 6.2. Was ist das Format eines binären Debian-Pakets? 6.3. Warum sind Debian-Paketdateinamen so lang? 6.4. Was ist eine Debian-Kontroll-Datei? 6.5. Was ist ein Debian »Conffile«? 6.6. Was sind die Debian »preinst«-, »postinst«-, »prerm«- und »postrm«-Skripte? 6.7. Was ist ein _Essential_-, _Required_-, _Important_-, _Standard_-, _Optional_- oder _Extra_-Paket? 6.8. Was ist ein virtuelles Paket? 6.9. Was ist damit gemeint, ein Paket _Depends_, _Recommends_, _Suggests_, _Conflicts_, _Replaces_ oder _Provides_ ein anderes Paket? 6.10. Was bedeutet Pre-Depends (Vor-Abhängigkeit)? 6.11. Was bedeutet _unknown_, _install_, _remove_ _purge_ und _hold_ im Paket-Status? 6.12. Wie stelle ich ein Paket auf »hold (halten)«? 6.13. Wie installiere ich ein Quelltext-Paket? 6.14. Wie baue ich ein Binär-Paket aus einem Quelltext-Paket? 6.15. Wie kann ich selbst Debian-Pakete erstellen? 7. Die Debian-Paketverwaltungswerkzeuge 7.1. Welche Programme bietet Debian an, um seine Pakete zu verwalten? 7.1.1. dpkg 7.1.2. APT 7.1.3. aptitude 7.1.4. dselect 7.1.5. Andere Paketverwaltungswerkzeuge 7.2. Debian erhebt den Anspruch, dazu in der Lage zu sein, ein laufendes Programm zu aktualisieren. Wie ist es dazu in der Lage? 7.3. Wie kann ich sehen, welche Pakete bereits auf einem Debian-System installiert sind? 7.4. Wie kann ich herausfinden, welches Paket eine bestimmte Datei angelegt hat? 7.5. Warum wird »foo-data« nicht entfernt, wenn ich »foo« deinstalliere? Wie stelle ich sicher, dass alte unbenutzte Bibliothekspakete entfernt werden? 8. Wie man sein Debian-System auf dem Laufenden hält 8.1. Wie kann ich meine Debian-Distribution 1.3.1 (oder älter), basierend auf libc5, auf 2.0 (oder aktueller), basierend auf libc6, aufrüsten? 8.2. Wie kann ich mein Debian-System aktuell halten? 8.2.1. aptitude 8.2.2. apt-get, dselect and apt-cdrom 8.2.3. dpkg-ftp 8.2.4. mirror 8.2.5. dpkg-mountable 8.3. Muss ich in den Einzelbenutzermodus wechseln um Pakete aufzurüsten? 8.4. Muss ich all diese .deb-Archivdateien auf meinem Rechner aufbewahren? 8.5. Wie kann ich protokollieren, welche Pakete ich meinem System hinzugefügt habe? Ich möchte gerne wissen, wann welche Pakete aufgerüstet oder entfernt wurden! 9. Debian und der Kernel 9.1. Kann ich einen Kernel ohne gewisse Debian-spezifische Optimierungen installieren und kompilieren? 9.2. Welche Werkzeuge zum Erzeugen eines angepassten Kernels stellt Debian zur Verfügung? 9.3. Wie kann ich eine angepasste Bootdiskette erstellen? 9.4. Welche speziellen Einrichtungen bietet Debian im Umgang mit Modulen? 9.5. Kann ich sicher ein altes Kernel-Paket deinstallieren und wenn ja, wie? 10. Anpassen Ihrer Debian GNU/Linux-Installation 10.1. Wie kann ich sicherstellen, dass alle Programme die selbe Papiergröße verwenden? 10.2. Wie kann kann ich Zugang zu Peripheriegeräten zur Verfügung stellen ohne die Sicherheit zu kompromittieren? 10.3. Wie kann ich eine Konsolen-Schriftart auf Debian-Art beim Systemstart laden? 10.4. Wie kann ich die Standardeinstellung eines X11-Programms konfigurieren? 10.5. Jede Distribution scheint eine andere boot-up-Methode zu haben. Beschreiben Sie jene von Debian. 10.6. Es scheint so, als ob Debian `rc.local' nicht zum Anpassen des Bootprozesses verwendet; welche Einrichtungen gibt es? 10.7. Wie geht das Paketverwaltungssystem mit Paketen um, die Konfigurationsdateien für andere Pakete enthalten? 10.8. Wie kann ich eine durch ein Paket installierte Datei außer Kraft setzen, so dass stattdessen eine andere Version verwendet werden kann? 10.9. Wie kann ich meine lokal erstellten Pakete in die Liste der verfügbaren Pakete, von denen das Paketmanagementsystem weiß, aufnehmen? 10.10. Einige Benutzer mögen mawk, andere gawk; einige mögen vim, andere elvis; einige trn, wieder andere tin; wie unterstützt Debian die Vielfalt? 11. Unterstützung für Debian GNU/Linux 11.1. Welche andere Dokumentation gibt es auf einem und für ein Debian-System? 11.2. Gibt es Online-Hilfsmittel um über Debian zu diskutieren? 11.2.1. Mailinglisten 11.2.2. Verantwortliche 11.2.3. Usenet-Nachrichtengruppen 11.3. Gibt es einen schnellen Weg, um nach Informationen über Debian GNU/Linux zu suchen? 11.4. Gibt es Protokolle von bekannten Fehlern? 11.5. Wie melde ich einen Fehler in Debian? 12. Zum Debian-Projekt beitragen 12.1. Wie kann ich ein Debian-Software-Entwickler werden? 12.2. Wie kann ich Ressourcen zum Debian-Projekt beisteuern? 12.3. Wie kann ich das Debian-Projekt finanziell unterstützen? 12.3.1. Software in the Public Interest 12.3.2. Free Software Foundation 13. Debian GNU/Linux in einem kommerziellen Produkt verwenden 13.1. Kann ich Debian-CDs erstellen und verkaufen? 13.2. Kann Debian mit unfreier (non-free) Software paketiert werden? 13.3. Ich erstelle eine spezielle Linux-Distribution für einen »vertical market«. Kann ich Debian GNU/Linux als Linux-Grundsystem verwenden und meine eigenen Programme hinzufügen? 13.4. Kann ich mein kommerzielles Programm in einem Debian-»Paket« ablegen, damit es auf jedem Debian-System mühelos installiert werden kann? 14. Erwartete Änderungen in der nächsten Hauptversion von Debian 14.1. Erhöhte Sicherheit 14.2. Unterstützung für nicht Englisch sprechende Benutzer 14.3. Weitere (Rechner)Architekturen 14.4. Zusätzliche Kernel 15. Allgemeine Informationen über die FAQ 15.1. Autoren 15.2. Feedback 15.3. Verwendbarkeit 15.4. Dokumentformat ------------------------------------------------------------------------------- 1. Definitionen und Überblick ----------------------------- 1.1. Was ist diese FAQ? ----------------------- Dieses Dokument enthält oft gestellte Fragen (zusammen mit den Antworten!) über die Debian-Distribution (Debian GNU/Linux und andere) und über das Debian-Projekt. Wenn möglich, werden Verweise auf andere Dokumentationen angegeben; es werden keine langen Abschnitte externer Dokumentation in diesem Dokument wiedergegeben. Sie werden bemerken, dass einige Antworten etwas Wissen über Unix-ähnliche Betriebssysteme voraussetzen. Es wird versucht, so wenig Vorwissen wie möglich vorauszusetzen, Antworten auf allgemeine Anfängerfragen werden einfach gehalten. Wenn Sie das, was Sie suchen, in dieser FAQ nicht finden, werfen Sie einen Blick auf Abschnitt 11.1, `Welche andere Dokumentation gibt es auf einem und für ein Debian-System?'. Wenn selbst das nicht hilft, wird auf Abschnitt 15.2, `Feedback' verwiesen. 1.2. Was ist Debian GNU/Linux? ------------------------------ Debian GNU/Linux ist eine bestimmte _Distribution_ des Linux-Betriebssystems und zahlreicher Pakete, die darunter laufen. Im Prinzip könnten Anwender sich den Linux-Kernel aus dem Internet oder andernorts besorgen und ihn selbst übersetzen. Anschließend könnten sie sich den Quelltext vieler Anwendungen auf dem selben Weg besorgen, die Programme übersetzen und diese dann auf ihren Systemen installieren. Für komplexe Anwendungen kann dieser Prozess nicht nur zeitaufwändig sein, sondern auch fehleranfällig. Um das zu vermeiden, entscheiden sich Anwender oft dafür, das Betriebssystem und die Programmpakete von einem der Linux-Distributoren zu beziehen. Was die einzelnen Linux-Distributoren voneinander unterscheidet, sind die Software, Protokolle und ihre Gepflogenheiten im Umgang mit Paketierung, Installation und der Verfolgung der auf den Anwendersystemen installierten Programmpakete; kombiniert mit Installations- und Wartungswerkzeugen, Dokumentation und anderen Dienstleistungen. Debian GNU/Linux ist das Ergebnis der Anstrengungen Freiwilliger, ein freies, qualitativ hochwertiges und mit Unix kompatibles Betriebssystem zu schaffen, komplettiert durch eine Menge von Programmen. Die Idee eines freien Unix-ähnlichen Betriebssystems stammt ursprünglich vom GNU-Projekt und viele der Anwendungen, die Debian GNU/Linux ausmachen, wurden vom GNU-Projekt entwickelt. Für Debian hat frei die Bedeutung im Sinne von GNU (siehe Debian Free Software Guidelines (http://www.debian.org/social_contract#guidelines)). Wenn wir von freier Software sprechen, beziehen wir uns auf Freiheit und nicht auf den Preis. Freie Software bedeutet, dass Sie die Freiheit haben, Kopien freier Software zu vertreiben, dass Sie den Quelltext bei Bedarf erhalten können, dass Sie die Software verändern oder Teile davon in neuen freien Programmen verwenden können; und dass Sie wissen, diese Dinge tun zu können. Das Debian-Projekt wurde 1993 von Ian Murdock gegründet, anfangs unter der Schirmherrschaft des GNU-Projekts der Free Software Foundation. Heutzutage betrachten es die Debian-Entwickler als direkten Nachkommen des GNU-Projekts. Debian GNU/Linux ist: * _Voll ausgestattet_: Debian enthält zur Zeit mehr als 18200 Softwarepakete. Die Anwender können wählen, welche Pakete installiert werden sollen; für diesen Zweck bietet Debian ein Werkzeug. Eine Liste derzeit in Debian verfügbarer Pakete und deren Beschreibungen finden Sie auf jedem Debian-Spiegelserver (http://www.debian.org/distrib/ftplist). * _Frei benutzbar und verteilbar_: Es ist nicht nötig, einer Vereinigung anzugehören oder zu bezahlen, um an der Distribution und Entwicklung teilzunehmen. Alle Pakete, die formal Teil von Debian GNU/Linux sind, können frei weitergegeben werden, normalerweise unter den Bedingungen der GNU General Public License. Das FTP-Archiv von Debian enthält auch ungefähr 560 Software-Pakete (in den `non-free'- und `contrib'-Sektionen), die unter den speziellen Bedingungen des jeweiligen Paketes weitergegeben werden können. * _Dynamisch_: Mit ungefähr 1060 Freiwilligen, die ständig neuen und verbesserten Code beisteuern, entwickelt sich Debian rasant weiter. Neue Releases sollen innerhalb weniger Monate erscheinen und die FTP-Archive werden täglich aktualisiert. Obwohl Debian GNU/Linux selbst freie Software ist, stellt es eine Basis dar, auf der erweiterte Linux-Distributionen aufbauen können. Indem ein zuverlässiges, voll ausgestattetes Basissystem zur Verfügung gestellt wird, bietet Debian Anwendern von Linux erhöhte Kompatibilität und den Herstellern von Linux-Distributionen die Möglichkeit, doppelten Aufwand zu vermeiden und sich auf die Dinge zu konzentrieren, die ihre Distribution besonders machen. Für weitere Informationen dazu schauen Sie sich bitte Abschnitt 13.3, `Ich erstelle eine spezielle Linux-Distribution für einen »vertical market«. Kann ich Debian GNU/Linux als Linux-Grundsystem verwenden und meine eigenen Programme hinzufügen?' an. 1.3. OK, jetzt weiß ich, was Debian ist ... aber was ist Linux?! ---------------------------------------------------------------- Kurz gesagt stellt Linux den Kernel eines Unix-ähnlichen Betriebssystems dar. Es wurde ursprünglich für 386-PC (und besser) entwickelt; heutzutage läuft Linux auch auf einem Dutzend anderer Systeme. Linux wurde von Linus Torvalds und vielen Informatikern auf der ganzen Welt geschrieben. Abgesehen von seinem Kernel hat ein »Linux«-System üblicherweise: * ein Dateisystem, das sich an den Linux Filesystem Hierarchy Standard http://www.pathname.com/fhs/ hält. * eine große Auswahl an Unix-Werkzeugen, von denen viele vom GNU-Projekt und der Free Software Foundation entwickelt wurden. Die Kombination von Linux-Kernel, dem Dateisystem, den GNU-, FSF- und sonstigen Werkzeugen zielt darauf ab, dem POSIX (IEEE 1003.1)-Standard zu entsprechen; siehe Abschnitt 3.3, `Wie sehr ist der Quellcode von Debian kompatibel mit anderen Unix-Systemen?'. Für weitere Informationen über Linux, siehe das Linux Information Sheet (ftp://ibiblio.org/pub/Linux/docs/HOWTO/INFO-SHEET) von Michael K. Johnson und die Meta-FAQ (ftp://ibiblio.org/pub/Linux/docs/HOWTO/META-FAQ). 1.4. Bezieht sich Debian nur auf GNU/Linux? ------------------------------------------- Derzeit ist Debian nur für Linux erhältlich, aber mit Debian GNU/Hurd und Debian auf BSD-Kerneln haben wir angefangen, nicht-Linux-basierte Betriebssysteme als Entwicklungs-, Server- und Desktop-Plattform anzubieten. Dennoch sind diese nicht-Linux-Portierungen derzeit noch nicht offiziell verfügbar. Die älteste Portierungsanstrengung ist Debian GNU/Hurd. Hurd ist eine Ansammlung von Servern, die auf dem GNU Mach-Microkernel aufsetzen. Zusammen stellen sie die Basis des GNU-Betriebssystems dar. Unter http://www.gnu.org/software/hurd/ finden Sie weitere Informationen über GNU/Hurd im Allgemeinen, unter http://www.debian.org/ports/hurd/ weitere Informationen über Debian GNU/Hurd. Eine zweite Anstrengung ist die Portierung auf einen BSD-Kernel. Man arbeitet mit NetBSD- und den FreeBSD-Kerneln. Weitere Informationen zu diesen nicht-Linux-Portierungen finden Sie unter http://www.debian.org/ports/#nonlinux. 1.5. Was ist der Unterschied zwischen Debian GNU/Linux und anderen Linux-Distributionen? Warum sollte ich Debian statt einer anderen Distribution wählen? ---------------------------------------------------------------------------- Diese Schlüsselmerkmale unterscheiden Debian von anderen Linux-Distributionen: Freiheit: Wie im Debian-Gesellschaftsvertrag (http://www.debian.org/social_contract) aufgeführt, wird Debian 100% frei bleiben. Debian nimmt es mit der Beschränkung auf echte freie Software sehr ernst. Die Richtlinien zum Bestimmen, ob eine Arbeit »frei« ist, werden in den Debian-Richtlinien für Freie Software (http://www.debian.org/social_contract#guidelines) aufgeführt. Das Paketverwaltungssystem von Debian: Das ganze System oder jede einzelne seiner Komponenten kann im laufenden Betrieb aktualisiert werden, ohne neu formatieren zu müssen, ohne angepasste Konfigurationsdateien zu verlieren und (in den meisten Fällen) ohne Neustart des Systems. Die meisten heutzutage erhältlichen Linux-Distributionen bringen ein Paketverwaltungssystem mit; das Paketverwaltungssystem von Debian ist einzigartig und besonders robust (siehe Kapitel 6, `Grundlagen des Debian-Paketverwaltungssystems'). Offene Entwicklung: Während andere Linux-Distributionen von einzelnen Personen, kleinen, geschlossenen Gruppen oder kommerziellen Herstellern entwickelt werden, ist Debian die einzige bedeutende Linux-Distribution, die in Zusammenarbeit von vielen einzelnen Personen über das Internet entwickelt wird, im gleichen Geiste wie Linux und andere freie Software. Mehr als 1060 freiwillige Paketbetreuer arbeiten an über 18200 Paketen und verbessern Debian GNU/Linux. Die Debian-Entwickler tragen zu dem Projekt nicht bei, indem sie neue Programme schreiben (meistens), sondern durch das Paketieren bestehender Software entsprechend den Projektstandards, indem sie Fehlermeldungen an die Programmautoren melden und indem sie die Anwender unterstützen. Schauen Sie sich auch die weiteren Informationen dazu, wie Sie beitragen können, unter Abschnitt 12.1, `Wie kann ich ein Debian-Software-Entwickler werden?' an. Das universelle Betriebssystem: Debian enthält mehr als 18200 Pakete (http://packages.debian.org/stable/) und läuft auf 11 Architekturen (http://www.debian.org/ports/). Das ist bedeutend mehr als was bei anderen GNU/Linux Distributionen verfügbar ist. Abschnitt 4.1, `Welche Art von Anwendungen und Entwicklungsprogrammen sind für Debian GNU/Linux verfügbar?' bietet einen Überblick über die angebotene Software und Abschnitt 3.1, `Auf welchen Hardware-Architekturen/Systemen läuft Debian GNU/Linux?' eine Beschreibung der unterstützten Hardware-Plattformen. Die Fehlerdatenbank: Die geografische Ausbreitung der Debian-Entwickler machte es nötig, über ausgeklügelte Werkzeuge und Mittel zur schnellen Kommunikation von Fehlern und deren Behebung zu verfügen, um die Entwicklung des Systems zu beschleunigen. Die Anwender sind dazu aufgefordert, Fehlermeldungen auf eine formale Art und Weise zu übermitteln, so dass sie schnell über WWW-Archive oder E-Mail verfügbar sind. Siehe dazu auch weitere Informationen in dieser FAQ bezüglich der Handhabung des Fehlerprotokolls unter Abschnitt 11.4, `Gibt es Protokolle von bekannten Fehlern?'. Die Debian-Richtlinien: Debian hat eine ausführliche Spezifikation unserer Qualitätsstandards, die Debian-Richtlinien. Dieses Dokument definiert die Qualitäten und Standards, die wir für Debian-Pakete zur Richtschnur erheben. Weitere Informationen dazu entnehmen Sie bitte unserer Web-Seite über Gründe für die Wahl von Debian (http://www.debian.org/intro/why_debian). 1.6. Wie fügt sich das Debian-Projekt in das GNU-Projekt der Free Software Foundation ein und lässt sich damit vergleichen? ---------------------------------------------------------------------------- Das Debian-System basiert auf den Idealen freier Software, die zuerst von der Free Software Foundation (http://www.gnu.org/) und vor allem von Richard Stallman (http://www.stallman.org/) vertreten wurden. Die mächtigen System-Entwicklungswerkzeuge der FSF und die Werkzeuge und Anwendungen sind ebenfalls ein fester Bestandteil des Debian-Systems. Das Debian-Projekt ist unabhängig von der FSF, aber wir kommunizieren regelmäßig und arbeiten bei verschiedenen Projekten zusammen. Die FSF hat ausdrücklich verlangt, dass wir unser System "Debian GNU/Linux" nennen, und wir kommen dieser Aufforderung gerne nach. Das langfristige Ziel der FSF ist es, ein neues Betriebssystem namens GNU zu entwickeln, das auf Hurd (http://www.gnu.org/software/hurd/) basiert. Debian arbeitet mit der FSF zusammen an diesem System, das Debian GNU/Hurd (http://www.debian.org/ports/hurd/) genannt wird. 1.7. Wie spricht man Debian aus und was bedeutet das? ----------------------------------------------------- Der Name des Projekts wird Englisch Deb'-ee-en ausgesprochen, mit einem kurzen e in Deb und mit Betonung auf der ersten Silbe. Dieser Name ist eine Kombination von Debra und Ian Murdock, der das Projekt gegründet hat. (Wörterbücher scheinen verschiedene Möglichkeiten der Aussprache von Ian (!) anzubieten, aber Ian bevorzugt ee'-en.) ------------------------------------------------------------------------------- 2. Debian GNU/Linux besorgen und installieren --------------------------------------------- Das offizielle Dokument welches die Installation beschreibt, ist die Debian GNU/Linux Installationsanleitung (http://www.debian.org/releases/stable/installmanual). Wir werden einige zusätzliche Bemerkungen über das Besorgen und die Installation von Debian GNU/Linux hier aufführen. 2.1. Was ist die aktuellste Version von Debian? ----------------------------------------------- Zurzeit gibt es drei Debian GNU/Linux-Versionen: _Release 4.0, auch bekannt als die stabile (»Stable«) Distribution_ Hierbei handelt es sich um stabile und ausführlich getestete Software, die geändert wird, wenn größere Sicherheits- und Benutzbarkeitskorrekturen einzubauen sind. _Die Testing-Distribution (»Testing«)_ Hier werden die Pakete abgelegt, die in der nächsten Stable-Distribution veröffentlicht werden sollen; sie sind schon etwas in Unstable getestet worden, aber es kann sein, dass sie für die Veröffentlichung noch nicht ganz bereit sind. Diese Distribution wird öfter aktualisiert als Stable, jedoch nicht öfter als Unstable. _Die Unstable-Distribution (»Unstable«)_ Das ist die Version, die sich jeweils aktuell in Entwicklung befindet; sie wird ständig aktualisiert. Sie können sich die Pakete des Unstable-Archivs von jedem Debian-FTP-Server herunterladen und sie jederzeit benutzen, um Ihr System zu aktualisieren, jedoch können Sie nicht erwarten, dass Ihr System genauso benutzbar und stabil bleibt wie vorher -- darum wird sie `_Unstable_' (instabil) genannt! Weitere Informationen dazu entnehmen Sie bitte Abschnitt 5.2, `Wie viele Debian-Distributionen befinden sich in dem `dists'-Verzeichnis?'. 2.2. Gibt es Paketaktualisierungen in »Stable«? ----------------------------------------------- Zur stabilen Veröffentlichung werden keine neuen Funktionalitäten hinzugefügt. Sobald eine Debian-Version herausgegeben und als stabil markiert wurde, gibt es nur noch Sicherheitsaktualisierungen. Das heißt, dass nur Pakete, für die eine Sicherheitsverwundbarkeit nach der Veröffentlichung gefunden wurde, aktualisiert werden. Alle Sicherheitsaktualisierungen stehen unter security.debian.org (ftp://security.debian.org) bereit. Sicherheitsaktualisierungen haben nur einen Zweck: Das Anbieten einer Korrektur für eine Sicherheitsverwundbarkeit. Sie dienen nicht dazu, heimtückisch zusätzliche Änderungen in die stabile Veröffentlichung zu bringen, ohne normale Zwischenveröffentlichungen (Pointreleases) zu durchlaufen. Folglich werden Korrekturen für Pakete mit Sicherheitsproblemen nicht die Software aktualisieren. Das Debian-Sicherheitsteam wird stattdessen die notwendigen Korrekturen auf die Version der Software in »Stable« zurückportieren. Für weitere Informationen zur Sicherheitsunterstützung lesen Sie bitte die Sicherheits-FAQ (http://www.debian.org/security/faq) oder die Anleitung zum Absichern von Debian (http://www.debian.org/doc/manuals/securing-debian-howto/). 2.3. Woher/wie kann ich mir die Debian-Installationsmedien besorgen? -------------------------------------------------------------------- Sie können sich die Installationsmedien besorgen, indem Sie sich die entsprechenden Dateien von einem der Debian-Spiegelserver (http://www.debian.org/mirror/list) herunterladen. Die Installationssystemdateien sind in Unterverzeichnisse von `dists/stable/main' aufgeteilt, die Namen dieser Unterverzeichnisse stehen mit Ihrer Architektur nach dem folgenden Schema in Verbindung: `disks-' ( kann »i386«, »sparc«, etc. sein, schauen Sie sich bitte auf der Homepage die komplette Liste an). In jedem dieser Architekturunterverzeichnisse können sich mehrere Verzeichnisse befinden, jeweils für eine Version des Installationssystems, das aktuell genutzte findet sich im Verzeichnis »current« (das ist ein symbolischer Link). Sehen Sie sich bitte die Datei `README.txt' in diesem Verzeichnis an, um weitere Informationen zu erhalten. 2.4. Wie kann ich Debian von CD-ROMs installieren? -------------------------------------------------- Linux unterstützt das CD-ROM-Dateisystem ISO 9660 inklusive den »Rock Ridge«-Erweiterungen (früher »High Sierra« genannt). Verschiedene Händler (http://www.debian.org/CD/vendors/) bieten Debian GNU/Linux in diesem Format an. Achtung: Wenn Sie von CD-ROM installieren, ist es im Allgemeinen keine gute Idee, die `cdrom'-Zugriffsmethode von `dselect' auszuwählen. Diese Methode ist normalerweise sehr langsam. Die `mountable'- und `apt'-Methoden zum Beispiel sind normalerweise sehr viel besser geeignet, um von CD-ROM zu installieren (siehe Abschnitt 8.2.5, `dpkg-mountable' und Abschnitt 8.2.2, `apt-get, dselect and apt-cdrom'). 2.5. Warum enthält die offizielle Stable CD-ROM symbolische Links für »Frozen« und »Unstable«? Ich dachte, diese CD enthält nur »Stable«! ---------------------------------------------------------------------------- Offizielle Debian-CD-Images enthalten in der Tat symbolische Links wie /dists/frozen -> sarge/ /dists/stable -> sarge/ /dists/testing -> sarge/ /dists/unstable -> sarge/ damit sie funktionieren, wenn Ihre `sources.list' einen Eintrag wie deb cdrom:[]/ unstable main [...] enthält. Die Tatsache, dass diese symbolischen Links vorhanden sind, bedeutet _nicht_, dass das Image »Unstable« oder »Testing« oder etwas anderes enthält. Lesen Sie die CD-Bezeichnung in `/.disk/info' um herauszufinden, welche Debian-Version es enthält. Diese Information ist auch in der Datei `/README.txt' auf der CD verfügbar. Lesen Sie http://www.debian.org/releases/ um mehr über die aktuellen »Stable« und »Testing«-Veröffentlichungen zu erfahren. 2.6. Ich habe einen CD-Brenner, gibt es irgendwo CD-Imagedateien? ----------------------------------------------------------------- Ja. Um es CD-Händlern einfacher zu machen, qualitativ hochwertige Medien zu vertreiben, stellen wir Offizielle CD-Imagedateien (http://cdimage.debian.org/) zur Verfügung. 2.7. Kann ich von ein paar Disketten installieren? -------------------------------------------------- Zunächst eine Warnung: Das gesamte Debian GNU/Linux ist viel zu groß, um von einem Medium installiert zu werden, das so klein ist wie eine Standard-Diskette der Größe 1.44MB -- die Installation von Disketten werden Sie nicht als sonderlich angenehm empfinden. Kopieren Sie die Debian-Pakete auf formatierte Disketten. Sie können die Formate DOS, das native Linux »ext2« oder »minix« verwenden; Sie müssen lediglich einen Mount-Befehl verwenden, der zu den benutzten Disketten kompatibel ist. Die Verwendung von Disketten bringt folgende Probleme mit sich: * Kurze MS-DOS-Dateinamen: Wenn Sie versuchen, Debian-Paketdateien auf MS-DOS-formatierten Disketten zu speichern, werden Sie feststellen, dass ihre Namen im Allgemeinen zu lang sind und nicht der 8.3-Dateinamengrenze von MS-DOS entsprechen. Um dies zu umgehen, müssten Sie VFAT-formatierte Disketten verwenden, da VFAT längere Dateinamen unterstützt. * Große Dateien: Einige Pakete sind größer als 1.44 MBytes und passen nicht auf eine einzelne Diskette. Benutzen Sie das Werkzeug `dpkg-split' (siehe Abschnitt 7.1.5.2, `dpkg-split'), um dieses Problem zu lösen. Es ist im `tools'-Verzeichnis auf den Debian-Spiegelservern (http://www.debian.org/mirror/list) erhältlich. Ihr Kernel muss Diskettenlaufwerke unterstützen, um von Diskette lesen und schreiben zu können. Die meisten Kernel bringen Unterstützung für Diskettenlaufwerke von Haus aus mit. Um eine Diskette unter dem Mount-Point `/floppy' (ein Verzeichnis, das bei der Installation angelegt worden sein sollte) zu mounten, benutzen Sie: * mount -t msdos /dev/fd0 /floppy/ wenn sich die Diskette im Laufwerk A: befindet und ein MS-DOS-Dateisystem hat, * mount -t msdos /dev/fd1 /floppy/ wenn sich die Diskette im Laufwerk B: befindet und ein MS-DOS-Dateisystem hat, * mount -t ext2 /dev/fd0 /floppy/ wenn sich die Diskette im Laufwerk A: befindet und ein ext2-Dateisystem hat (normale Linux-Diskette). 2.8. Kann ich Debian direkt über das Internet besorgen und installieren? ------------------------------------------------------------------------ Ja. Sie können das Debian-Installationssystem von Dateien starten, die Sie sich von unserem FTP-Server oder dessen Spiegeln herunterladen können. Sie können sich eine kleine CD-Imagedatei herunterladen, davon eine startfähige CD erstellen, das Basissystem damit installieren und den Rest dann über das Netzwerk. Für weitere Informationen dazu sehen Sie sich bitte http://www.debian.org/CD/netinst/ an. Sie können sich auch noch kleinere Disketten-Imagedateien herunterladen, startfähige Disketten davon erzeugen, die Installation starten und den Rest von Debian über das Netzwerk besorgen. Für weitere Informationen dazu sehen Sie sich bitte http://www.debian.org/distrib/floppyinst an. ------------------------------------------------------------------------------- 3. Kompatibilitätsfragen ------------------------ 3.1. Auf welchen Hardware-Architekturen/Systemen läuft Debian GNU/Linux? ------------------------------------------------------------------------ Debian GNU/Linux enthält den kompletten Quelltext aller mitgelieferten Programme, daher sollte es auf allen Systemen laufen, die vom Linux-Kernel unterstützt werden; Details finden Sie in der Linux FAQ (http://en.tldp.org/FAQ/Linux-FAQ/intro.html#DOES-LINUX-RUN-ON-MY-COMPUTER). Das aktuelle Debian GNU/Linux-Release, 4.0, enthält eine komplette Binärdistribution für die folgenden Architekturen: _i386_: Bezieht sich auf PCs, die auf Intel- oder kompatiblen Prozessoren basieren, einschließlich 386, 486, Pentium, Pentium Pro, Pentium II (sowohl Klamath als auch Celeron) und Pentium III von Intel, und den meisten kompatiblen Prozessoren von AMD, Cyrix und anderen. _m68k_: Bezieht sich auf Amigas und ATARIs mit einem Motorola 680x0-Prozessor mit x>=2; mit MMU. _alpha_: Die Alpha-Systeme von Compaq/Digital. _sparc_: Bezieht sich auf SPARC- und die meisten UltraSPARC-Systeme von Sun. _powerpc_: Bezieht sich auf einige IBM/Motorola-PowerPC-Maschinen, einschließlich CHRP-, PowerMac- und PReP-Maschinen. _arm_: ARM- und StrongARM-Maschinen. _mips_: Die Big-Endian-MIPS-Systeme von SGI, Indy und Indigo2; _mipsel_: Little-Endian-MIPS-Maschinen, DECstations von Digital. _hppa_: PA-RISC-Maschinen (712, C3000, L2000, A500) von Hewlett-Packard. _ia64_: Intel-IA-64 ("Itanium")-Computer. _s390_: IBM S/390-Großrechner. Die Entwicklung von Binärdistributionen von Debian für Sparc64 (native UltraSPARC) Architekturen ist zurzeit in Bearbeitung. Für weitere Informationen zum Booten, Partitionieren der Festplatte, Aktivieren von PCMCIA- (PC-Card) Geräten und ähnlichen Dingen folgen Sie bitte den Anweisungen aus dem Installations-Handbuch, welches von unserer WWW-Site unter http://www.debian.org/releases/stable/installmanual verfügbar ist. 3.2. Wie kompatibel ist Debian mit anderen Linux-Distributionen? ---------------------------------------------------------------- Debian-Entwickler kommunizieren mit anderen Herstellern von Linux-Distributionen, um nach Möglichkeit Binärkompatibilität zwischen Linux-Distributionen sicherzustellen. Die meisten kommerziellen Linux-Produkte laufen unter Debian so gut wie auf dem System, auf dem sie erstellt wurden. Debian GNU/Linux folgt dem Linux Filesystem Hierarchy Standard (http://www.pathname.com/fhs/). Jedoch gibt es mehrere Interpretationen in einigen der Vorgaben in diesem Standard, so dass es kleinere Unterschiede zwischen einem Debian-System und anderen Linux-Systemen geben kann. Debian GNU/Linux unterstützt für den Linux Standard Base (http://www.linuxbase.org/) entwickelte Software. Der LSB ist eine Spezifikation die es erlaubt, ein Binärpaket unter verschiedenen Distributionen zu verwenden. Pakete für die Debian Etch-Veröffentlichung dürfen nicht in Konflikt stehen mit den Voraussetzungen des LSB Version 1.3. Während dies geschrieben wird, ist Debian GNU/Linux nicht formal LSB-zertifiziert. Jedoch sind es einige abgeleitete Distributionen von Debian. Diskussionen und Koordination bezüglich der Anstrengungen, dass Debian die Voraussetzungen des Linux Standard Base erfüllt, finden auf der debian-lsb-Mailingliste (http://lists.debian.org/debian-lsb/) statt. 3.3. Wie sehr ist der Quellcode von Debian kompatibel mit anderen Unix-Systemen? ---------------------------------------------------------------------------- Für die meisten Anwendungen ist der Linux-Quellcode kompatibel mit anderen Unix-Systemen. Er unterstützt nahezu alles, was in System V Unix-Systemen und den freien und kommerziellen BSD-basierten Systemen verfügbar ist. Jedoch hat solch eine Behauptung im Unix-Umfeld nahezu keine Bedeutung, da es keine Möglichkeit gibt, dies zu überprüfen. Im Bereich der Software-Entwicklung wird die komplette Kompatibilität benötigt, anstatt einer Kompatibilität in »nahezu allen« Fällen. Deswegen kam Jahre zuvor die Notwendigkeit von Standards auf und heutzutage ist POSIX.1 (IEEE Standard 1003.1-1990) einer der bedeutendsten Standards für Quellcodekompatibilität in Unix-artigen Betriebssystemen. Linux beabsichtigt POSIX.1 zu folgen, aber die POSIX-Standards kosten richtiges Geld und die POSIX.1- (und FIPS 151-2-) Zertifizierung ist sehr teuer; dies machte es für die Linux-Entwickler schwieriger, an vollständiger POSIX-Konformität zu arbeiten. Die Zertifizierungskosten machen es unwahrscheinlich, dass Debian eine offizielle Konformitätszertifizierung erhält, selbst wenn es die Überprüfungstests vollständig besteht. (Die Überprüfungstests sind nun frei verfügbar, so dass erwartet wird, dass mehr Personen an POSIX.1-Problemen arbeiten werden.) Unifix GmbH (Braunschweig, Deutschland) entwickelte ein Linux-System, das zertifiziert wurde, zu FIPS 151-2 (einer Obermenge von POSIX.1) komptibel zu sein. Diese Technologie war in Unifix' eigener Distribution namens Unifix Linux 2.0 und in Lasermoon's Linux-FT verfügbar. 3.4. Kann ich Debian-Pakete (».deb«-Dateien) auf meinem Red Hat-/Slackware-/... Linux-System verwenden? Kann ich Red Hat-Pakete (».rpm«-Dateien) auf meinem Debian GNU/Linux-System verwenden? ---------------------------------------------------------------------------- Verschiedene Linux-Distributionen verwenden verschiedene Paketformate und verschiedene Paketverwaltungsprogramme. _Sie können wahrscheinlich:_ Ein Programm zum Auspacken eines Debian-Pakets auf einem Linux-Rechner, der unter einer »fremden« Distribution läuft, ist verfügbar und wird im Allgemeinen im dem Sinne funktionieren, dass Dateien ausgepackt werden. Das Gegenteil ist wahrscheinlich auch wahr, das bedeutet, dass ein Programm zum Auspacken eines Red Hat- oder Slackware-Pakets auf einem Debian-basierten Rechner wahrscheinlich erfolgreich sein wird darin, das Paket auszupacken und die meisten Dateien in den gewünschten Verzeichnissen zu platzieren. Dies ist größtenteils eine Konsequenz der Existenz (und der Befolgung) des Linux Filesystem Hierarchy Standards. Das Paket Alien (http://packages.debian.org/alien) wird verwendet, um zwischen verschiedenen Paketformaten zu konvertieren. _Sie wollen wahrscheinlich nicht:_ Die meisten Paketmanager schreiben administrative Dateien wenn sie ein Archiv auspacken. Diese administrativen Dateien sind im Allgemeinen nicht standardisiert. Deshalb wird das Auspacken eines Debian-Pakets auf einem »fremden« Rechner unvorhersehbare (sicher keine sinnvollen) Auswirkungen auf den Paketmanager in diesem System haben. Ebenso könnten Werkzeuge anderer Distributionen erfolgreich ihre Archive in Debian-Systemen auspacken, aber werden wahrscheinlich Fehler im Debian-Paketverwaltungssystem verursachen, wenn die Zeit zur Aktualisierung oder Entfernung einiger Pakete kommt, oder einfach nur beim Berichten, welche Pakete in einem System vorhanden sind. _Ein besserer Weg:_ Der Linux File System Standard (und damit Debian GNU/Linux) fordert, dass Unterverzeichnisse von `/usr/local/' vollständig unter Benutzerkontrolle stehen. Deswegen können Benutzer »fremde« Pakete in dies Verzeichnis auspacken und ihre Konfiguration, Aktualisierung und Entfernung individuell steuern. 3.5. Kann Debian meine alten libc5-Programme starten? ----------------------------------------------------- Ja. Installieren Sie einfach die benötigten `libc5'-Bibliotheken aus dem Abschnitt `oldlibs' (enthält alte Pakete zur Kompatibilität mit älteren Anwendungen). 3.6. Kann Debian verwendet werden um libc5-Programme zu übersetzen? ------------------------------------------------------------------- Ja. Installieren Sie die Pakete `libc5-altdev' und `altgcc' (aus dem Abschnitt `oldlibs'). Sie können ein passendes libc5-kompiliertes `gcc' und `g++' im Verzeichnis `/usr/i486-linuxlibc1/bin' finden. Fügen Sie dies zu Ihrer $PATH-Variablen hinzu, um `make' und andere Programme diese zuerst ausführen zu lassen. Seien Sie sich darüber im Klaren, dass eine libc5-Umgebung nicht mehr voll von unseren anderen Paketen unterstützt wird. 3.7. Wie soll ich ein nicht-Debian-Programm installieren? --------------------------------------------------------- Dateien unterhalb des Verzeichnisses `/usr/local/' befinden sich nicht unter Kontrolle des Debian-Paketverwaltungssystems. Deswegen ist es üblich, den Quellcode eigener Programme in `/usr/local/src/' abzulegen. Sie könnten zum Beispiel die Dateien eines Paketes namens in das Verzeichnis `/usr/local/src/foo/' extrahieren. Nachdem Sie es kompiliert haben, legen Sie die Binärprogramme in `/usr/local/bin/', die Bibliotheken in `/usr/local/lib/' und die Konfigurationsdateien in `/usr/local/etc/' ab. Wenn Ihre Programme oder Dateien unbedingt in ein anderes Verzeichnis platziert werden müssen, können Sie sie dennoch unter `/usr/local/' speichern und die entsprechendenen symbolischen Links von der benötigten Stelle im Dateisystem zur Position in `/usr/local/' anlegen, zum Beispiel mit ln -s /usr/local/bin/foo /usr/bin/foo Auf jeden Fall sollten Sie, wenn Sie ein Paket erhalten, dessen Copyright die Weitergabe gestattet, in Betracht ziehen ein Debian-Paket daraus zu machen und es für das Debian-System hochladen. Anleitungen, wie man Paketbetreuer wird, sind im Debian-Policy-Handbuch (siehe Abschnitt 11.1, `Welche andere Dokumentation gibt es auf einem und für ein Debian-System?') verfügbar. 3.8. Warum kann ich Programme nicht kompilieren, die libtermcap benötigen? -------------------------------------------------------------------------- Debian verwendet die `terminfo'-Datenbank und die `ncurses'-Bibliothek für Terminal-Schnittstellenbefehle anstatt der `termcap'-Datenbank und der `termcap'-Bibliothek. Benutzer, die Programme kompilieren, die einiges Wissen über die Terminal-Schnittstelle benötigen, sollten Verweise zu `libtermcap' durch Verweise auf `libncurses' ersetzen. Um Binärprogramme zu unterstützen, die bereits mit der `termcap'-Bibliothek gelinkt worden sind und für die Sie den Quellcode nicht haben, bietet Debian ein Paket names `termcap-compat'. Dieses stellt `libtermcap.so.2' und `/etc/termcap' bereit. Installieren Sie dieses Paket, wenn die Programme mit der Fehlermeldung »can't load library 'libtermcap.so.2'« abbrechen oder sich über eine fehlende `/etc/termcap'-Datei beschweren. 3.9. Warum kann ich AccelX nicht installieren? ---------------------------------------------- AccelX verwendet die `termcap'-Bibliothek für die Installation. Vergleichen Sie mit obigem Abschnitt 3.8, `Warum kann ich Programme nicht kompilieren, die libtermcap benötigen?'. 3.10. Warum stürzen meine alten XFree 2.1 Motif-Anwendungen ab? --------------------------------------------------------------- Sie müssen das Paket `motifnls' installieren, das die XFree-2.1-Konfigurationsdateien bereitstellt, was von unter XFree-2.1 kompilierten Motif-Anwendungen benötigt wird, um unter XFree-3.1 zu laufen. Ohne diese Dateien könnten einige Motif-Anwendungen, die auf anderen Rechnern kompiliert wurden (so wie Netscape), abstürzen, wenn sie versuchen von einem Textfeld zu kopieren bzw. in dieses einfügen, und könnten auch andere Probleme bemerken. ------------------------------------------------------------------------------- 4. Für Debian-Systeme verfügbare Software ----------------------------------------- 4.1. Welche Art von Anwendungen und Entwicklungsprogrammen sind für Debian GNU/Linux verfügbar? ---------------------------------------------------------------------------- Wie die meisten Linux-Distributionen bietet Debian GNU/Linux: * die Haupt-»GNU«-Anwendungen für die Programmentwicklung, Dateimanipulation und Textverarbeitung, bestehend aus gcc, g++, make, texinfo, Emacs, der Bash-Konsole und viele aktualisierte Unix-Hilfsprogramme, * Perl, Python, Tcl/Tk und verschiedene ähnliche Programme, Module und Bibliotheken für jedes von ihnen, * TeX (LaTeX) und Lyx, dvips, Ghostscript, * das X Window System, eine netzwerkbasierte grafische Benutzerschnittstelle für Linux und unzählbar viele »X«-Anwendungen, einschließlich GNOME und KDE, genau wie GIMP (»GNU Image Manipulations Program«), * ein komplettes Sortiment von Netzwerkanwendungen, mit Servern für Internet-Protokolle wie HTTP (WWW), FTP, NNTP (news), SMTP und POP (E-Mail) und »Namens«-Server; relationale Datenbanken wie PostgreSQL, MySQL; genauso werden Browser, wie die verschiedenen Mozilla-Produkte geboten, * eine komplette Palette von Büroanwendungen, wie die OpenOffice.org Produktivitätssammlung, Gnumeric und andere Tabellen-Verarbeiter, WYSIWYG-Editoren und Kalender. Mehr als 18040 Pakete, bestehend aus News-Servern und -Lesern, Sound-Unterstützung, FAX-Programmen, Datenbank- und Tabellen-Programmen, Bildverarbeitungsprogrammen, Kommunikationis-, Netzwerk- und E-Mail-Hilfsprogrammen, Web-Servern und ebenso Amateurfunkprogrammen sind in der Distribution enthalten. Weitere 560 Software-Sammlungen sind als Debian-Paket verfügbar, aber wegen Lizenzeinschränkungen gehören diese nicht zum offiziellen Teil von Debian. 4.2. Wer schreibt die ganzen Programme? --------------------------------------- Für jedes Paket finden Sie die _Autoren_ des/der Programm(e) in der `/usr/share/doc//copyright'-Datei, wobei mit dem Paketnamen ersetzt werden muss. _Betreuer_, die diese Software für das Debian GNU/Linux-System paketiert haben, sind in der Debian-Kontrolldatei (siehe Abschnitt 6.4, `Was ist eine Debian-Kontroll-Datei?') aufgelistet, die mit jedem Paket geliefert wird. Das Debian-Änderungsprotokoll, in `/usr/share/doc//changelog.Debian.gz', erwähnt die Menschen die auch an diesem Debian-Paket gearbeitet haben. 4.3. Wie kann ich eine Liste der Programme, die momentan für Debian paketiert wurden, bekommen? ---------------------------------------------------------------------------- Eine vollständige Liste ist auf jedem Debian-Spiegel (http://www.debian.org/distrib/ftplist), in der Datei `indices/Maintainers' zu finden. Diese Datei enthält die Paketnamen und die Namen und E-Mail-Adressen der verantwortlichen Betreuer. Die WWW-Schnittstelle zu den Debian-Paketen (http://packages.debian.org/) fasst jedes Paket einfach in eine von zwanzig »Gruppen« des Debian-Archives zusammen. 4.4. Was fehlt bei Debian GNU/Linux? ------------------------------------ Eine Liste von Paketen existiert, die noch für Debian paketiert werden müssen, die Arbeit benötigende und voraussichtliche Paketliste (http://www.debian.org/devel/wnpp/). Für weitere Informationen über das Hinzufügen der fehlenden Sachen, sehen Sie bitte Abschnitt 12.1, `Wie kann ich ein Debian-Software-Entwickler werden?'. 4.5. Wieso bekomme ich die Nachricht »ld: cannot find -lfoo«, wenn ich Programme kompiliere? Warum gibt es keine »libfoo.so«-Dateien in den Debian-Bibliothekspaketen? ---------------------------------------------------------------------------- Die Debian-Richtlinie verlangt, dass solche symbolischen Links (zu libfoo.so.x.y.z oder ähnlichen) in separaten Entwicklungspaketen gepackt werden. Diese Pakete werden normalerweise »libfoo-dev« oder »libfooX-dev« (wenn das Bibliothekspaket libfooX heißt und X für eine Nummer steht) genannt. 4.6. (Wie) Unterstützt Debian Java? ----------------------------------- Da das offizielle »Java Development kit« und »Runtime Environment« von Sun Microsystems unfreie Software ist, also nicht verteilbar für Debian ist, kann es zu Debian nicht hinzugefügt werden. Wenn Sie es trotzdem installieren wollen, benutzen Sie bitte das `java-package'-Paket unter contrib. Wie auch immer, beides, das JDK und verschiedene _freie_-Implementierungen der »Java Technologie«, sind als Debian-Pakete verfügbar. Sie können Java-Programme unter Debian schreiben, debuggen und ausführen. Um ein Java-Applet ausführen zu können, benötigen Sie einen Webbrowser mit der Fähigkeit diese zu erkennen und auszuführen. Verschiedene Webbrowser sind in Debian verfügbar, wie Mozilla oder Konqueror, diese unterstützen Java-Plugins, die es ermöglichen, Java-Applets mit ihnen auszuführen. Netscape Navigator, genauso unfrei, ist auch als Debian-Paket verfügbar und kann Java-Applets ausführen. Bitte konsultieren Sie die Debian Java FAQ (http://www.debian.org/doc/manuals/debian-java-faq/) für weitere Informationen. 4.7. Wie kann ich prüfen, ob ich ein Debian-System benutze und welche Version es ist? ---------------------------------------------------------------------------- Um zu prüfen, ob System von den original Debian-CDs installiert wurde, prüfen Sie, ob die Datei `/etc/debian_version' existiert. Diese Datei enthält nur eine Zeile mit der Versionsnummer der Veröffentlichung, wie sie von dem `base-files'-Paket definiert wurde. Die Existenz des `dpkg'-Programms zeigt, dass es Ihnen möglich sein sollte, Debian-Pakete auf Ihrem System zu installieren, aber seit das Programm auf viele Betriebssysteme und Architekturen portiert wurde, ist dies nicht länger eine zuverlässige Methode um festzustellen, ob man ein Debian GNU/Linux-System hat. Benutzer sollten sich bewusst machen, dass ein Debian-System aus vielen Teilen besteht, jedes von ihnen kann aktualisiert werden, (meistens) unabhängig. Jede Debian-Veröffentlichung enthält gut definierte und unveränderbare Inhalte. Aktualisierungen sind separat verfügbar. Für eine Online-Beschreibung des Installationsstatus eines Paketes `foo', benutzen Sie den `dpkg --list foo' Befehl. Um die Versionen aller installierten Pakete zu bekommen: dpkg -l Für eine ausführlichere Beschreibung, benutzen Sie: dpkg --status foo 4.8. Wie unterstützt Debian andere Sprachen als Englisch? --------------------------------------------------------- * Debian GNU/Linux wird mit »Keymaps« für fast zwei Dutzend Tastaturen und mit Hilfsprogrammen (im `kbd'-Paket) zum Installieren, Anschauen und Modifizieren der Tabellen ausgeliefert. Die Installation fragt Benutzer, welche Tastatur er benutzen möchte. * Eine enorme Menge der Programme, die wir paketiert haben, unterstützt die Eingabe von nicht-US-ASCII-Zeichen, wie sie in anderen lateinischen Sprachen (z.B. ISO-8859-1 oder ISO-8859-2) verwendet werden und einige Programme unterstützen »multi-byte«-Sprachen wie Japanisch oder Chinesisch. * Momentan werden Handbuchseiten in deutscher, spanischer, finnischer, französischer, ungarischer, italienischer, japanischer, koreanischer und polnischer Sprache über die »`manpages-'«-Pakete unterstützt (wobei dem 2-Zeichen ISO-Code des Landes entspricht). Um auf eine Handbuchseite in einer bestimmten Sprache zugreifen zu können, muss der Benutzer die Umgebungsvariable »LC_MESSAGES« mit der entsprechenden Zeichenkette setzen. Zum Beispiel müssen Sie, wenn Sie die deutschsprachigen Handbuchseiten benötigen, LC_MESSAGES auf »german« setzen. Das `man'-Programm wird dann die deutschen Handbuchseiten unter `/usr/share/man/de/' suchen. 4.9. Was ist mit den US-Export-Limitierungsregelungen? ------------------------------------------------------ US-Gesetze legen einige Einschränkungen für den Export von Abwehrartikeln fest, was einige Arten von Kryptographie-Software betrifft. PGP, ssh und viele andere fallen in diese Kategorie. Pakete aus diesem Archiv wurden für die Sarge-Veröffentlichung in das »main«-Archiv (oder _non-free_, falls zutreffend) verschoben, da die USA ihre Regulierung für den Export von Kryptographie gelockert haben. Um jeden davor zu schützen unnötige legale Risiken einzugehen, sind solche Debian GNU/Linux-Pakete nur von einer »non-US«-Seite ftp://non-US.debian.org/debian-non-US/, mit einigen Spiegel-Seiten die sich alle außerhalb der USA befinden, verfügbar, sehen Sie ftp://non-US.debian.org/debian-non-US/README.non-US für eine komplette Liste. Diese Seiten existieren noch (für die Belange der Benutzer von Woody) aber deren Inhalt wird nicht länger unterstützt und als veraltet betrachtet. Bitte entfernen Sie alle Quellen die »non-US« erwähnen aus Ihrer `/etc/apt/sources.list'-Konfigurationsdatei. 4.10. Wo ist pine? ------------------ Durch seine eingeschränkte Lizenz, ist es im »non-free«-Bereich zu finden. Ferner müssen Sie es selbst aus den Quellen und den Debian-Patches bauen, da die Lizenz es nicht gestattet, modifizierte Binärdateien zu veröffentlichen. Der Name des Quellpaketes ist `pine'. Sie können das `pine-tracker'-Paket benutzen, um informiert zu werden, wenn Sie aktualisieren sollten. Bitte beachten Sie, dass es viele Ersatzmöglichkeiten für »pine« und »pico« gibt, wie `mutt' und `nano', die im »main«-Abschnitt zu finden sind. 4.11. Wo sind qmail/ezmlm/djbdns? --------------------------------- Dan J. Bernstein vertreibt alle Programme die er geschrieben hat (http://cr.yp.to/software.html) mit mit einer einschränkenden Lizenz, mit der Konsequenz, dass sie im »non-free«-Bereich liegen. Da die von ihm genutzte Lizenz das Vertreiben von modifizierten Binärdateien verbietet, müssen Sie sie selbst mit den Quellen und Debian-Patches kompilieren, um ein Paket zu erhalten, das Sie auf Ihrem Debian GNU/Linux-System installieren können. Die Namen der Quellpakete sind `qmail-src', `ezmlm-src' und `djbdns-installer'. Für `qmail' müssen Sie zuerst `qmail-src' installieren und dann `build-qmail' ausführen, um ein Debian-Paket zu bauen. Zusätzlich müssen Sie noch das `ucspi-tcp-src'-Paket installieren, um »ucspi-tcp« zu bekommen, von dem `qmail' abhängt. Dan J. Bernstein betreibt eine FAQ von Distributoren (http://cr.yp.to/distributors.html)-Seite, falls Sie daran interessiert sein sollten, seine Begründung zu lesen (eine davon ist Cross-platform Kompatibilität (http://cr.yp.to/compatibility.html)). ------------------------------------------------------------------------------- 5. Die Debian FTP-Archive ------------------------- 5.1. Was haben all die Verzeichnisse in den Debian FTP-Archiven zu bedeuten? ---------------------------------------------------------------------------- Die für Debian paketierte Software ist in einem von zahlreichen Verzeichnisbäumen auf jedem Debian-Spiegel verfügbar. Das `dists'-Verzeichnis ist die Abkürzung für »Distributionen« und ist der übliche Weg, um auf die zur Zeit verfügbaren Debian-Distributionen (und deren Vorgänger) zuzugreifen. Das `pool'-Verzeichnis enthält die eigentlichen Pakete, siehe dazu auch Abschnitt 5.10, `Was befindet sich im `pool' directory?'. Es gibt zahlreiche zusätzliche Verzeichnisse: _/tools/_: enthält DOS-Werkzeuge zum Erstellen von boot-Disketten, zur Partionierung, zum Packen/Entpacken von Dateien und um Linux zu booten _/doc/_: enthält die grundlegende Debian-Dokumentation, wie z.B. die FAQ, die Anleitung für die Fehlerdatenbank, usw. _/indices/_: enthält die Dateien der Paketbetreuer und Teile der Konfigurationen der Archiv-Skipte _/project/_: enthält hauptsächlich für Entwickler relevante Dinge, wie z.B.: _project/experimental/_: Dieses Verzeichnis enthält Pakete und Werkzeuge, welche sich noch in der Entwicklung befinden und meist noch im Alpha-Status sind. Nutzer sollten keine der dort befindlichen Pakete nutzen, da diese selbst für erfahrene Nutzer gefährlich sein können. 5.2. Wie viele Debian-Distributionen befinden sich in dem `dists'-Verzeichnis? ---------------------------------------------------------------------------- Es gibt drei Distributionen, die »Stable«-, die »Testing«- und die »Unstable«-Distribution. Die »Testing«-Distribution kann zeitweise »frozen« sein (siehe Abschnitt 5.6.1, `Wie erhält »Testing« den »frozen«-Status?'). 5.3. Was haben all diese Namen wie Slink, Potato, usw. zu bedeuten? ------------------------------------------------------------------- Dabei handelt es sich einfach um Codenamen. Jede Debian-Distribution, die sich noch in der Entwicklung befindet, besitzt keine Versionsnummer aber einen Codenamen. Der Zweck dieser Codenamen ist es, das Spiegeln von Debian-Distributionen zu vereinfachen (wenn ein echtes Verzeichnis wie `unstable' plötzlich in `stable' umbenannt werden würde, würden eine Menge an Daten sinnloserweise erneut heruntergeladen werden). Zur Zeit ist `stable' ein symbolischer Link auf `etch' (z.B. Debian GNU/Linux 4.0) und `testing' ein symbolischer Link auf `lenny'. Dies bedeutet, dass `etch' die derzeitige Stable-Distribution und `lenny' die derzeitige Testing-Distribution ist. `Unstable' wiederum ist ein permanenter symbolischer Link auf `sid', da `sid' immer die instabile Distribution bleiben wird (siehe dazu Abschnitt 5.4, `Was ist mit »Sid«?'). 5.3.1. Welche Codenamen wurden in der Vergangenheit verwendet? -------------------------------------------------------------- Andere, bereits verwendete Codename sind: `Buzz' für Release 1.1, `Rex' für Release 1.2, `Bo' für Releases 1.3.x, `Hamm' für Release 2.0, `Slink' für Release 2.1, `Potato' für Release 2.2 und `Woody' für Release 3.0. 5.3.2. Woher stammen all diese Codenamen? ----------------------------------------- Bis jetzt wurden immer Charaktere des Films »Toy Story« von Pixar zur Namensgebung herangezogen: * _Buzz_ (Buzz Lightyear) war der Raumfahrer, * _Rex_ war der Tyrannosaurus, * _Bo_ (Bo Peep) war das Mädchen, welches die Schafe gehütet hat, * _Hamm_ war das Sparschwein, * _Slink_ (Slinky Dog (R)) war der Spielzeughund, * _Potato_ war, logischerweise, Mr. Potato (R), * _Woody_ war der Cowboy, * _Sarge_ war der Sergeant der grünen Plastiksoldaten, * _Etch_ war die Spielzeugtafel (Etch-a-Sketch (R)). * _Sid_ war der Junge von Nebenan, welcher immer die Spielzeuge kaputt machte. 5.4. Was ist mit »Sid«? ----------------------- _Sid_ oder _Unstable_ ist der Ort wo die meisten Pakete als erstes hochgeladen werden. Es wird nie direkt veröffentlicht werden, da zu veröffentlichende Pakete erst in _testing_ eingefügt werden, um dann später in _stable_ übernommen zu werden. Sid enthält Pakete für bereits veröffentlichte und unveröffentlichte Architekturen. Der Name »Sid« kommt ursprünglich aus dem Animationsfilm »Toy Story«: Sid war der Junge von Nebenan der immer Spielzeuge zerstörte :-) [1] [1] Als es damals Sid noch nicht gab, besaß die Organisation der FTP-Sites eine große Schwachstelle: Es galt die Annahme, dass beim Erstellen einer Architektur im derzeitigen Unstable die Veröffentlichung erfolgte, sobald diese Distribution das neue Stable wurde. Allerdings ist dies für viele Architekturen nicht der Fall, mit dem Ergebnis, dass diese Verzeichnisse zum Release-Termin verschoben werden mussten. Dies war extrem unpraktisch, da das Verschieben sehr viel Bandbreite verbrauchte. Die Archiv-Administratoren umgingen dieses Problem jahrelang, indem sie Programme für unveröffentlichte Architekturen in einem speziellem Verzeichnis namens »sid« lagerten. Für diese unveröffentlichten Architekturen wurde, sobald sie dann veröffentlicht wurden, ein Link vom derzeitigen stable auf sid gesetzt. Ab diesem Zeitpunkt wurden sie ganz normal innerhalb des "unstable" Zweiges erstellt. Diese Anordnung verwirrte allerdings die Benutzer. Mit der Einführung von Paket-Pools (siehe auch Abschnitt 5.10, `Was befindet sich im `pool' directory?') wurden binäre Pakete an den vorschriftsmäßigen Orten des Pools gespeichert, unabhängig von der Distribution. Dadurch wird verhindert, dass mit der Veröffentlichung einer Distribution große Mengen an Bandbreite verbraucht werden (allerdings wird sukzessiv Bandbreite während der Entwicklung verbraucht). 5.5. Was enthält das »stable«-Verzeichnis? ------------------------------------------ * stable/main/: Dieses Verzeichnis enthält die Pakete, welche zur Zeit die neuste Veröffentlichung des Debian GNU/Linux-Systems darstellen. All diese Pakete entsprechen den Debian-Richtlinien für freie Software Debian Free Software Guidelines (http://www.debian.org/social_contract#guidelines) und sind damit frei benutzbar und verbreitbar. * stable/non-free/: Dieses Verzeichnis enthält Pakete welche auf die eine oder andere Art durch Copyright-Bedingungen eingeschränkt sind. Einige Pakete z.B. haben Lizenzbedingungen welche die kommerzielle Nutzung verbieten. Wiederum andere können weitergegeben werden, sind aber eigentlich Shareware und keine freie Software. Die Lizenzbedingungen jedes dieser Pakete müssen genau gelesen und wahrscheinlich verhandelt werden, bevor eines der Pakete verteilt werden darf, z.B. auf einer CD-ROM. * stable/contrib/: Dieses Verzeichnis enthält Pakete welche frei im Sinne der DFSG und _frei verteilbar_ sind, aber von Paketen abhängen, welche _nicht frei_ und deshalb nur in non-free zu finden sind. 5.6. Was enthält das testing-Verzeichnis? ----------------------------------------- Pakete landen im testing-Verzeichnis, nachdem sie zu einem gewissen Grad in unstable getestet wurden. Diese Pakete müssen identisch für alle Architekturen vorliegen auf denen sie gebaut wurden. Es darf auch keine Abhängigkeiten geben, welche sie uninstallierbar machen würden. Des Weiteren müssen sie weniger veröffentlichungskritische Fehler aufweisen als die aktuelle Version in testing. Auf diese Art erhofft man, dass »testing« immer nahe daran ist ein Release-Kandidat zu werden. Weitere Informationen über den Status von »Testing« und über die einzelnen Pakete sind unter http://www.debian.org/devel/testing verfügbar. 5.6.1. Wie erhält »Testing« den »frozen«-Status? ------------------------------------------------ Sobald die »Testing«-Distribution weit genug fortgeschritten ist, erhält sie den »frozen«-Status durch den Release-Manager. Die normalen Verzögerungspausen der Aufnahme von Paketen nach »Testing« werden verlängert, um so weniger neue Fehler von »Unstable« nach »Testing« zu lassen. Nach einiger Zeit wird die »Testing«-Distribution dann wirklich »frozen«, also eingefroren. Dies bedeutet, dass alle neuen Pakete die nach »Testing« sollen, zurückgehalten werden, außer sie beheben veröffentlichungskritische Fehler. Die »Testing«-Distribution kann auch in diesem Zustand während der »Testzyklen« verweilen, wenn die Veröffentlichung kurz bevor steht. Alle Fehler in der »Testing«-Distribution die ein Paket an der Freigabe hindern oder die ganze Veröffentlichung verhindern werden mitprotokolliert. Um mehr Details zu erfahren, siehe auch current testing release information (http://www.debian.org/releases/testing/). Sobald die Anzahl der Fehler sich einem akzeptablen Wert nähert, wird die eingefrorene »Testing«-Distribution als »stable« deklariert und mit einer Versionsnummer freigegeben. Mit jedem neuen Release ist die vorhergegangene »Stable«-Distribution überholt und wird in das Archiv verschoben. Für weitere Informationen, siehe auch Debian archive (http://www.debian.org/distrib/archive). 5.7. Was enthält das »unstable«-Verzeichnis? -------------------------------------------- Das »unstable«-Verzeichnis enthält eine Momentaufnahme des derzeitigen Entwicklungssystems. Benutzer dürfen dieses gerne benutzen und testen. Man sei aber gewarnt, dass es keine Garantie einer Lauffähigkeit gibt. Der Vorteil von »Unstable« liegt darin, dass alle Pakete aktuell sind. Wenn allerdings etwas kaputt geht: Pech gehabt :) Natürlich gibt es in »unstable« genauso die Verzeichnisse »main«, »contrib« und »non-free«, die, wie für das »stable«-Verzeichnis beschrieben, sortiert sind. 5.8. Was haben die ganzen Verzeichnisse in `dists/stable/main' zu bedeuten? --------------------------------------------------------------------------- In jedem Hauptverzeichnis [1] gibt es drei Zusammenstellungen von Unterverzeichnissen, welche Indexdateien enthalten. Da sind zum einen die `binary-'-Verzeichnisse welche die Indexdateien für die Binärpakete für jede verfügbare Computerarchitektur enthalten, z.B. `/binary-i386/' für Pakete welche auf der Intel x86-Architektur laufen oder `/binary-sparc/' für Pakete welche auf Sun-SPARCStationen laufen. Die vollständige Liste der verfügbaren Architekturen für jedes Release ist unter der Veröffentlichungs-Webseite (http://www.debian.org/releases/) verfügbar. Für die derzeit aktuelle Veröffentlichung siehe auch Abschnitt 3.1, `Auf welchen Hardware-Architekturen/Systemen läuft Debian GNU/Linux?'. Die Indexdateien in binary-* heißen `Packages'(`.gz') und enthalten eine Zusammenfassung jedes Binärpakets welches in dieser Distribution zu finden ist. Die eigentlichen Binärpakete (für _/woody/_ und folgende Releases) liegen direkt im `/pool/'-\ Verzeichnis. Des Weiteren existiert ein Unterverzeichnis »source/«, welches Indexdateien für die Quellpakete jeder Distribution beinhaltet. Die Indexdatei dafür heißt `Sources'(.`gz'). Zu guter Letzt existiert ein Satz von Unterverzeichnissen welche die für das Installationssystem notwendigen Indexdateien beinhalten. Für _woody_ heißen diese `disks-'; für _sarge_ `debian-installer/binary-'. [1] `dists/stable/main', `dists/stable/contrib', `dists/stable/non-free' und `dists/unstable/main/', etc. 5.9. Wo befindet sich der Quellcode? ------------------------------------ Der gesamte Quellcode für alles in Debian ist verfügbar. Es ist sogar so, dass die Lizenzbedingungen der meisten Programme des Systems es _verlangen_, dass der Quellcode zusammen mit dem eigentlichen Programm ausgeliefert wird oder wenigstens zur Verfügung steht. Der Quellcode wird über das `pool'-Verzeichnis (siehe Abschnitt 5.10, `Was befindet sich im `pool' directory?'), zusammen mit den architekturspezifischen Binärverzeichnissen, verteilt. Um den Quellcode zu erhalten, ohne sich um die FTP-Archiv-Verzeichnisstruktur kümmern zu müssen, kann man z.B. `apt-get source ' verwenden. Einige Pakete werden auf Grund von Einschränkungen in ihren Lizenzen nur als Quellcode verteilt. `pine' z.B ist ein solches Paket, siehe auch Abschnitt 4.10, `Wo ist pine?'. Für Pakete in »contrib« und »non-free« kann der Quellcode verfügbar sein, muss aber nicht. 5.10. Was befindet sich im `pool' directory? -------------------------------------------- Pakete werden in einem großen »Pool« gelagert, strukturiert nach dem Namen des Quellpaketes. Um dies zu verwalten, ist der Pool unterteilt in Abschnitte (»main«, »contrib« und »non-free«) und dann sortiert nach dem ersten Buchstaben des Quellpaketes. Diese Verzeichnisse enthalten zahlreiche Dateien: die Binärpakete für jede Architektur und die Quellpakete von denen die Binärpakete erstellt wurden. Es ist möglich, herauszufinden wo ein Paket platziert ist, indem man `apt-cache showsrc ' ausführt und dann die »Directory«-Zeile betrachtet. Z.B. liegt das `apache'-Paket in `pool/main/a/apache'. Zusätzlich werden die `lib*'-Pakete extra behandelt, da es einfach sehr viele sind: z.B. sind libpaper-Pakete in `pool/main/libp/libpaper/' gespeichert. [1] [1] Historisch betrachtet wurden Pakete früher in einem Unterverzeichnis von `dists', abhängig von der Zugehörigkeit zu einer Distribution, gelagert. Dies verursachte zahlreiche Probleme, z.B. großen Bandbreitenverbrauch wenn größere Änderungen an einem Spiegel vorgenommen wurden. Durch die Einführung des Paket-Pools konnten diese umgangen werden. Die `dists'-Verzeichnisse werden immer noch für die Indexdateien von Programmen wie `apt' genutzt. Des Weiteren kann es vorkommen, dass in Pfadangaben älterer Pakete noch Angaben wie `dists/potato' oder `dists/woody' zu finden sind. 5.11. Was ist »incoming«? ------------------------- Nachdem ein Entwickler ein Paket hochgeladen hat, bleibt es für eine kurze Zeit in dem »incoming«-Verzeichnis, bis es auf seine Echtheit überprüft wurde und damit in das Archiv darf. Im Normalfall sollte niemand etwas von dort installieren. Allerdings gibt es seltene Notfälle. Das »incoming«-Verzeichnis ist unter http://incoming.debian.org/ verfügbar. Es ist möglich, Pakete von dort per Hand zu holen, die GPG-Signatur und MD5-Checksumme in den .changes- und .dsc-Dateien zu überprüfen und sie dann zu installieren. 5.12. Wie erstelle ich mein eigenes, apt-taugliches Paketdepot? --------------------------------------------------------------- Wenn man eigene Debian-Pakete gebaut hat und diese mit den Standard-Debian-Paketwerkzeugen installieren möchte, so ist es möglich, ein eigenes apt-taugliches Paketarchiv zu erstellen. Dies ist auch nützlich, wenn man eigene Debian-Pakete verteilen möchte, welche nicht vom Debian-Projekt verteilt werden. Informationen und Anleitungen wie dies zu bewerkstelligen ist, findet man im Debian Repository HOWTO (http://www.debian.org/doc/manuals/repository-howto/repository-howto). ------------------------------------------------------------------------------- 6. Grundlagen des Debian-Paketverwaltungssystems ------------------------------------------------ 6.1. Was ist ein Debian-Paket? ------------------------------ 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: * _Binärpakete_, welche ausführbare Dateien, Konfigurationsdateien, man/info-Seiten, Copyright-Informationen und andere Dokumentation beinhalten. Diese Pakete sind in einem speziellen Debian-Archivformat verteilt (siehe Abschnitt 6.2, `Was ist das Format eines binären Debian-Pakets?'). Sie zeichnen sich für gewöhnlich durch eine ».deb«-Dateierweiterung aus. Binärpakete können mittels des Debian-Werkzeugs `dpkg' entpackt werden. Mehr Details finden Sie in der Handbuchseite. * _Quellpakete_, welche aus einer `.dsc'-Datei bestehen, die das Quellpaket beschreibt (inklusive der Namen der folgenden Dateien), einer `.orig.tar.gz'-Datei, welche die originalen, unveränderten Quellen in einem gzip-komprimierten tar-Format enthält und üblicherweise einer `.diff.gz'-Datei, die Debian-spezifische Änderungen an den Original-Quellen enthält. Das Dienstprogramm `dpkg-source' packt und entpackt Debian-Quellpakete. Mehr Details sind in der Handbuchseite zu finden. Für die Installation von Software benutzt das System die von den Paketbetreuern sorgfältig angegebenen Abhängigkeiten. Diese Abhängigkeiten sind in der `control'-Datei, die zu jedem Paket gehört, dokumentiert. Zum Beispiel beinhaltet das Paket des GNU C-Compilers (`gcc') Abhängigkeiten (»depends«) zu dem Paket `binutils', welches den Linker und den Assembler enthält. Wenn ein Benutzer versucht `gcc' zu installieren ohne zuerst `binutils' installiert zu haben, gibt das Paketverwaltungssystem (`dpkg') die Fehlernachricht aus, dass es das Paket `binutils' benötige und stoppt die Installation von `gcc'. (Dennoch kann dieser Prüfmechanismus vom Benutzer abgestellt werden, siehe dpkg(8).) Siehe Abschnitt 6.9, `Was ist damit gemeint, ein Paket _Depends_, _Recommends_, _Suggests_, _Conflicts_, _Replaces_ oder _Provides_ ein anderes Paket?' weiter unten. Debian-Paketierungsprogramme können benutzt werden, um: * Pakete oder Paketteile zu manipulieren und zu verwalten, * dem Benutzer zu helfen Pakete aufzuteilen, die auf Medien mit limitierter Größe übermittelt werden sollen, z.B. Disketten, * den Entwicklern beim Erzeugen von Paketen zu helfen und * Benutzern die Installation von Paketen zu ermöglichen, die sich z.B. auf einem FTP-Server befinden. 6.2. Was ist das Format eines binären Debian-Pakets? ---------------------------------------------------- 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 `.deb'. Die Interna des binären Debian-Paketformats sind in der deb(5) Handbuchseite beschrieben. Dieses interne Format kann sich (zwischen zwei Debian GNU/Linux-Hauptreleases) ändern, benutzen Sie daher bitte immer dpkg-deb(1), um `.deb'-Dateien zu bearbeiten. 6.3. Warum sind Debian-Paketdateinamen so lang? ----------------------------------------------- Die Debian-Binärpaketdateien gehorchen alle der folgenden Konvention: _-.deb Bitte beachten Sie, dass `foo' für den Paketnamen steht. Sie können den Paketnamen der Debian-Archivdatei (.deb-Datei) auf eine der folgenden Arten herausfinden: * Untersuchen Sie die `Packages'-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. * Benutzen Sie den folgenden Befehl `dpkg --info foo_-.deb' (wobei und durch die Versions- bzw. Revisions-Nummer des Paketes ersetzt werden muss). Dies gibt unter anderem den formalen Paketnamen beim Auspacken des Archives aus. Die -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. Die -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 (`debian/rules'), der Debian-Kontroll-Datei (`debian/control'), den Installations- oder Entfernungs-Skripten (`debian/p*') oder in den Konfigurationsdateien die mit diesem Paket benutzt werden. 6.4. Was ist eine Debian-Kontroll-Datei? ---------------------------------------- Besonderheiten, die Debian-Kontroll-Dateien betreffend, können Sie im Debian-Richtlinien-Handbuch, Abschnitt 5, Abschnitt 11.1, `Welche andere Dokumentation gibt es auf einem und für ein Debian-System?' sehen. Folgend ist ein Auszug vom Debian-Paket »hello« zu sehen: Package: hello Priority: optional Section: devel Installed-Size: 45 Maintainer: Adam Heath 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 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). 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. 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 Abschnitt 6.3, `Warum sind Debian-Paketdateinamen so lang?' beschrieben. Das »Architecture«-Feld gibt den Prozessor-Typ an, für den das Binärpaket kompiliert worden ist. Das »Depends«-Feld enthält eine Liste von Paketen, die benötigt werden um dieses Paket erfolgreich installieren zu können. 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. 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 Abschnitt 5.1, `Was haben all die Verzeichnisse in den Debian FTP-Archiven zu bedeuten?') in dem das Paket zu gespeichert ist. Die »Priority«-Zeile zeigt, wie wichtig dieses Paket für die Installation ist. Hiermit kann halb intelligente Software wie "`dselect'" oder "`console-apt'" den Paketen Gruppen (z.B. der Gruppe der optionalen Software) zuordnen, siehe Abschnitt 6.7, `Was ist ein _Essential_-, _Required_-, _Important_-, _Standard_-, _Optional_- oder _Extra_-Paket?'. Das »Maintainer«-Feld enthält die E-Mail-Adresse der Person, die momentan für die Paketbetreuung zuständig ist. Das »Description«-Feld gibt ein Einweisung über die Funktionen des Paketes. Für mehr Informationen über alle möglichen Felder, die ein Paket haben kann, sehen Sie sich bitte das Debian-Richtlinien-Handbuch, Abschnitt 5., Abschnitt 11.1, `Welche andere Dokumentation gibt es auf einem und für ein Debian-System?' »Kontroll-Dateien und ihre Felder« an. 6.5. Was ist ein Debian »Conffile«? ----------------------------------- »Conffiles« sind Listen von Konfigurationsdateien (meistens unter `/etc' 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. Um herauszufinden, welche Dateien bei einem Update erhalten bleiben, benutzen Sie: dpkg --status package und schauen unter »Conffiles:« nach. 6.6. Was sind die Debian »preinst«-, »postinst«-, »prerm«- und »postrm«-Skripte? ---------------------------------------------------------------------------- Diese Dateien sind ausführbare Skripte die automatisch vor bzw. nach einer Paketinstallation laufen. Genau wie die `control'-Datei sind diese Dateien Teil der Debian-Archivdatei. Die individuellen Dateien sind: preinst 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. postinst Diese Skript stellt normalerweise die benötigte Konfiguration des `foo'-Paketes fertig, nachdem `foo' 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. prerm Dieses Skript stoppt üblicherweise alle Dienste die mit dem Paket verknüpft sind. Es wird ausgeführt bevor alle Dateien des Paketes gelöscht werden. postrm Dieses Skript ändert Links die mit `foo' zu tun haben und/oder löscht Dateien die vom Paket angelegt worden sind. (Siehe: Abschnitt 6.8, `Was ist ein virtuelles Paket?'.) Momentan können alle Steuerdateien in `/var/lib/dpkg/info' gefunden werden. Die relevanten Dateien für das Paket `foo' beginnen mit »foo« und haben die Dateierweiterungen »preinst«, »postinst«, usw. Die Datei `foo.list' enthält eine Liste der Dateien, die mit dem Paket `foo' installiert worden sind. (Beachten Sie, dass die Pfade der Dateien dpkg-Interna sind. Sie sollten nicht darauf aufbauen.) 6.7. Was ist ein _Essential_-, _Required_-, _Important_-, _Standard_-, _Optional_- oder _Extra_-Paket? ---------------------------------------------------------------------------- Jedem Debian-Paket wurde von den Distributionsbetreuern eine _Priorität_ als Hilfsmittel für das Paketverwaltungssystem zugeordnet. Die Prioritäten sind: * _Required_: Pakete die für das korrekte Funktionieren der Systems benötigt werden. 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, dass Ihr System zusammenbricht und Sie sogar außerstande sind, mittels dpkg Sachen zurückzuholen. 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. * _Important_-Pakete sollten auf jedem Unix-ähnlichen System zu finden sein. Andere Pakete ohne die das System unbrauchbar ist, finden Sie hier. Das beinhaltet _nicht_ Emacs, X11, TeX oder eine andere große Anwendung. Dieses Pakete stellen lediglich die Basisinfrastruktur. * _Standard_-Pakete sind Standard auf jedem Linux-System, einschließlich eines recht kleinen aber nicht zu begrenzten Text-Modus-Systems. Dies wird von uns installiert, wenn der Benutzer nichts anderes ausgewählt hat. Es beinhaltet keine großen Programme, aber einige Entwicklungsprogramme, wie der GNU C- und der C++-Compiler (`gcc', `g++') GNU make, genauso wie der Python-Interpreter und einige Server-Programme wie OpenSSH, der BSD-Drucker-Dienst (`lpr') und der RPC-Portmapper (`portmap'). * _Optional_-Pakete beinhalten alles das, was Sie möglicherweise installieren wollen oder gerne würden, wenn Sie keine speziellen Anforderungen haben. Dies trifft auf X11, eine komplette TeX-Distribution und viele andere Programme zu. * _Extra_-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. Wenn Sie eine Standard-Debian-Installation durchführen, werden alle Pakete mit der Priorität _Standard_ oder höher in Ihrem System installiert. Wenn Sie vordefinierte Prozesse wählen, bekommen Sie auch die Pakete mit einer geringeren Priorität. Zusätzlich werden einige Pakete als _Essential_ markiert. Da diese Pakete für die Grundfunktionalität des Systems absolut notwendig sind, lehnen es die Paketverwaltungswerkzeuge es ab, die zu entfernen. 6.8. Was ist ein virtuelles Paket? ---------------------------------- Ein virtuelles Paket ist ein generischer Name, der auf eine Gruppe von Paketen zutrifft, die ähnliche grundlegende Funktionen bieten. Zum Beispiel sind `tin' und `trn' 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 `news-reader'. Ebenso bieten `smail' und `sendmail' beide die Funktionalität eines Mail-Transport-Agenten. Es wird also gesagt, dass beide Programme das virtuelle Paket `mail-transport-agent' anbieten. Wenn eines der Programme installiert ist, dann wird die Installation jedes Paketes, das von einem `mail-transport-agent' abhängig ist, durch die Existenz des virtuellen Paketes ermöglicht. 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 `update-alternatives' und wird später in Abschnitt 10.10, `Einige Benutzer mögen mawk, andere gawk; einige mögen vim, andere elvis; einige trn, wieder andere tin; wie unterstützt Debian die Vielfalt?' näher erklärt. 6.9. Was ist damit gemeint, ein Paket _Depends_, _Recommends_, _Suggests_, _Conflicts_, _Replaces_ oder _Provides_ ein anderes Paket? ---------------------------------------------------------------------------- Das Debian-Paketverwaltungssystem hat eine Reihe von »Paket-Abhängigkeiten«, welche entworfen wurden, um anzuzeigen (in einer einzigen Markierung), wie ein Programm _A_ mit einem existierenden Programm _B_ auf einem gegeben System unabhängig zusammenarbeiten: * Paket _A_ _depends (hängt ab)_ von Paket _B_, wenn B unbedingt installiert sein muss damit A läuft. In manchen Fällen, hängt _A_ nicht nur von _B_ ab, aber von einer Version von _B_. In diesem Fall ist die Versionsabhängigkeit normalerweise die untere Grenze, so dass _A_s Abhängigkeit von jeder Version von _B_ größer ist als die Abhängigkeit von einer speziellen Version. * Paket _A_ _recommends (empfiehlt)_ Paket _B_, wenn der Paketverwalter der Meinung ist, dass die meisten Benutzer _A_ nicht ohne die Funktionalität von _B_ haben wollen. * Paket _A_ _suggests (schlägt)_ Paket _B_ vor, wenn _B_ Dateien beinhaltet, die die Funktionalität von _A_ verbessern (und manchmal auch erhöhen). * Paket _A_ _conflicts (steht in Konflikt)_ mit Paket _B_ wenn _A_ nicht funktioniert, solange _B_ auf dem System installiert ist. Sehr oft sind Konflikte Fälle in denen _A_ Dateien beinhaltet, die ein Verbesserung der aus _B_ stammenden sind. »Konflikte« sind oft mit einem »Austausch« verbunden. * Paket _A_ _replaces (ersetzt)_ Paket _B_, wenn Dateien die von _B_ installiert wurden von Dateien aus _A_, entfernt und (in manchen Fällen) überschrieben werden. * Paket _A_ _provides (stellt zur Verfügung)_ Paket _B_, wenn alle Dateien und Funktionalitäten von _B_ mit _A_ verbunden wurden. Dieser Mechanismus ermöglicht es Benutzern mit einem Begrenzten Festplattenplatz nur den Teil _B_ von Paket _A_ speichern zu müssen. Detailliertere Informationen über die Nutzung jeder dieser Bezeichnungen können Sie im Richtlinien-Handbuch finden. 6.10. Was bedeutet Pre-Depends (Vor-Abhängigkeit)? -------------------------------------------------- »Pre-Depends« ist eine spezielle Abhängigkeit. Im Fall der meisten Pakete, entpackt `dpkg' die Archiv-Datei (z.B., seine `.deb' Datei) unabhängig davon, ob die Dateien von denen es Abhängt auf dem System existieren oder nicht. Stark vereinfacht bedeutet entpacken, das `dpkg' 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 _abhängen_, lehnt `dpkg' es ab die Paketinstallation abzuschließen (durch die Ausführung seiner Konfiguration), bevor die anderen Pakete installiert sind. Für einige Pakete lehnt `dpkg' 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 `a.out'- zum `ELF'-Format zu ermöglichen, als die _Reihenfolge_ 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. Genau wie zuvor können weiterführende Informationen dem Richtlinien-Handbuch entnommen werden. 6.11. Was bedeutet _unknown_, _install_, _remove_ _purge_ und _hold_ im Paket-Status? ---------------------------------------------------------------------------- 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 `dselect' oder auch durch die direkte Anfrage des Benutzers mit `dpkg'). Ihre Bedeutungen sind: * unknown - der Benutzer hat nie mitgeteilt ob der das Paket wünscht * install - der Benutzer wünscht das Paket installiert oder Upgedatet * remove - der Benutzer wünscht das Paket entfernt, aber möchte jede Existierende Konfigurationsdatei behalten. * purge - der Benutzer wünscht das Paket entfernt, inklusive aller Konfigurations-Dateien. * 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. 6.12. Wie stelle ich ein Paket auf »hold (halten)«? --------------------------------------------------- Es gibt drei Wege die es ermöglichen Pakete zurückzuhalten. Mit `dpkg', `aptitude' oder mit `dselect'. Mit `dpkg' müssen Sie lediglich die Liste der Paketwahl über: dpkg --get-selections \* > selections.txt exportieren. Dann Modifizieren Sie die Ergebnis-Datei `selections.txt', ändern Sie die Zeile die das Paket beinhaltet, welches Sie zurückhalten wollen, z.B. `libc6', von hier: libc6 install zu diesem: libc6 hold . Speichern Sie die Datei und laden Sie diese in die »dpkg«-Datenbank mit: dpkg --set-selections < selections.txt zurück. Mit `aptitude' können Sie ein Paket über aptitude hold Paket_Name zurückhalten und über aptitude unhold Paket_Name können Sie das zurückhalten wieder abstellen. Bei `dselect' 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. 6.13. Wie installiere ich ein Quelltext-Paket? ---------------------------------------------- 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 Quelltext-Pakete werden meistens auf den selben Spiegeln angeboten, auf denen auch die Binär-Pakete gefunden werden können. Wenn Sie Ihr APT sources.list(5) um die benötigten »deb-src«-Zeilen erweitern, sind Sie in der Lage jedes Quelltext-Paket einfach Herunterzuladen mittels: apt-get source foo Um Ihnen beim Bauen der Quelltext-Pakete zu helfen, bieten die Debian Quelltext-Pakete den sogenannten »build-dependencies (Bau-Abhängigkeiten)«-Mechanismus. 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 apt-get build-dep foo bevor Sie die Quelltexte kompilieren. 6.14. Wie baue ich ein Binär-Paket aus einem Quelltext-Paket? ------------------------------------------------------------- Sie brauchen alle `foo_*.dsc', `foo_*.tar.gz' und `foo_*.diff.gz' um die Quelltexte zu kompilieren (beachten Sie Bitte, das einige Pakete keinen `*.diff.gz' besitzen weil Sie Nativ sind). Sobald Sie sie haben (Abschnitt 6.13, `Wie installiere ich ein Quelltext-Paket?'), sofern Sie das `dpkg-dev'-Paket installiert haben, sollte das folgende Kommando: dpkg-source -x foo_version-revision.dsc in ein Verzeichnis namens `foo-version' entpacken. Wenn Sie das Paket nur kompilieren wollen, müssen Sie mit `cd' in das `foo-version's Verzeichnis und das Kommando dpkg-buildpackage -rfakeroot -b zum bauen des Paketes ausführen (beachten Sie das dazu noch das `fakeroot'-Paket benötigt wird). Danach können Sie mit dpkg -i ../foo_version-revision_arch.deb das neu gebaute Paket installieren. 6.15. Wie kann ich selbst Debian-Pakete erstellen? -------------------------------------------------- Für eine detailliertere Beschreibung zu diesem Thema lesen Sie bitte den Neue-Entwickler-Guide, zu finden im `maint-guide'-Paket oder auf http://www.debian.org/doc/devel-manuals#maint-guide. ------------------------------------------------------------------------------- 7. Die Debian-Paketverwaltungswerkzeuge --------------------------------------- 7.1. Welche Programme bietet Debian an, um seine Pakete zu verwalten? --------------------------------------------------------------------- Für die Verwaltung der Debian-Pakete gibt es verschiedene Werkzeuge, von grafischen oder textbasierten Schnittstellen über die Grundwerkzeuge, die benutzt werden um Pakete zu installieren. Alle verfügbaren Werkzeuge bauen auf den Grundwerkzeugen auf und sollen hier absteigend nach Bedienbarkeit vorgestellt werden. Es ist wichtig zu verstehen, dass die fortschrittlicheren Paketverwaltungswerkzeuge wie `aptitude' oder `dselect' auf `apt', welches selber auf `dpkg' aufbaut, basieren. Sehen Sie sich das APT-Handbuch (http://www.debian.org/doc/manuals/apt-howto/) für weitere Informationen über die Paketverwaltungswerkzeuge an. Unter dem APT-Handbuch-Eintrag auf der DDP-Benutzerhandbuchübersichtsseite (http://www.debian.org/doc/user-manuals#apt-howto) können Sie dieses Dokument in verschiedenen Sprachen und Formaten bekommen. 7.1.1. dpkg ----------- Dies ist das Hauptpaketverwaltungswerkzeug. `dpkg' kann mit vielen Optionen aufgerufen werden. Häufig benutzte sind: * Zeige alle Optionen an: `dpkg --help'. * Zeige die Datei `control' (und andere Informationen) für ein angegebenes Paket an: `dpkg --info foo_VVV-RRR.deb' * Installiere ein Paket (inklusive Entpacken und Konfiguration) in das Dateisystem auf der Festplatte: `dpkg --install foo_VVV-RRR.deb'. * Entpacke (ohne es zu konfigurieren) ein Debian-Archiv in das Dateisystem auf der Festplatte: `dpkg --unpack foo_VVV-RRR.deb'. Bitte beachten Sie, dass diese Option das Paket _nicht_ automatisch in einem benutzbaren Zustand hinterlässt; einige Dateien benötigen eventuell eine weitergehende Anpassung, um vernünftig zu funktionieren. Dieser Befehl löscht jede auf der Festplatte installierte Version des Programms und führt das mit dem Paket verbundene »preinst«-Skript (siehe Abschnitt 6.6, `Was sind die Debian »preinst«-, »postinst«-, »prerm«- und »postrm«-Skripte?') aus. * Konfiguriere ein bereits ausgepacktes Paket: `dpkg --configure foo'. Neben anderen Sachen ruft diese Option das zugehörige "postinst"-Skript (siehe Abschnitt 6.6, `Was sind die Debian »preinst«-, »postinst«-, »prerm«- und »postrm«-Skripte?') des Paketes auf. Außerdem aktualisiert es die Dateien, die in der Datei `conffiles' des Paketes aufgelistet sind. Beachten Sie, dass die »configure«-Option als Argument einen Paketnamen benötigt (z.B. foo), _und nicht_ den Namen der Debian-Archivdatei (z.B. foo_VVV-RRR.deb). * Extrahiere eine einzelne Datei namens "blurf" (oder mehrere Dateien namens "blurf*" aus einem Debian-Archiv `dpkg --fsys-tarfile foo_VVV-RRR.deb | tar -xf - blurf*' * Lösche ein Paket (aber nicht seine Konfigurationsdateien): `dpkg --remove foo'. * Lösche ein Paket (inklusive Konfigurationsdateien): `dpkg --purge foo'. * Zeige den Installationszustand eines Paketes, das die Buchstaben (oder den regulären Ausdruck) "foo*" enthält: `dpkg --list 'foo*''. 7.1.2. APT ---------- APT ist das _Advanced-Package-Tool (erweitertes Paketverwaltungswerkzeug)_ und beinhaltet das Programm `apt-get'. `apt-get' stellt auf einfache Weise ein Mittel für das Besorgen und Installieren von Paketen aus verschiedenen Quellen über die Kommandozeile zur Verfügung. Anders als `dpkg' versteht `apt-get' die ».deb-Dateien« nicht. `apt-get' arbeitet mit dem Paketnamen und kann die ».deb-Dateien« nur installieren, wenn eine entsprechende Quelle in der `/etc/apt/sources.list' Datei aufgeführt ist. `apt-get' ruft nach dem Download des ».deb-Archivs« direkt `dpkg' zur Installation[1] von den konfigurierten Quellen auf. Einige der üblichen Wege `apt-get' zu benutzen sind: * Um die Liste der Ihrem System bekannten Pakete zu aktualisieren können Sie apt-get update ausführen (Sie sollten dies regelmäßig ausführen um Ihre Paketliste aktuell zu halten) * Um ein Upgrade aller Pakete auf Ihrem System zu starten, führen Sie apt-get upgrade aus * Um das Paket mit allen seinen Abhängigkeiten zu installieren, bedarf es nur eines: apt-get install foo * Um das Paket wieder von Ihrem System zu entfernen, führen Sie apt-get remove foo aus * Um das Paket mit allen Konfigurationsdateien von Ihrem System zu entfernen, braucht es nur ein: apt-get --purge remove foo * Um alle Pakete auf Ihrem System auf ein neue Debian GNU/Linux-Version zu aktualisieren, benutzen Sie das folgende Kommando: apt-get dist-upgrade Bitte beachten Sie, dass Sie für das Ausführen von Kommandos, die die Systempakete ändern, als Hauptbenutzer angemeldet sein müssen. Die »apt-Werkzeug-Suite« enthält noch das `apt-cache'-Werkzeug um die Paketliste zu durchsuchen. Im Paketverwaltungssystem können Sie mit einem einfachen Text oder einem regulären Ausdruck Pakete suchen, die spezielle Funktionen anbieten und Sie können Abhängigkeiten suchen. Einige der üblichen Wege wie `apt-cache' benutzt wird, sind: * Um ein Paket zu finden, dessen Beschreibung enthält: apt-cache search * Um detaillierte Informationen über ein Paket auszugeben: apt-cache show * Um die Pakete zu bekommen von dem ein gegebenes Paket abhängt: apt-cache depends * Um detaillierte Informationen über die verfügbaren Versionen eines Paketes und die Pakete, die von diesem Paket abhängen, zu bekommen: apt-cache showpkg Für weitere Informationen, installieren Sie bitte das `apt'-Paket und lesen apt-get(8), sources.list(5), und installieren das `apt-doc'-Paket und lesen `/usr/share/doc/apt-doc/guide.html/index.html'. [1] Beachten Sie, dass es einige (Software)-Portierungen gibt, die dies auch für andere Paketverwaltungssysteme wie den »Red-Hat-Paketverwalter« (auch als `rpm' bekannt) ermöglichen. 7.1.3. aptitude --------------- `aptitude' ist ein Paketverwalter für Debian GNU/Linux-Systeme, welcher eine Oberfläche für die apt-Paketverwaltungsschnittstelle bietet. `aptitude' ist eine textbasierte Schnittstelle, die die curses-Bibliothek benutzt. Es kann benutzt werden, um Verwaltungsaufgaben auf schnelle und einfache Weise zu erledigen. `aptitude' unterstützt die Funktionen von `dselect' und `apt-get', genauso wie verschiedene andere Funktionen, welche es in anderen Programmen nicht gibt: * `aptitude' bietet Zugriff auf alle Versionen eines Paketes. * `aptitude' protokolliert alle seine Schritte unter `/var/log/aptitude'. * `aptitude' macht es einfach, die Übersicht über die veraltete Software nicht zu verlieren, indem sie unter »Veraltete und selbst erstellte Pakete« aufgelistet werden. * `aptitude' enthält ein ziemlich mächtiges System für die ausführliche Suche nach Paketen und die Limitierung der angezeigten Pakete. Benutzer die `mutt' nutzen, werden schnell zurechtkommen, weil `mutt' die Inspiration für die Ausdruckssyntax war. * `aptitude' speichert, welche Pakete wegen einer Abhängigkeit installiert wurden und entfernt diese automatisch, wenn das Paket, das es brauchte, vom System entfernt wird. * `aptitude' kann automatisch _Empfohlende:_ Pakete[1] installieren. * Im Vollbildmodus hat `aptitude' eingebaute `su'-Funktionalität und kann als normaler Benutzer ausgeführt werden. Es ruft `su' auf (und fragt nach dem Passwort des Hauptbenutzers, sofern vorhanden) falls Sie wirklich administrative Rechte benötigen sollten Sie können `aptitude' über eine visuelle Schnittstelle (einfach `aptitude' ausführen) oder direkt von der Kommandozeile starten. Die genutzte Kommandozeilensyntax ist sehr ähnlich, zu der von `apt-get' genutzten. Um zum Beispiel das Paket zu installieren, können Sie einfach `aptitude install ' starten. Bitte beachten Sie, dass `aptitude' das von Debian empfohlende Programm für das Installieren eines Paketes und/oder das Aktualisieren Ihres Systems ist. Für weitere Informationen lesen Sie bitte die Handbuchseite aptitude(8) und installieren das Paket `aptitude-doc-en'. [1] Obwohl das dazu führen kann, dass ein System mit mehr Paketen installiert wird, als es momentan zum Arbeiten braucht. 7.1.4. dselect -------------- Dieses Programm ist eine menügesteuerte Schnittstelle für das Debian-Paketverwaltungssystem. Es ist besonders für erste Installationen und größere Aktualisierungen nützlich. Einige Benutzer werden `aptitude' komfortabler finden, was gegenüber `dselect' für Aktualisierungen im großen Stil auch empfohlen wird. Weitere Informationen über `aptitude' können Sie unter Abschnitt 7.1.3, `aptitude' finden. `dselect' kann: * den Benutzer unterstützen, das Paket, das er/sie ausgewählt hat, zu installieren oder zu löschen und dabei sicherstellen, dass keine Pakete, die in Konflikt mit anderen stehen, installiert sind und benötigte Pakete, die für das Funktionieren der anderen gebraucht werden, ebenfalls installiert sind; * den Benutzer über Inkonsistenzen oder Inkompatibilitäten in seiner Auswahl warnen; * die Reihenfolge, in der die Pakete installiert sein müssen, festlegen; * automatisch die Installation oder das Löschen ausführen und * den Benutzer anleiten, welcher Konfigurationsschritt der Konfiguration für jedes Paket notwendig ist. `dselect' beginnt mit der Auswahl aus sieben Möglichkeiten für den Benutzer, von denen jede für eine bestimmte Aktion steht. Der Benutzer kann durch das Drücken der Pfeiltasten mit der markierten Zeile seine Auswahl treffen. Um die markierte Zeile auszuwählen, muss die __-Taste gedrückt werden. Was der Benutzer als nächstes zu sehen bekommt, hängt von der Auswahl ab, die er getroffen hat. Wenn er eine Option mit Ausnahme von `Zugriff' oder `Auswählen' ausgewählt hat, dann setzt `dselect' mit dem Ausführen der angegebenen Aktion fort: wenn der Benutzer z.B. die Aktion `Löschen' ausgewählt hat, fährt `dselect' mit dem Löschen aller ausgewählten Dateien fort, wenn der Benutzer als Letztes die Aktion `Auswählen' gewählt hat. Beide, der Menüpunkt `Zugriff' und der Menüpunkt `Auswählen' führen zu weiteren Menüpunkten. In beiden Fällen werden die Menüs als geteilter Bildschirm dargestellt. Der obere Bildschirmabschnitt gibt eine scrollbare Liste mit möglichen Auswahlmöglichkeiten, während der untere Bildschirmabschnitt eine kurze Erklärung ("info") für jede Auswahl bereitstellt. Eine ausführliche Online-Hilfe ist verfügbar, drücken Sie bitte zu einem beliebigen Zeitpunkt die '?'-Taste, um sie zu erreichen. Die Reihenfolge, in der die Aktionen im ersten `dselect'-Menü aufgelistet sind, gibt die Reihenfolge wieder, in der der Benutzer normalerweise mit `dselect' Pakete auswählt, um sie zu installieren. Dennoch kann ein Benutzer jede andere der Hauptmenüauswahlen so oft wie nötig auswählen (auch kein Mal, abhängig davon, was er tun möchte). * Beginnen Sie mit der _Zugriffsmethode_. Dies ist die Methode, mit der der Benutzer auf die Debian-Pakete zugreifen möchte. Einige Benutzer haben die Debian-Pakete auf CD-ROM verfügbar, wohingegen andere sie mit einem anonymen FTP-Zugang herunterladen. Die ausgewählte »Zugriffsmethode« wird gespeichert nachdem `dselect' beendet worden ist, so dass, wenn nichts verändert ist, diese Option nicht noch einmal aufgerufen werden muss. * Anschließend _Erneuere_n Sie die Liste der verfügbaren Pakete. Um dies zu tun, liest `dselect' die Datei `Packages.gz', welche im obersten Teil des Verzeichnis, in dem die Debian-Pakete installiert werden sollen, enthalten sein sollte. (Sollte dies nicht der Fall sein, bietet `dselect' an, dies für Sie zu tun.) * _Wähle_n Sie bestimmte Pakete für die Installation auf Ihrem System aus. Nachdem dieses Menü gewählt wurde, bekommt der Benutzer zuerst einen Hilfe-Bildschirm präsentiert (es sei denn, die `--expert'-Kommandozeilen-Option wurde benutzt). Sobald der Benutzer den Hilfe-Bildschirm beendet, sieht er ein geteiltes Bildschirmmenü für die Auswahl der zu installierenden Pakete (der zu löschenden). Im oberen Bildschirm ist ein relativ begrenztes Fenster, in dem die 18200 Debian-Pakete aufgelistet sind; der untere Teil des Bildschirms beinhaltet Beschreibungen der Pakete oder einer Gruppe von Paketen, die markiert sind. Man kann nun auswählen, welche Pakete behandelt werden sollen, indem man das Paket oder den Namen einer Gruppe von Paketen markiert. Danach können Sie auswählen, ob die Pakete: installiert werden sollen: Dies tun Sie, indem Sie die »+«-Taste drücken. gelöscht werden sollen: Pakete können auf zwei Arten deinstalliert werden: * Löschen: Dies löscht die meisten der mit dem Paket verbundenen Dateien, erhält jedoch die Dateien, die als Konfigurationsdateien markiert sind (siehe Abschnitt 6.5, `Was ist ein Debian »Conffile«?') und die Informationen über die Paketkonfiguration. Dies tun Sie, indem Sie die »-«-Taste drücken. * Säubern: Dies löscht _jede_ Datei, die ein Teil des Paketes ist (auch die Konfigurationsdateien). Dies tun Sie, indem Sie die »_«-Taste drücken. Bitte denken Sie daran, dass es nicht möglich ist »alle Pakete« zu löschen. Wenn Sie dies versuchen, wird Ihr System stattdessen auf eine Basisinstallation reduziert. Ein Paket »zurückhalten«: Dies tut Sie mittels der »=«-Taste. Dies teilt `dselect' mit, die aktuelle Version eines Paketes nicht zu aktualisieren, auch wenn die momentan installierte Version nicht die neuste Version des Paketes ist, die zur Zeit in dem Debian-Repository verfügbar ist, das Sie verwenden (dies wurde mit der _Zugriffsmethode_ und mit der Benutzung von _Erneuern_ festgelegt). Ebenso wie Sie ein Paket zurückhalten können, können Sie dies mittels der »:«-Taste rückgängig machen. Dies teilt `dselect' mit, dass das/die Paket/e aktualisiert werden dürfen, wenn eine neuere Version verfügbar ist. Dies ist die Standardeinstellung. Sie können die Reihenfolge der Darstellung der Pakete anpassen. Mittels der »o«-Taste können Sie zwischen den verschiedenen Sortierungsmöglichkeiten der Pakete hin- und herschalten. Die Standard-Sortierreihenfolge stellt die Pakete nach der Priorität dar. Innerhalb jeder Priorität werden die Pakete in der Reihenfolge der Verzeichnisse (Abschnitte) des Archivs dargestellt, in dem sie aufbewahrt werden. In dieser Reihenfolge werden die Pakete in Abschnitt A zuerst dargestellt, gefolgt von den Paketen in Abschnitt B, gefolgt von mehreren Paketen aus Abschnitt A mit einer niedrigeren Priorität. Sie können außerdem die Bedeutungen der Beschriftungen auf der oberen Bildschirmhälfte erweitert anzeigen, indem Sie »v« (verbose) drücken. Diese Aktion zeigt den meisten Text, der vorher auf dem Bildschirm angezeigt wurde, auf der rechte Seite. Um diesen zu sehen, drücken Sie die rechte Pfeiltaste; scrollen Sie nach links, indem Sie die linke Pfeiltaste drücken. Wenn Sie die Installation oder Entfernung eines Paketes ausgewählt haben, z.B. des Pakets `foo.deb' und das Paket benötigt (oder empfiehlt) ein anderes Paket, z.B. das Paket `blurf.deb', dann wird `dselect' dies in einem Teil-Bildschirm des Hauptauswahl-Bildschirms darstellen. Dort können Sie zwischen den betroffenen Paketen auswählen, die vorgeschlagenen Aktionen akzeptieren (installieren oder nicht) oder sie zurückweisen. Für Letzteres drücken Sie Shift-D. Um das Letzte rückgängig zu machen, drücken Sie Shift-U. Sie können, indem Sie Shift-Q drücken, in jedem Fall Ihre Einstellungen speichern und zum Hauptbildschirm zurückkehren. * Wenn Sie in das Hauptmenü zurückgekehrt sind, können Sie die »Installieren«-Methode wählen, um die ausgewählten Pakete zu entpacken und zu konfigurieren. Alternativ können Sie mittels der »Löschen«-Methode Pakete löschen. Um `dselect' zu beenden, wählen Sie »Beenden«. Alle Benutzerauswahlen werden durch `dselect' gesichert. 7.1.5. Andere Paketverwaltungswerkzeuge --------------------------------------- 7.1.5.1. dpkg-deb ----------------- Dieses Programm manipuliert Debian-Archivdateien (`.deb'). Einige häufig verwendete Eigenschaften: * Zeige alle Optionen: `dpkg-deb --help'. * Zeige an, welche Dateien in einem Debian-Archiv enthalten sind, ohne das Paket zu entpacken: `dpkg-deb --contents foo_VVV-RRR.deb') * Entpacke die Dateien, die in dem Debian-Archiv enthalten sind in das angegebene Verzeichnis: `dpkg-deb --extract foo_VVV-RRR.deb tmp' entpackt jede Datei in `foo_VVV-RRR.deb' in das Verzeichnis `tmp/'. Dies ist eine bequeme Methode, um die Inhalte eines Paketes in einem lokalen Verzeichnis zu prüfen, ohne das Paket in das Root-Dateisystem zu installieren. Bitte merken Sie sich, dass jedes Pakete, das lediglich mit `dpkg-deb --extract' entpackt wird, falsch installiert ist. Stattdessen sollten Sie `dpkg --install' benutzen, um ein Paket zu installieren. Weitere Informationen erhalten Sie im Manual dpkg-deb(1). 7.1.5.2. dpkg-split ------------------- Dieses Programm spaltet große Pakete in kleinere Dateien auf (z.B. um Dateien auf mehrere Disketten zu verteilen) und kann auch genutzt werden, um mehrere Teile einer Datei wieder zu einer Datei zusammenzufügen. Es kann nur auf einem Debian-System verwendet werden (d.h. auf einem System, dass das Paket `dpkg' beinhaltet), weil es das Programm `dpkg-deb' verwendet, um die Debian-Paketdatei zu analysieren und in seine Einzelteile zu zerlegen. Um zum Beispiel eine große .deb-Datei in Dateien zu unterteilen, * Führen Sie das Kommando `dpkg-split --split foo.deb' aus. Dies wird Dateien im aktuellen Verzeichnis erzeugen, wobei jede ungefähr 460 KByte lang ist. * Kopieren Sie die Dateien auf Ihre Disketten. * Kopieren Sie den Inhalt der Disketten auf eine Festplatte Ihrer Wahl eines anderen Computers. * Fügen Sie die einzelnen Dateien wieder mittels `dpkg-split --join "foo*"' zusammen. 7.2. Debian erhebt den Anspruch, dazu in der Lage zu sein, ein laufendes Programm zu aktualisieren. Wie ist es dazu in der Lage? ---------------------------------------------------------------------------- Der Kernel (Dateisystem) in Debian GNU/Linux-Systemen unterstützt das Ersetzen von Dateien auch während sie benutzt werden. Außerdem stellen wir ein Programm namens `start-stop-daemon' zur Verfügung, das benutzt wird, um Daemonen während des Hochfahrens zu starten oder beim Wechsel des Runlevels zu stoppen (z.B. von Mehrbenutzer- zu Einbenutzer-Modus oder zum Runterfahren). Das selbe Programm wird von Installationsskripten benutzt, sobald ein neues Paket installiert wird, das einen Daemon beinhaltet, um laufende Daemonen zu stoppen und falls nötig neu zu starten. 7.3. Wie kann ich sehen, welche Pakete bereits auf einem Debian-System installiert sind? ---------------------------------------------------------------------------- Um den Status aller im Debian-System installierten Pakete zu sehen, führen Sie das Kommando dpkg --list aus. Dies gibt eine einzeilige Zusammenfassung mit einem 2-buchstabigen Statussymbol (im Kopf erklärt), den Paketnamen, die _installierte_ Version des Paketes und eine kurze Beschreibung für jedes einzelne Paket aus. Um den Status jedes Paketes zu sehen, dessen Name mit »foo« anfängt, geben Sie folgendes Kommando ein: dpkg --list 'foo*' Um einen ausführlicheren Status für ein bestimmtes Paket zu erhalten, geben Sie folgendes Kommando ein: dpkg --status Paketname 7.4. Wie kann ich herausfinden, welches Paket eine bestimmte Datei angelegt hat? ---------------------------------------------------------------------------- Um herauszufinden, welches Paket die Datei namens `' erstellt hat, führen Sie eines der Kommandos aus: * `dpkg --search `'' Dies sucht nach `' in den installierten Paketen. (Dies ist (momentan) gleichwertig mit der Suche nach allen Dateien mit der Endung `.list' im Verzeichnis `/var/lib/dpkg/info/' und des Manipulierens der Ausgabe, so dass alle Pakete, die dies beinhalten, aufgelistet werden.) Eine schnellere Alternative dazu ist das `dlocate'-Werkzeug. * `zgrep foo Contents-ARCH.gz' Dies sucht nach Dateien, die die Zeichenkette in ihrem vollständigen Pfadnamen enthalten. Die Dateien `Contents-.gz' (wobei die gewünschte Architektur darstellt) befindet sich in den Hauptpaketverzeichnissen (main, non-free, contrib) auf dem Debian FTP-Server, d.h. unter `/debian/dists/etch'). Eine `Contents'-Datei bezieht sich nur auf das Paket im Unterverzeichnisbaum, in dem es sich aufhält. Deshalb könnte es sein, dass der Benutzer mehr als eine `Contents'-Datei durchsuchen muss, um das Paket zu finden, das enthält. Diese Methode hat gegenüber `dpkg --search' den Vorteil, dass Sie damit Dateien in Paketen finden können, die momentan nicht auf Ihrem System installiert sind. * `apt-file search ' Das selbe wie beim Beispiel davor, es sucht Dateien welche den Teiltext oder den regulären Ausdruck `foo' in ihrem vollen Verzeichnisnamen haben. Der Unterschied zum vorherigen Beispiel ist, dass es nicht notwendig ist, die `Contents-ARCH.gz'-Datei zu holen, da es dies automatisch, für alle Quellen die in der `/etc/apt/sources.list' definiert sind, tut, wenn Sie `apt-file update' (als root) ausführen. 7.5. Warum wird »foo-data« nicht entfernt, wenn ich »foo« deinstalliere? Wie stelle ich sicher, dass alte unbenutzte Bibliothekspakete entfernt werden? ---------------------------------------------------------------------------- Einige Pakete sind in Programme (»foo«) und Daten (»foo-data«) geteilt. Dies trifft in Debian auf viele Spiele, Multimedia-Anwendungen und Wörterbücher zu und wurde eingeführt, weil einige Benutzer auf die Rohdaten zugreifen wollten, ohne das Programm zu installieren, oder das Programm selbst ohne die Daten läuft, so dass diese optional sind. Ähnliche Situationen tauchen auf, wenn Sie mit Bibliotheken arbeiten: normalerweise werden diese Pakete installiert, wenn Pakete Programme enthalten, die von ihnen abhängen. Wenn das Programmpaket entfernt wird, bleibt das Bibliothekspaket auf dem System. Oder: Wenn das Programmpaket nicht länger z.B. von »libdb4.2« abhängt, aber nun von »libdb4.3«, kann das »libdb4.2«-Paket installiert bleiben, wenn das Programmpaket aktualisiert wird. In diesen Fällen hängt »foo-data« nicht von »foo« ab, so dass, wenn Sie das »foo«-Paket entfernen, die meisten Paketverwaltungswerkzeuge es nicht automatisch entfernen. Das selbe gilt für die Bibliothekspakete. Dies ist nötig, um zirkuläre Abhängigkeiten zu vermeiden. Wenn Sie `aptitude' (siehe Abschnitt 7.1.3, `aptitude') als Ihr Paketverwaltungswerkzeug benutzen, merkt es sich die automatisch installierten Pakete und entfernt sie, wenn kein Paket auf Ihrem System verbleibt, das dieses benötigt. ------------------------------------------------------------------------------- 8. Wie man sein Debian-System auf dem Laufenden hält ---------------------------------------------------- Ein Ziel von Debian ist einen gleichbleibenden Upgrade-Pfad und ein sicheres Upgrade-Verfahren anzubieten. Wir geben immer unser Bestes, damit das Aufrüsten so leicht wie möglich abläuft. Falls noch weitere wichtige Informationen für das Upgrade-Verfahren notwendig sind, erhält der Benutzer Warnhinweise. Oft werden ihm gleichzeitig Lösungen für eventuell auftretende Probleme angeboten. Es ist ratsam sich die Release-Informationen durchzulesen, welche die Einzelheiten von bestimmten Upgrades enthalten. Diese sind auf allen Debian-CDs zu finden und auch im WWW auf http://www.debian.org/releases/stable/releasenotes verfügbar. 8.1. Wie kann ich meine Debian-Distribution 1.3.1 (oder älter), basierend auf libc5, auf 2.0 (oder aktueller), basierend auf libc6, aufrüsten? ---------------------------------------------------------------------------- Es gibt verschiedene Wege ein Upgrade durchzuführen: * Mittels eines Shellskripts, welches `autoup.sh' genannt wird. Dieses führt ein Upgrade auf die wichtigsten Pakete aus. Nachdem `autoup.sh' seine Arbeit getan hat, kann `dselect' benutzt werden um die übrigen Pakete _en masse_ zu installieren. Dieses Verfahren wird vermutlich meistens empfohlen, aber es ist nicht das einzige. Zurzeit kann das aktuellste Release von `autoup.sh' unter folgenden Links gefunden werden: * http://www.debian.org/releases/2.0/autoup/ * http://www.taz.net.au/autoup/ * http://debian.vicnet.net.au/autoup/ * Die wichtigsten Pakete können manuell aufgerüstet werden. Als Anleitung hierfür dient das Debian libc5 to libc6 Mini-HOWTO (http://debian.vicnet.net.au/autoup/HOWTO/libc5-libc6-Mini-HOWTO.html). `autoup.sh' basiert auf diesem Mini-Howto. Deshalb sollte dieses Verfahren mehr oder weniger so funktionieren, als ob Sie `autoup.sh' benutzen. * Mittels einem libc5-basierenden `APT'. APT steht für Advanced Package Tool (deutsch: fortgeschrittenes Paketverwaltungssystem) und es könnte eines Tages `dselect' ersetzen. Gegenwärtig arbeitet es genauso wie eine Befehlszeilenoberfläche oder wie das Zugriffsverfahren über `dselect'. Eine libc5-Version ist in dem Verzeichnis `dists/slink/main/upgrade-older-i386' in den Debian-Archiven zu finden. * Indem Sie nur `dselect' benutzen, ohne zuerst irgendein Paket manuell aufzurüsten. Es wird dringenst davon abgeraten dieses Verfahren zu wählen, wenn es vermieden werden kann. Denn gegenwärtig installiert `dselect' die Pakete nicht in der optimalen Reihenfolge. APT funktioniert viel besser und es ist sicherer. 8.2. Wie kann ich mein Debian-System aktuell halten? ---------------------------------------------------- Sie können einfach einen anonymen FTP-Abruf auf das Debian-Archiv starten, dann die Verzeichnisse durchgehen, bis die gewünschte Datei gefunden wird, diese dann abrufen, und diese schließlich mit `dpkg' installieren. Es ist zu beachten, dass mit `dpkg' die Upgrade-Dateien sofort installiert werden, selbst auf einem laufenden Programm. Manchmal ist es erforderlich, dass für ein geändertes Paket eine aktuelle Version eines anderen Paketes installiert werden muss. In diesem Falle wird die Installation fehlschlagen, bis/außer wenn das andere Paket installiert ist. Viele Leute finden diese Vo