Die Debian GNU/Linux-FAQ ------------------------ Die Autoren der Debian-FAQ Version 5.0.1, 17 March 2012 ------------------------------------------------------------------------------- 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. Eine Debian-Distribution auswählen 3.1. Welche Debian-Distribution (Stable/Testing/Unstable) ist geeignet für mich? 3.1.1. Sie haben mir empfohlen, Stable zu installieren. Allerdings wird unter stable bestimmte Hardware nicht erkannt oder funktioniert nicht richtig. Was soll ich tun? 3.1.2. Gibt es unterschiedliche Versionen eines Pakets in unterschiedlichen Distributionen? 3.1.3. Die stabile Distribution enthält wirklich eine ganze Menge ziemlich veralteter Pakete, wie an Kde, Gnome, Xorg oder sogar dem Kernel deutlich erkennbar ist. Warum ist das so? 3.1.4. Wenn ich zu einer anderen Distribution wechseln wollte, ginge das? 3.1.5. Sollte man Testing oder Unstable installieren? 3.1.6. Hier ist die Rede davon, dass Testing "kaputt" gehen kann. Was soll das heißen? 3.1.7. Wie kann es sein, dass Testing monatelang kaputt ist? Würden die in Unstable eingepflegten Fehlerkorrekturen nicht direkt in Testing einfließen? 3.1.8. Vom Standpunkt eines Systemverwalters her gesehen: Welche Distribution verlangt mehr Aufmerksamkeit? 3.1.9. Was passiert, wenn eine neue Version von Debian veröffentlicht wird? 3.1.10. Ich habe einen Desktop-Rechner/Rechner-Cluster mit Debian. Wie kann ich herausfinden, welche Distribution darauf läuft? 3.1.11. Augenblicklich verwende ich stable. Kann ich zu Testing oder Unstable wechseln? Und wenn, wie? 3.1.12. Im Augenblick verwende ich Testing (wheezy). Was wird passieren, wenn eine neue Veröffentlichung herauskommt? Werde ich weiterhin Testing haben oder wird auf meinem Rechner die neue stabile Distribution laufen? 3.1.13. Ich bin noch immer verwirrt. Was sagten Sie, solle ich installieren? 3.2. Aber was ist mit Knoppix, Linex, Ubuntu und all den anderen Distributionen? 3.2.1. Ich weiß jetzt, dass Knoppix/Linex/Ubuntu/ ... auf Debian basieren. Bedeutet das auch, dass ich die 'apt' Paketwerkzeuge verwenden kann, wenn ich eine dieser Distributionen auf meiner meiner Festplatte installiere? 3.2.2. Ich habe Knoppix/Linex/Ubuntu/... auf meiner Festplatte installiert. Jetzt habe ich ein Problem. Was soll ich tun? 3.2.3. Ich benutze Knoppix/Linex/Ubuntu/... und möchte nun Debian verwenden. Wie steige ich um? 4. Kompatibilitätsfragen 4.1. Auf welchen Hardware-Architekturen/Systemen läuft Debian GNU/Linux? 4.2. Wie kompatibel ist Debian mit anderen Linux-Distributionen? 4.3. Wie sehr ist der Quellcode von Debian kompatibel mit anderen Unix-Systemen? 4.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? 4.5. Wie soll ich ein nicht-Debian-Programm installieren? 4.6. Warum kann ich Programme nicht kompilieren, die libtermcap benötigen? 4.7. Warum kann ich AccelX nicht installieren? 4.8. Warum stürzen meine alten XFree 2.1 Motif-Anwendungen ab? 5. Für Debian-Systeme verfügbare Software 5.1. Welche Art von Anwendungen und Entwicklungsprogrammen sind für Debian GNU/Linux verfügbar? 5.2. Wer schreibt die ganzen Programme? 5.3. Wie kann ich eine Liste der Programme, die momentan für Debian paketiert wurden, bekommen? 5.4. Was fehlt bei Debian GNU/Linux? 5.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? 5.6. (Wie) Unterstützt Debian Java? 5.7. Wie kann ich prüfen, ob ich ein Debian-System benutze und welche Version es ist? 5.8. Wie unterstützt Debian andere Sprachen als Englisch? 5.9. Was ist mit den US-Export-Limitierungsregelungen? 5.10. Wo ist pine? 5.11. Wo sind qmail/ezmlm/djbdns? 6. Die Debian FTP-Archive 6.1. Wie viele Debian-Distributionen gibt es? 6.2. Was haben all diese Namen wie »Etch«, »Lenny«, usw. zu bedeuten? 6.2.1. Welche Codenamen wurden in der Vergangenheit verwendet? 6.2.2. Woher stammen diese Codenamen? 6.3. Was ist mit »Sid«? 6.4. Was enthält das »stable«-Verzeichnis? 6.5. Was enthält das »testing«-Verzeichnis? 6.5.1. Wie erhält »Testing« den »frozen«-Status? 6.6. Was enthält das »unstable«-Verzeichnis? 6.7. Was haben all die Verzeichnisse in den Debian-FTP-Archiven zu bedeuten? 6.8. Was haben die ganzen Verzeichnisse in `dists/stable/main' zu bedeuten? 6.9. Wo befindet sich der Quellcode? 6.10. Was befindet sich im `pool'-Verzeichnis? 6.11. Was ist »Incoming«? 6.12. Wie erstelle ich mein eigenes, apt-taugliches Paketdepot? 7. Grundlagen des Debian-Paketverwaltungssystems 7.1. Was ist ein Debian-Paket? 7.2. Was ist das Format eines binären Debian-Pakets? 7.3. Warum sind Debian-Paketdateinamen so lang? 7.4. Was ist eine Debian-Kontroll-Datei? 7.5. Was ist ein Debian »Conffile«? 7.6. Was sind die Debian »preinst«-, »postinst«-, »prerm«- und »postrm«-Skripte? 7.7. Was ist ein _Essential_-, _Required_-, _Important_-, _Standard_-, _Optional_- oder _Extra_-Paket? 7.8. Was ist ein virtuelles Paket? 7.9. Was ist damit gemeint, ein Paket _Depends_, _Recommends_, _Suggests_, _Conflicts_, _Replaces_ oder _Provides_ ein anderes Paket? 7.10. Was bedeutet Pre-Depends (Vor-Abhängigkeit)? 7.11. Was bedeutet _unknown_, _install_, _remove_ _purge_ und _hold_ im Paket-Status? 7.12. Wie stelle ich ein Paket auf »hold (halten)«? 7.13. Wie installiere ich ein Quelltext-Paket? 7.14. Wie baue ich ein Binär-Paket aus einem Quelltext-Paket? 7.15. Wie kann ich selbst Debian-Pakete erstellen? 8. Die Debian-Paketverwaltungswerkzeuge 8.1. Welche Programme bietet Debian an, um seine Pakete zu verwalten? 8.1.1. dpkg 8.1.2. APT 8.1.3. aptitude 8.1.4. dselect 8.1.5. Andere Paketverwaltungswerkzeuge 8.2. Debian erhebt den Anspruch, dazu in der Lage zu sein, ein laufendes Programm zu aktualisieren. Wie ist es dazu in der Lage? 8.3. Wie kann ich sehen, welche Pakete bereits auf einem Debian-System installiert sind? 8.4. Wie kann ich herausfinden, welches Paket eine bestimmte Datei angelegt hat? 8.5. Warum wird »foo-data« nicht entfernt, wenn ich »foo« deinstalliere? Wie stelle ich sicher, dass alte unbenutzte Bibliothekspakete entfernt werden? 9. Wie man sein Debian-System auf dem Laufenden hält 9.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? 9.2. Wie kann ich mein Debian-System aktuell halten? 9.2.1. aptitude 9.2.2. apt-get, dselect and apt-cdrom 9.2.3. dpkg-ftp 9.2.4. mirror 9.2.5. dpkg-mountable 9.3. Muss ich in den Einzelbenutzermodus wechseln um Pakete aufzurüsten? 9.4. Muss ich all diese .deb-Archivdateien auf meinem Rechner aufbewahren? 9.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! 10. Debian und der Kernel 10.1. Kann ich einen Kernel ohne gewisse Debian-spezifische Optimierungen installieren und kompilieren? 10.2. Welche Werkzeuge zum Erzeugen eines angepassten Kernels stellt Debian zur Verfügung? 10.3. Wie kann ich eine angepasste Bootdiskette erstellen? 10.4. Welche speziellen Einrichtungen bietet Debian im Umgang mit Modulen? 10.5. Kann ich sicher ein altes Kernel-Paket deinstallieren und wenn ja, wie? 11. Anpassen Ihrer Debian GNU/Linux-Installation 11.1. Wie kann ich sicherstellen, dass alle Programme die selbe Papiergröße verwenden? 11.2. Wie kann kann ich Zugang zu Peripheriegeräten zur Verfügung stellen ohne die Sicherheit zu kompromittieren? 11.3. Wie kann ich eine Konsolen-Schriftart auf Debian-Art beim Systemstart laden? 11.4. Wie kann ich die Standardeinstellung eines X11-Programms konfigurieren? 11.5. Jede Distribution scheint eine andere boot-up-Methode zu haben. Beschreiben Sie jene von Debian. 11.6. Es scheint so, als ob Debian `rc.local' nicht zum Anpassen des Bootprozesses verwendet; welche Einrichtungen gibt es? 11.7. Wie geht das Paketverwaltungssystem mit Paketen um, die Konfigurationsdateien für andere Pakete enthalten? 11.8. Wie kann ich eine durch ein Paket installierte Datei außer Kraft setzen, so dass stattdessen eine andere Version verwendet werden kann? 11.9. Wie kann ich meine lokal erstellten Pakete in die Liste der verfügbaren Pakete, von denen das Paketmanagementsystem weiß, aufnehmen? 11.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? 12. Unterstützung für Debian GNU/Linux 12.1. Welche andere Dokumentation gibt es auf einem und für ein Debian-System? 12.2. Gibt es Online-Hilfsmittel um über Debian zu diskutieren? 12.2.1. Mailinglisten 12.2.2. Verantwortliche 12.2.3. Usenet-Nachrichtengruppen 12.3. Gibt es einen schnellen Weg, um nach Informationen über Debian GNU/Linux zu suchen? 12.4. Gibt es Protokolle von bekannten Fehlern? 12.5. Wie melde ich einen Fehler in Debian? 13. Zum Debian-Projekt beitragen 13.1. Wie kann ich Debian-Software-Entwickler werden? 13.2. Wie kann ich Ressourcen zum Debian-Projekt beisteuern? 13.3. Wie kann ich das Debian-Projekt finanziell unterstützen? 13.3.1. Software in the Public Interest 13.3.2. Free Software Foundation 14. Debian GNU/Linux in einem kommerziellen Produkt verwenden 14.1. Kann ich Debian-CDs erstellen und verkaufen? 14.2. Kann Debian mit unfreier (non-free) Software paketiert werden? 14.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? 14.4. Kann ich mein kommerzielles Programm in einem Debian-»Paket« ablegen, damit es auf jedem Debian-System mühelos installiert werden kann? 15. Erwartete Änderungen in der nächsten Hauptversion von Debian 15.1. Unterstützung für nicht Englisch sprechende Benutzer 15.2. Schnelleres booten: Abhängigkeitsbasierte Boot-Sequenz 15.3. Verbesserungen im Debian-Installationsprogramm 15.4. Weitere (Rechner-)Architekturen 15.5. Zusätzliche Kernel 16. Allgemeine Informationen über die FAQ 16.1. Autoren 16.2. Feedback 16.3. Verfügbarkeit 16.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 12.1, `Welche andere Dokumentation gibt es auf einem und für ein Debian-System?'. Wenn selbst das nicht hilft, wird auf Abschnitt 16.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. Debian GNU/Linux ist: * _Voll ausgestattet_: Debian enthält zur Zeit mehr als 29000 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 187 Software-Pakete (in den `non-free'- und `contrib'-Bereichen), die unter den speziellen Bedingungen des jeweiligen Paketes weitergegeben werden können. * _Dynamisch_: Mit ungefähr 880 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. Die meisten Linux-Benutzer verwenden eine bestimmte _Linux-Distribution_ wie etwa Debian GNU/Linux. Im Prinzip könnten Anwender sich den Linux-Kernel jedoch auch selbst 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 ganze Suite 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. 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 14.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-PCs (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 4.3, `Wie sehr ist der Quellcode von Debian kompatibel mit anderen Unix-Systemen?'. Für weitere Informationen über Linux siehe What is Linux (http://www.linux.org/info/) von Linux Online (http://www.linux.org/). 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, wobei sowohl mit NetBSD- als auch mit FreeBSD-Kerneln gearbeitet wird. 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 7, `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 880 freiwillige Paketbetreuer arbeiten an über 29000 Paketen und verbessern Debian GNU/Linux. Die Debian-Entwickler tragen zum Projekt meistens nicht bei, indem sie neue Programme schreiben, 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 13.1, `Wie kann ich Debian-Software-Entwickler werden?' an. Das universelle Betriebssystem: Debian enthält mehr als 29000 Pakete (http://packages.debian.org/stable/) und läuft auf 9 Architekturen (http://www.debian.org/ports/). Das ist bedeutend mehr als was bei anderen GNU/Linux Distributionen verfügbar ist. Abschnitt 5.1, `Welche Art von Anwendungen und Entwicklungsprogrammen sind für Debian GNU/Linux verfügbar?' bietet einen Überblick über die angebotene Software und Abschnitt 4.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 12.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'-ii-en ausgesprochen, mit einem kurzen »e« wie in Debüt 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 ii'-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 6.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 6.1, `Wie viele Debian-Distributionen gibt es?'. 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 9.2.5, `dpkg-mountable' und Abschnitt 9.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 8.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. Eine Debian-Distribution auswählen ------------------------------------- Es gibt viele verschiedene Debian-Distributionen. Die richtige auszuwählen, ist eine wichtige Entscheidung. Dieser Abschnitt umfasst einige Informationen, die Benutzern helfen sollen, zu entscheiden, welche Distribution am besten zu ihrem System passt. Darüber hinaus gibt er Antworten auf mögliche Fragen, die während des Entscheidungsprozesses auftauchen können. Es geht also nicht so sehr um das "Warum Sie Debian wählen sollten", sondern um das "Welche Distribution von Debian". Um mehr Informationen über die verfügbaren Distributionen zu erhalten, lesen Sie bitte Abschnitt 6.1, `Wie viele Debian-Distributionen gibt es?'. 3.1. Welche Debian-Distribution (Stable/Testing/Unstable) ist geeignet für mich? ---------------------------------------------------------------------------- Die Antwort darauf ist ein wenig kompliziert. Sie hängt sehr davon ab, was Sie zu tun beabsichtigen. Eine Lösung wäre, einen Bekannten zu fragen, der selber Debian verwendet. Aber das bedeutet natürlich nicht, dass Sie keine unabhängige Entscheidung treffen könnten. Tatsächlich sollten Sie genau dazu in der Lage sein, wenn Sie dieses Kapitel bis zum Ende durchgelesen haben. * Wenn Ihnen Sicherheit und Stabilität am wichtigsten sind, dann installieren Sie stable. Das ist üblicherweise der bevorzugte Weg. * Wenn Sie erstmals Debian benutzen, und es auf einem Desktop-Rechner installieren wollen, beginnen Sie mit stable. Ein Teil der enthaltenen Software ist zwar etwas veraltet, dafür handelt es sich um die am wenigsten mit Softwarefehlern belastete Arbeitsumgebung. Sobald Sie es sich dann zutrauen, können Sie mit wenig Aufwand zum etwas moderneren Unstable wechseln. * Wenn Sie Desktop-Benutzer sind, bereits über etwas Erfahrung mit Linux verfügen und Sie der eine oder andere seltsame Fehler von Zeit zu Zeit nicht stört, dann benutzen Sie unstable. Es bietet topmoderne Software und Fehler werden üblicherweise rasch behoben. * Wenn Sie einen Server betreiben, besonders einen, an den hohe Anforderungen hinsichtlich der Stabilität gestellt werden oder der über das Internet erreichbar ist, sollten Sie Stable installieren. Das ist bei weitem die beste und sicherste Wahl hierfür. The folgenden Fragen beleuchten die verschiedenen Wahlmöglichkeiten (hoffentlich) etwas detaillierter. 3.1.1. Sie haben mir empfohlen, Stable zu installieren. Allerdings wird unter stable bestimmte Hardware nicht erkannt oder funktioniert nicht richtig. Was soll ich tun? ---------------------------------------------------------------------------- Durchsuchen Sie das Web mithilfe einer Suchmaschine und schauen Sie nach, ob jemand anderes Ihre Hardware zum Laufen gebracht hat. Die allermeiste Hardware sollte gut unter Stable funktionieren. Wenn Sie aber bestimmte, sehr neue Hardware haben, kann es sein, dass diese nicht unter Stable funktioniert. Sollte das der Fall sein, möchten Sie vielleicht zu Unstable upgraden beziehungsweise Unstable installieren. Für Laptops ist die Internetseite http://www.linux-on-laptops.com/ eine sehr gute Anlaufstelle, um herauszufinden, ob jemand Ihr Gerät unter Linux zum Laufen bekommen hat. Die Internetseite bezieht sich nicht direkt auf Debian, ist aber dennoch eine große Fundgrube. Eine Internetseite in dieser Art für Desktop-Rechner ist nicht bekannt. Eine andere Möglichkeit ist, auf der Mailingliste debian-user nachzufragen, indem man eine E-Mail an debian-user@lists.debian.org schickt. Nachrichten können an die Liste geschickt werden, sogar ohne sich dort anmelden zu müssen. Das Archiv ist unter http://lists.debian.org/debian-user/ einzusehen. Dort finden sich auch alle Informationen, welche die Anmeldung auf der Liste betreffen. Wir möchten nachdrücklich empfehlen, dass Sie Ihre Fragen über die Mailingliste schicken, anstatt sie im irc (http://www.debian.org/support) zu stellen. Die Nachrichten auf der Mailingliste werden archiviert. Auf diese Weise kann die Lösung für Ihr Problem auch anderen Benutzern helfen, die die gleichen Schwierigkeiten haben. 3.1.2. Gibt es unterschiedliche Versionen eines Pakets in unterschiedlichen Distributionen? ---------------------------------------------------------------------------- Ja. Unstable hat die aktuellsten (jüngsten) Versionen. Allerdings sind die Pakete in Unstable nicht ausführlich getestet und haben möglicherweise Fehler. Andererseits enthält Stable zwar alte Paketversionen, diese sind jedoch ausführlich getestet. Es ist weniger wahrscheinlich, dass sie Fehler enthalten. Die Pakete in Testing stellen den Mittelweg zwischen diesen beiden Extremen dar. 3.1.3. Die stabile Distribution enthält wirklich eine ganze Menge ziemlich veralteter Pakete, wie an Kde, Gnome, Xorg oder sogar dem Kernel deutlich erkennbar ist. Warum ist das so? ---------------------------------------------------------------------------- Da könnten Sie recht haben. Das Alter der Pakete in Stable hängt davon ab, wann die letzte Veröffentlichung gemacht wurde. Angesichts dessen, dass üblicherweise mehr als ein Jahr zwischen den Veröffentlichungen von Debian liegen, kann es sein, dass Sie den Eindruck gewinnen, dass Stable alte Pakete enthält. Allerdings wurden diese durch und durch getestet. Man kann guten Gewissens sagen, dass diese Pakete keine schweren Fehler, Sicherheitslücken und dergleichen enthalten. Diese Eigenschaft ist sehr wichtig für produktive Server, die 24 Stunden am Tag und sieben Tage die Woche funktionieren müssen. Umgekehrt können Pakete in Testing und Unstable versteckte Fehler, Sicherheitslöcher und Ähnliches aufweisen. Schlimmer noch, manche Pakete in Testing und Unstable funktionieren möglicherweise nicht wie beabsichtigt. Für gewöhnlich ziehen Personen, die an einem einzelnen Desktop-Rechner arbeiten, die jüngsten und modernsten Paket-Sets vor. Unstable ist die richtige Wahl für diese Art von Benutzer. Wie Sie sehen, handelt es sich bei Stabilität und Aktualität um entgegengesetzte Enden eines Spektrums. Wenn Stabilität erforderlich ist, dann installieren Sie die stabile Distribution. Wenn Sie mit den neusten Paketen arbeiten möchten, dann installieren Sie unstable. 3.1.4. Wenn ich zu einer anderen Distribution wechseln wollte, ginge das? ------------------------------------------------------------------------- Ja, aber das ist eine Einbahnstraße. Sie können von stable --> testing --> unstable wechseln. Aber in umgekehrter Richtung ist das nicht "möglich". Sie sollten Sich also sicher sein, wenn sie planen Unstable zu installieren oder ein upgrade zu machen. Tatsächlich verhält es sich so: Wenn Sie Experte sind und willens etwas Zeit darauf zu verwenden, vorsichtig sind und wissen, was Sie tun, dann kann es möglich sein, von Unstable zu Testing und von Testing dann zu Stable zu gehen. Das Installations-Skript ist allerdings nicht dafür entworfen, dergleichen zu tun. Daher kann es passieren, dass während des Vorgangs Ihre Konfigurationsdateien verloren gehen und ... 3.1.5. Sollte man Testing oder Unstable installieren? ----------------------------------------------------- Das ist eine ziemlich subjektive Angelegenheit. Es gibt darauf keine absolut richtige Antwort, sondern lediglich eine "vernünftige Vermutung", um sich zwischen Testing und Stable zu entscheiden. Die Sache ist die: * Stable ist "rock solid". Es geht nicht "kaputt". * Testing geht weniger oft kaputt als unstable. Aber wenn es passiert, dann dauert es eine ganze Weile, bis die Dinge wieder im Lot sind. Manchmal kann das Tage dauern, hin und wieder auch Monate. * In Unstable ändert sich sehr viel und es kann daher auch jederzeit kaputt gehen. Allerdings werden die Probleme in vielen Fällen binnen Tagen behoben und Unstable bietet außerdem immer die neueste für Debian paketierte Software. Aber manchmal kann es günstiger sein, Testing mitzuverfolgen als unstable. Der Autor dieser Dokumentation erlebte so etwas während dem Wechsel von gcc3 auf gcc4: Er versuchte, das Paket `labplot' auf einem Rechner zu installieren, der Unstable folgte. Das gelang nicht, da nur einige der Abhängigkeiten im Zuge des gcc-Übergangs bereits erfüllt waren, andere jedoch nicht. In Testing ließ sich das Paket dagegen installieren, da die im Übergang befindlichen Pakete noch nicht in dort angelangt waren. 3.1.6. Hier ist die Rede davon, dass Testing "kaputt" gehen kann. Was soll das heißen? ---------------------------------------------------------------------------- Es kann vorkommen, dass sich ein Paket nicht mit den Paketmanagement-Werkzeugen installieren lässt. Manchmal kann es auch sein, dass ein Paket nicht mehr verfügbar ist, vielleicht wurde es (zeitweise) wegen Fehlern oder verletzten Abhängigkeiten entfernt. Oder ein Paket lässt sich zwar installieren, verhält sich aber nicht ordnungsgemäß. Wenn solche Dinge passieren, sagt man von einer Distribution, dass sie (zumindest in Bezug auf dieses eine Paket) kaputt ist. 3.1.7. Wie kann es sein, dass Testing monatelang kaputt ist? Würden die in Unstable eingepflegten Fehlerkorrekturen nicht direkt in Testing einfließen? ---------------------------------------------------------------------------- Die Fehlerkorrekturen und Verbesserungen aus der Distribution Unstable gelangen nur langsam nach einer bestimmten Anzahl von Tagen nach Testing. Nehmen wir an, dieser Wert liegt bei zehn Tagen. Die Pakete in Unstable gelangen erst nach Testing, wenn dafür keine neuen veröffentlichungskritischen Fehler mehr gemeldet werden. Wenn also ein veröffentlichungskritischer Fehler für das Paket vorliegt, wird es auch nicht nach zehn Tagen nach Testing gelangen. Die Idee ist folgende: wenn das Paket irgendwelche Fehler hat, dann würden diese von Benutzern entdeckt werden, die Unstable verwenden und würden bereinigt, bevor das Paket nach Testing kommt. Das hält Testing für die meiste Zeit in einem benutzbaren Zustand. Insgesamt ein brillantes Konzept. Allerdings sind die Dinge nicht immer so einfach. Überdenken Sie folgende Situation: * Stellen Sie sich vor, Sie wären am Paket XYZ.dd interessiert. * Nehmen wir an, dass am 10. Juni die Version XYZ-3.6 in Testing ist und Version XYZ-3.7 in unstable. * Nach zehn Tagen wandert XYZ-3.7 von Unstable nach Testing. * Also haben am 20. Juni sowohl Testing als auch Unstable XYZ-3.7 in ihren Repositories. * Sagen wir, ein Benutzer der Testing-Distribution bemerkt, dass ein neues XYZ-Paket verfügbar ist und macht ein Update von XYT-3.6 zu XYZ-3.7. * Nun entdeckt am 25. Juni jemand der Testing oder Unstable benutzt, einen veröffentlichungskritischen Fehler in XYZ-3.7 und meldet diesen an das BTS. * Der Betreuer von XYZ behebt den Fehler und lädt ein neues Paket nach Unstable hoch, sagen wir am 30. Juni. Wir nehmen hierbei an, dass der Betreuer fünf Tage braucht, um den Fehler zu beheben und die neue Version hochzuladen. Die Zahl von fünf Tagen sollte hier nicht falsch verstanden werden. Es kann länger dauern oder auch nicht, in Abhängigkeit von der Schwere des vorliegenden veröffentlichungskritischen Fehlers. * Die neue Version ist nun in unstable. Laut Plan soll XYZ-3.8 daraufhin Testing am 10. Juli erreichen. * Aber schon am 5. Juli entdeckt wieder jemand einen veröffentlichungskritischen Fehler in XYZ-3.8. * Nehmen wir an, der Betreuer löst das Problem und lädt die neue Version von XYZ nach fünf Tagen hoch. * Also ist am 10. Juli XYZ-3.7 in Testing und XYZ-3.9 in unstable. * Die neue Version XYZ-3.9 soll nach dem neuen Zeitplan nun am 20. Juli in Testing ankommen. * Nachdem Sie ja Testing verwenden und XYZ-3.7 fehlerhaft ist, könnten sie wahrscheinlich XYZ erst wieder nach dem 20. Juli benutzen. Im Endeffekt hätten Sie dann rund einen Monat lang ein kaputtes Paket XYZ gehabt. Die Angelegenheit kann noch weitaus komplizierter werden, wenn etwa XYZ von vier anderen Paketen abhängt. Das kann dann zu einer monatelang nicht benutzbaren Testing-Distribution führen. Das soeben vorgestellte Szenario ist zwar konstruiert, kann aber im echten Leben tatsächlich vorkommen. Allerdings geschieht das nur selten. 3.1.8. Vom Standpunkt eines Systemverwalters her gesehen: Welche Distribution verlangt mehr Aufmerksamkeit? ---------------------------------------------------------------------------- Einer der Gründe, warum viele Leute Debian anderen Linux-Distributionen vorziehen, ist der, dass es nur sehr wenig Verwaltungsaufwand erfordert. Diese Leute wollen ein System, das einfach nur funktioniert. Im allgemeinen kann man sagen, dass Stable nur sehr wenig Wartung bedarf, während Testing und Unstable nach fortwährender Pflege durch den Systemverwalter verlangen. Wenn Sie Stable verwenden, müssen Sie lediglich darauf achten, mit den Sicherheitsupdates Schritt zu halten. Wenn Sie Testing oder Unstable verwenden, ist es klug, ein Auge auf neu entdeckte Fehler, Fehlerberichtigungen und neue Fähigkeiten in den bereits installierten Paketen zu haben. 3.1.9. Was passiert, wenn eine neue Version von Debian veröffentlicht wird? --------------------------------------------------------------------------- Diese Frage wird Ihnen nicht helfen, eine Debian-Distribution auszuwählen, aber früher oder später werden Sie sich dieser Frage doch gegenüber sehen. Derzeit ist squeeze die stabile Distribution. Die nächste stabile Veröffentlichung wird wheezy heißen. Lassen Sie uns nun den speziellen Fall betrachten, dass wheezy als neue stabile Distribution herausgegeben wird. * oldstable = lenny; stable = squeeze; testing = wheezy; unstable = sid * Unstable wird immer sid genannte, unabhängig davon, ob eine Veröffentlichung gemacht wurde, oder nicht. * Pakete wandern fortwährend von sid nach Testing (beispielsweise wheezy). Aber Pakete in Stable (beispielsweise squeeze) bleiben immer die selben, außer im Falle von Sicherheitsupdates. * Nach einer bestimmten Zeit wird Testing eingefroren; wird aber weiterhin als Testing bezeichnet. Von nun an gelangen keine Pakete von Unstable nach Testing mehr, es sei denn, um veröffentlichungskritische (RC) Fehler zu beheben. * Nachdem Testing eingefroren wurde, müssen alle neu eingeführten Fehlerkorrekturen händisch durch die Mitglieder des Veröffentlichungs-Teams überprüft werden. Das soll sicherstellen, dass sich keine ernsthaften Fehler in die eingefrorene Testing-Veröffentlichung mehr einschleichen können. * Die RC-Fehler im eingefrorenen Testing werden auf Null reduziert. * Das eingefrorene Testing wird ohne RC-Fehler als neue stabile Veröffentlichung herausgegeben. In unserem Beispiel würde diese neue Veröffentlichung wheezy genannt werden. * Nun ist oldstable = squeeze, stable = wheezy. Zu diesem Zeitpunkt entsprechen sich der Inhalt von Stable und eingefrorenem Testing. * Ein neues Testing wird aus dem derzeitigen Stable abgeleitet. * Pakete beginnen wieder aus sid nach Testing herunterzukommen und die Debian-Gemeinschaft beginnt auf die nächste Veröffentlichung hinzuarbeiten. 3.1.10. Ich habe einen Desktop-Rechner/Rechner-Cluster mit Debian. Wie kann ich herausfinden, welche Distribution darauf läuft? ---------------------------------------------------------------------------- In den meisten Fällen ist das ganz einfach herauszufinden. Werfen Sie einen Blick auf den Inhalt der Datei `/etc/apt/sources.list'. Dort wird sich ein Eintrag in dieser Art finden: deb http://ftp.us.debian.org/debian/ unstable main contrib Das dritte Feld (hier im Beispiel 'unstable') gibt die Debian-Distribution an, der das System gegenwärtig folgt. Sie können außerdem `lsb_release' abfragen (verfügbar über das `lsb-release' Paket). Wenn Sie dieses Programm auf einem System mit Unstable ausführen, erhalten Sie Folgendes: $ lsb_release -a LSB Version: core-2.0-noarch:core-3.0-noarch:core-3.1-noarch: core-2.0-ia32:core-3.0-ia32:core-3.1-ia32 Distributor ID: Debian Description: Debian GNU/Linux unstable (sid) Release: unstable Codename: sid Leider ist es aber nicht immer so einfach. Einige Systeme haben vielleicht eine `sources.list' Datei mit mehreren Einträgen, die sich auf unterschiedliche Distributionen beziehen. Das kann der Fall sein, wenn der Systemverwalter verschiedene Pakete aus unterschiedlichen Distributionen verwendet. So etwas wird häufig als apt-pinning bezeichnet. Solche Systeme verwenden wahrscheinlich einen Mix aus unterschiedlichen Distributionen. 3.1.11. Augenblicklich verwende ich stable. Kann ich zu Testing oder Unstable wechseln? Und wenn, wie? ---------------------------------------------------------------------------- Wenn Sie derzeitig Stable einsetzen, dann wird in der Datei `/etc/apt/sources.list' das dritte Feld entweder squeeze oder stable sein. Diesen Eintrag müssen Sie passend zu der Distribution ändern, die Sie verwenden möchten. Wenn das Testing ist, dann ändern Sie das dritte Feld von `/etc/apt/sources.list' in Testing. Wenn Sie Unstable verwenden wollen, dann tragen Sie in das dritte Feld Unstable ein. Gegenwärtig wird Testing wheezy genannt. Wennn Sie das dritte Feld von `/etc/apt/sources.list' in wheezy ändern, dann werden Sie künftig Testing verwenden. Aber auch wenn wheezy stable wird, werden Sie weiterhin wheezy haben. Unstable wird immer sid genannt. Wenn Sie also das dritte Feld von `/etc/apt/sources.list' in sid ändern, werden Sie stets Unstable folgen. Gegenwärtig bietet Debian Sicherheitsupdates für Testing aber nicht für Unstable an, da Fehlerkorrekturen für Unstable direkt im Hauptarchiv vorgenommen werden. Wenn Sie also Unstable benutzen, sollten Sie sicherstellen, dass Sie die Zeilen in `/etc/apt/sources.list' entfernen, die sich auf Sicherheitsupdates beziehen. Wenn es für die Veröffentlichung zu der Sie upgraden Veröffentlichungshinweise gibt (möglicherweise auch obwohl die Veröffentlichung noch bevorsteht), wäre es klug, diese durchzusehen. Veröffentlichungshinweise enthalten möglicherweise Informationen über die Art, wie Sie das Upgrade vornehmen sollten. Dennoch können Sie, nachdem Sie die obigen Veränderungen vorgenommen haben, `aptitude update' laufen lassen und dann die Pakete installieren, die Sie haben möchten. Beachten Sie, dass das Installieren eines Pakets aus einer anderen Distribution möglicherweise automatisch gleich Ihr halbes System einem Upgrade unterzieht. Wenn Sie einzelne Pakete installieren, haben Sie zum Schluss ein System, auf denen eine Mischung verschiedener Distributionen läuft. In bestimmten Situationen ist es daher wahrscheinlich das Beste, ein volles Upgrade auf die neue Distribution zu machen, indem man `apt-get dist-upgrade', `aptitude safe-upgrade' oder `aptitude full-upgrade' benutzt. Lesen Sie die Handbuchseiten von apt und aptitude für weiterführende Informationen. 3.1.12. Im Augenblick verwende ich Testing (wheezy). Was wird passieren, wenn eine neue Veröffentlichung herauskommt? Werde ich weiterhin Testing haben oder wird auf meinem Rechner die neue stabile Distribution laufen? ---------------------------------------------------------------------------- Das hängt von den Einträgen in der Datei `/etc/apt/sources.list' ab. Wenn Sie gegenwärtig Testing mitverfolgen, sollten diese Einträge in etwa so aussehen: deb http://ftp.us.debian.org/debian/ testing main oder deb http://ftp.us.debian.org/debian/ wheezy main Wenn das dritte Feld in `/etc/apt/sources.list' 'testing' ist, dann werden Sie auch nach der Veröffentlichung noch Testing haben. Nachdem wheezy veröffentlicht wurde, werden Sie eine neue Debian-Distribution mit einem anderen Codenamen laufen haben. Am Anfang werden die Veränderungen nicht auffällig sein. Das wird sich aber ändern, sobald neue Pakete von Unstable in die Testing-Distribution kommen. Wenn aber das dritte Feld 'wheezy' enthält, dann werden Sie künftig Stable installiert haben, weil wheezy dann die neue stabile Veröffentlichung sein wird. 3.1.13. Ich bin noch immer verwirrt. Was sagten Sie, solle ich installieren? ---------------------------------------------------------------------------- Wenn Sie sich unsicher sind, dann wäre wohl die stabile Distribution die beste Wahl. 3.2. Aber was ist mit Knoppix, Linex, Ubuntu und all den anderen Distributionen? ---------------------------------------------------------------------------- All diese Distributionen sind nicht Debian. Sie _basieren auf Debian_. Obwohl es viele Ähnlichkeiten und Gemeinsamkeiten mit ihnen gibt, gibt es aber auch ein paar entscheidende Unterschiede. All diese Distributionen haben ihre eigenen Vorzüge und sind auf eine bestimmte Gruppe von Benutzern zugeschnitten. Für mehr Informationen hierzu lesen Sie die Informationen über auf Debian basierende Software-Distributionen (http://www.debian.org/misc/children-distros) auf der Internetseite von Debian. 3.2.1. Ich weiß jetzt, dass Knoppix/Linex/Ubuntu/ ... auf Debian basieren. Bedeutet das auch, dass ich die 'apt' Paketwerkzeuge verwenden kann, wenn ich eine dieser Distributionen auf meiner meiner Festplatte installiere? ---------------------------------------------------------------------------- Diese Distributionen basieren auf Debian, sind aber nicht Debian. Sie können aber dennoch die apt Paketwerkzeuge zusammen mit einer `/etc/apt/sources.list' Datei verwenden, die auf die Repositories dieser Distributionen verweist. Aber dann verwenden Sie nicht Debian, sondern eine andere Distribution. Sie sind nicht das gleiche. Wenn Sie eine bestimmte Distribution nutzen, sollten Sie auch genau diese benutzen, und nicht versuchen, zusätzlich Pakete aus anderen Distributionen einzumischen. Viele weit verbreitete Probleme rühren daher, dass Benutzer eine Distribution verwenden und versuchen, Pakete aus einer anderen Distributionen zu installieren. Die Tatsache, dass alle dasselbe Format und den gleichen Namen (.deb) verwenden, macht die Pakete mitnichten automatisch kompatibel zueinander. Beispielsweise handelt es sich bei Knoppix um eine Linux-Distribution, die als Live-CD entworfen wurde, wohingegen Debian für die Installation auf der Festplatte gedacht ist. Knoppix ist hervorragend geeignet, wenn Sie ermitteln wollen, ob eine bestimmte Hardware funktioniert oder wenn Sie herausfinden möchten, wie sich ein Linux-System 'anfühlt'. Knoppix ist ein gutes Vorführ-System, während Debian entworfen wurde, um 24 Stunden am Tag und 7 Tage die Woche zu laufen. Darüber hinaus ist die Anzahl der verfügbaren Pakete und die Zahl der unterstützten Prozessorarchitekturen bei Debian weitaus größer als bei Knoppix. Wenn Sie Debian wollen, ist es das Beste, es frisch zu installieren. Auch wenn es möglich ist, Debian über andere Distributionen wie etwa Knoppix zu installieren, erfordert das etwas Sachverstand. Angesichts dessen, dass Sie dieses FAQ lesen, nehmen wir an, dass Debian und Knoppix neu für Sie sind. In diesem Fall ersparen Sie sich besser den späteren Ärger und installieren Sie Debian sauber von Grund auf neu. 3.2.2. Ich habe Knoppix/Linex/Ubuntu/... auf meiner Festplatte installiert. Jetzt habe ich ein Problem. Was soll ich tun? ---------------------------------------------------------------------------- Wir raten Ihnen, nicht die Debian-Foren zu benutzen (weder die Mailinglisten noch den IRC), da die Leute, die Ihnen helfen wollen, glauben würden, Sie benutzten ein Debian-System. Die "Lösungen", die Sie so erhalten, passen möglicherweise nicht zu Ihrem System. Es könnte sogar sein, dass dadurch Ihre Probleme nur noch größer werden. Benutzen Sie statt dessen vorrangig die Foren der entsprechenden Distribution. Wenn Sie dort keine Hilfe finden, oder die Lösungen Ihr Problem nicht beheben, können Sie noch immer in Debian-Foren nachhaken. Behalten Sie jedoch das zuvor gesagte im Hinterkopf. 3.2.3. Ich benutze Knoppix/Linex/Ubuntu/... und möchte nun Debian verwenden. Wie steige ich um? ---------------------------------------------------------------------------- Betrachten Sie den Wechsel von einer auf Debian basierenden Distribution zu Debian als Wechsel von einem Betriebssystem zu einem anderen. Sie sollten Sicherungskopien Ihrer Daten anlegen und das Betriebssystem von Grund auf neu installieren. Sie sollten nicht versuchen, ein "Upgrade" auf ein Debian mithilfe der Paketwerkzeuge zu machen, da Sie am Ende möglicherweise mit einem unbrauchbaren System dastehen. Wenn sich alle Ihre Benutzerdaten (beispielsweise `/home') auf einer gesonderten Partition befinden, ist der Umstieg auf Debian ziemlich einfach. Sie müssen das Installationssystem lediglich anweisen, diese Partition bei der Neuinstallation einzubinden (aber nicht zu formatieren). Sicherungskopien Ihrer Daten ebenso wie der Konfigurationsdateien (etwa `/etc/' und vielleicht auch `/var/') anzulegen, ist dennoch ratsam. ------------------------------------------------------------------------------- 4. Kompatibilitätsfragen ------------------------ 4.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, 6.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. _amd64_: Bezieht sich auf Systeme basierend auf AMD 64-Bit-CPUs mit AMD64-Erweiterung und alle Intel-CPUs mit EM64T-Erweiterung und einem normalen 64-Bit-Userspace. _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 Arbeit. Die Unterstützung für die _m68k_-Architektur wurde für diese Veröffentlichung eingestellt, weil sie nicht die von den Debian-Release-Verwaltern aufgestellten Kriterien erfüllte. Diese Architektur bezieht sich auf Amigas und ATARIs mit einem Motorola 680x0-Prozessor für x>=2; mit MMU. Dennoch ist diese Portierung noch immer aktiv und für die Installation verfügbar, auch wenn sie nunmehr nicht mehr Teil der offiziellen stabilen Veröffentlichung ist und möglicherweise erst wieder für zukünftige Veröffentlichungen reaktiviert wird. Für weitere Informationen über verfügbare Portierungen werfen Sie einen Blick auf die Portierungsseiten der Website (http://www.debian.org/ports/). 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. 4.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 die Linux Standard Base (http://www.linuxbase.org/) entwickelte Software. Die 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 mit den Voraussetzungen der LSB Version 1.3. in Konflikt stehen. 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. 4.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 vollständige 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. 4.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. 4.5. 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 12.1, `Welche andere Dokumentation gibt es auf einem und für ein Debian-System?') verfügbar. 4.6. 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. 4.7. Warum kann ich AccelX nicht installieren? ---------------------------------------------- AccelX verwendet die `termcap'-Bibliothek für die Installation. Vergleichen Sie mit obigem Abschnitt 4.6, `Warum kann ich Programme nicht kompilieren, die libtermcap benötigen?'. 4.8. 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. ------------------------------------------------------------------------------- 5. Für Debian-Systeme verfügbare Software ----------------------------------------- 5.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 28200 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 187 Software-Sammlungen sind als Debian-Paket verfügbar, aber wegen Lizenzeinschränkungen gehören diese nicht zum offiziellen Teil von Debian. 5.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 7.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. 5.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. 5.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 13.1, `Wie kann ich Debian-Software-Entwickler werden?'. 5.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. 5.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. 5.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 5.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. 5.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. 5.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. 5.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)). ------------------------------------------------------------------------------- 6. Die Debian FTP-Archive ------------------------- 6.1. Wie viele Debian-Distributionen gibt es? --------------------------------------------- Es gibt drei große Distributionen: die »Stable«-, die »Testing«- und die »Unstable«-Distribution. Die »Testing«-Distribution kann zeitweise »Frozen« sein (siehe Abschnitt 6.5.1, `Wie erhält »Testing« den »frozen«-Status?'). Daneben gibt es noch die Distributionen »Oldstable« und »Experimental«. Experimental wird für Pakete benutzt, die sich noch in der Entwicklung befinden und daher die Stabilität ihres Systems hochgradig gefährden. Diese Distribution benutzen Entwickler, welche absolut brandneue Software untersuchen möchten. Normale Benutzer, sollten keine Pakete aus Experimental verwenden, weil sich diese selbst für die erfahrendsten Benutzer als gefährlich oder schädlich erweisen können. Für Hilfe bei der Auswahl einer geeigneten Debian-Distribution lesen Sie bitte Kapitel 3, `Eine Debian-Distribution auswählen'. 6.2. Was haben all diese Namen wie »Etch«, »Lenny«, 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 `squeeze' (z.B. Debian GNU/Linux 6.0) und `testing' ein symbolischer Link auf `wheezy'. Dies bedeutet, dass `squeeze' die derzeitige Stable-Distribution und `wheezy' 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 6.3, `Was ist mit »Sid«?'). 6.2.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, `Woody' für Release 3.0, `Sarge' für Release 3.1 und `Etch' für Release 4.0. 6.2.2. Woher stammen 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) war der Spielzeughund, * _Potato_ war, logischerweise, Mr. Potato, * _Woody_ war der Cowboy, * _Sarge_ war der Sergeant der grünen Plastiksoldaten, * _Etch_ war die Spielzeugtafel (Etch-a-Sketch), * _Lenny_ war das Fernglas. * _Sid_ war der Junge von nebenan, welcher immer die Spielzeuge kaputt machte. 6.3. 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 6.10, `Was befindet sich im `pool'-Verzeichnis?') 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). 6.4. 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. 6.5. 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. 6.5.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 Debian »Testing« Release-Informationen (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 Distributions-Archive (http://www.debian.org/distrib/archive). 6.6. 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. 6.7. 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 zurzeit verfügbaren Debian-Distributionen (und deren Vorgänger) zuzugreifen. Das `pool'-Verzeichnis enthält die eigentlichen Pakete, siehe dazu auch Abschnitt 6.10, `Was befindet sich im `pool'-Verzeichnis?'. 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 Material für Entwickler und verschiedene Dateien 6.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 4.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 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. Diese liegen in `debian-installer/binary-'. [1] `dists/stable/main', `dists/stable/contrib', `dists/stable/non-free' und `dists/unstable/main/', etc. 6.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 6.10, `Was befindet sich im `pool'-Verzeichnis?'), 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 5.10, `Wo ist pine?'. Für Pakete in »contrib« und »non-free«, welche rein formal nicht Teil des Debian-Systems sind, kann der Quellcode verfügbar sein, muss es aber nicht. 6.10. Was befindet sich im `pool'-Verzeichnis? ---------------------------------------------- Pakete werden in einem großen »Pool« gelagert, strukturiert nach dem Namen des Quellpaketes. Um dies zu verwalten, ist das `pool'-Verzeichnis unterteilt in die 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. Beispielsweise 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. 6.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. 6.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-Depot-HOWTO (http://www.debian.org/doc/manuals/repository-howto/repository-howto). ------------------------------------------------------------------------------- 7. Grundlagen des Debian-Paketverwaltungssystems ------------------------------------------------ 7.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 7.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 7.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. 7.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. 7.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. 7.4. Was ist eine Debian-Kontroll-Datei? ---------------------------------------- Besonderheiten, die Debian-Kontroll-Dateien betreffend, können Sie im Debian-Richtlinien-Handbuch, Abschnitt 5, Abschnitt 12.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 7.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 6.7, `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 7.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 12.1, `Welche andere Dokumentation gibt es auf einem und für ein Debian-System?' »Kontroll-Dateien und ihre Felder« an. 7.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. 7.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 7.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.) 7.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. 7.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 11.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. 7.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. 7.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. 7.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. 7.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. 7.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. 7.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 7.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. 7.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. ------------------------------------------------------------------------------- 8. Die Debian-Paketverwaltungswerkzeuge --------------------------------------- 8.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. 8.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 7.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 7.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*''. 8.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. 8.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. 8.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 8.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 (oder der zu löschenden). Im oberen Bildschirm ist ein relativ begrenztes Fenster, in dem die 29000 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 7.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. 8.1.5. Andere Paketverwaltungswerkzeuge --------------------------------------- 8.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 Paket, 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). 8.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, das 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. 8.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. 8.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 8.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/squeeze'). 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. 8.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 8.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. ------------------------------------------------------------------------------- 9. 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. 9.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. 9.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 Vorgehensweise viel zu zeitraubend, weil Debian so schnell entwickelt -- üblicherweise werden jede Woche ein Dutzend oder mehr neue Pakete hochgeladen. Kurz vor einer neuen Hauptveröffentlichung ist diese Anzahl noch größer. Um mit dieser Lawine umgehen zu können, bevorzugen viele Leute eine automatisiertere Methode. Zu diesem Zweck sind mehrere verschiedene Pakete verfügbar: 9.2.1. aptitude --------------- APT ist eine erweiterte Schnittstelle zum Zugriff auf Debian-Pakete. Es verfügt über komplette Installationsanweisungen, die Fähigkeit auf mehrere Quellen gleichzeitig zuzugreifen und verschiedene andere einzigartige Fähigkeiten, siehe das Benutzerhandbuch in `/usr/share/doc/apt-doc/guide.html/index.html' (dafür muss das `apt-doc'-Paket installiert sein). `aptitude' ist der empfohlene Paketmanager für Debian GNU/Linux-Systeme. Es ist die textbasierte Oberfläche zu APT, welches die »curses library« benutzt, und hilft, den Verwaltungsprozess schnell und leicht durchzuführen. Bevor `aptitude' benutzt werden kann, muss die `/etc/apt/sources.list'-Datei bearbeitet werden, um es einrichten zu können. Wenn auf die aktuellste stabile Version von Debian aufgerüstet werden soll, sollte wahrscheinlich eine Quelle wie folgende benutzt werden: stable main contrib non-free kann durch den Namen eines schnelleren Debian-Spiegels in der Nähe ersetzt werden. Weitere Informationen sind auf http://www.debian.org/misc/README.mirrors zu finden. Weitere Einzelheiten hierzu können unter der Handbuchseite sources.list(8) gefunden werden. Zum Aktualisieren seines Systems ist folgender Befehl auszuführen aptitude update gefolgt von aptitude dist-upgrade Das System wird aufgerüstet, wenn jede Frage, die gestellt wird, beantwortet wird. Siehe auch Abschnitt 8.1.3, `aptitude'. 9.2.2. apt-get, dselect and apt-cdrom ------------------------------------- `apt-get' ist ein APT-basiertes Befehlszeilen-Werkzeug zum Umgang mit Paketen und das APT-dselect-Verfahren ist die Schnittstelle zu APT durch `dselect'. Beide sorgen dafür die Pakete leicht und sicher zu installieren und aufzurüsten. Um `apt-get' benutzen zu können, muss das Paket `apt' installiert sein und die `/etc/apt/sources.list'-Datei muss bearbeitet werden, um es einrichten zu können, ebenso wie für Abschnitt 9.2.1, `aptitude'. Dann muss apt-get update ausgeführt werden, gefolgt von apt-get dist-upgrade Das System wird aufgerüstet, wenn jede Frage, die gestellt wird, beantwortet wird. Weitere Informationen sind auch im Handbuch von apt-get(8) sowie im Kapitel Abschnitt 8.1.2, `APT' zu finden. Um APT mit `dselect' zu benutzen, wählen Sie das APT-Zugangsverfahren im Auswahlverfahren-Bildschirm von `dselect' (Option 0) und legen dann die Quellen fest, die benutzt werden sollten. Die Konfigurationsdatei lautet `/etc/apt/sources.list'. Siehe auch Abschnitt 8.1.4, `dselect'. Wenn mittels CDs Pakete installiert werden sollen, kann `apt-cdrom' benutzt werden. Weitere Einzelheiten sind in den Release Notes im Abschnitt »Hinzufügen von CD-ROM- oder DVD-APT-Quellen« zu finden. Es ist zu beachten, dass, wenn Sie Pakete abrufen und installieren, diese trotzdem noch in der /var-Verzeichnishierarchie bleiben müssen. Um die Partition vor der Überfüllung zu bewahren, ist daran zu denken zusätzliche Dateien zu löschen, indem entweder `apt-get clean' und `apt-get autoclean' benutzt wird, oder indem man diese irgendwo anders hin verschiebt (Tipp: Benutzen Sie `apt-move'). 9.2.3. dpkg-ftp --------------- Dies ist ein älteres Zugangsverfahren für `dselect'. Es kann innerhalb von `dselect' aufgerufen werden. Dies ermöglicht dem Benutzer Dateien in einem Schritt herunterzuladen und zu installieren. Hierfür wird das Zugangsverfahren `ftp' in `dselect' (Option 0) ausgewählt und der entfernte Rechnername und das Verzeichnis festgelegt. `dpkg-ftp' lädt dann automatisch die Dateien runter, die ausgewählt wurden (entweder in dieser Sitzung von `dselect' oder in einer früheren). Es ist zu beachten, dass `dpkg-ftp' nicht wie das Programm `mirror' auf alles von einer Spiegelseite zugreift. Stattdessen lädt es nur die Dateien runter, die ausgewählt wurden (wenn zuerst `dpkg-ftp' gestartet wird) und die aktualisiert werden müssen. `dpkg-ftp' ist etwas veraltet. Stattdessen sollte das APT-Zugangsverfahren mit ftp://-URLs in `sources.list' benutzt werden. 9.2.4. mirror ------------- Dieses Perl-Skript und das dazugehörige (optionale) Verwaltungsprogramm wird `mirror-master' genannt. Es ist dazu geeignet, benutzerspezifische Teile eines Verzeichnisbaums von einem vorgegebenen Rechner _via_ anonymes FTP abzurufen. `mirror' ist besonders dafür geeignet um große Mengen an Software herunterzuladen. Nachdem zum ersten Mal Dateien von einer Seite heruntergeladen wurden, wird eine Datei namens `.mirrorinfo' auf dem lokalen Rechner abgelegt. Veränderungen im entfernten Dateisystem werden automatisch durch `mirror' aufgespürt, welches die Datei mit einer ähnlichen Datei auf dem Remotesystem vergleicht und nur veränderte Dateien herunter lädt. Das Programm `mirror' ist hauptsächlich dafür geeignet, lokale Kopien von entfernten Verzeichnisbäumen zu aktualisieren. Die abgerufenen Dateien müssen keine Debian-Dateien sein. (Weil `mirror' ein Perl-Skript ist, läut es auch auf anderen Systemen außer Unix.) Obwohl es mit dem Programm `mirror' möglich ist, Dateinamen auszuschließen, die mit benutzerspezifischen Zeichenketten übereinstimmen, ist dieses Programm am nützlichsten, wenn lieber komplette Verzeichnisbäume als ausgewählte Pakete heruntergeladen werden sollen. 9.2.5. dpkg-mountable --------------------- `dpkg-mountable' fügt der Liste von `dselect' ein Zugriffsverfahren hinzu, welches »mountable« genannt wird. Dieses ermöglicht es, dass von jedem Dateisystem, das unter `/etc/fstab' vorgegeben ist, installiert werden kann. Zum Beispiel könnte das Archiv eine normale Festplattenpartition oder ein NFS-Server sein, die automatisch eingebunden oder ausgehängt werden, falls erforderlich. Es verfügt auch über einige zusätzliche Fähigkeiten, die nicht in den Standardverfahren von `dselect' gefunden werden können, wie z.B. die Berücksichtigung von lokalen Dateibäumen (entweder parallel zur Hauptdistribution oder völlig getrennt) und nur das Erhalten von Paketen, die benötigt werden, anstatt das zeitintensive Scannen von Rekursivverzeichnissen, sowie das Protokollieren von allen dpkg-Aktivitäten in das Installationsverfahren. 9.3. Muss ich in den Einzelbenutzermodus wechseln um Pakete aufzurüsten? ------------------------------------------------------------------------ Nein. Pakete können an Ort und Stelle aufgerüstet werden, sogar in laufenden Systemen. Debian verfügt über ein `start-stop-daemon'-Programm, das, falls es während eines Paket-Upgrades notwendig ist, aufgerufen wird um laufende Prozesse anzuhalten und wieder zu starten. 9.4. Muss ich all diese .deb-Archivdateien auf meinem Rechner aufbewahren? -------------------------------------------------------------------------- Nein. Wenn die Dateien auf den Rechner heruntergeladen wurden (was nicht unbedingt notwendig ist, siehe oben die Beschreibung für `dpkg-ftp') und nachdem die Pakete installiert sind, können diese wieder von dem Rechner gelöscht werden. 9.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! ---------------------------------------------------------------------------- Mit der `dpkg'-Option `--log', wodurch ein Statusprotokoll erstellt wird, das alle Updates und Aktivitäten auflistet. Es protokolliert sowohl den Aufruf von `dpkg' (z.B. 2005-12-30 18:10:33 install hello 1.3.18 2.1.1-4 ) als auch die Ergebnisse (z.B. 2005-12-30 18:10:35 status installed hello 2.1.1-4 ) Wenn jeder Aufruf von `dpkg' protokolliert werden soll (auch falls dieser über Oberflächen wie `aptitude' geschehen ist), könnte log /var/log/dpkg.log der `/etc/dpkg/dpkg.cfg' hinzugefügt werden. Seien Sie sicher, dass die erstellte Protokolldatei regelmäßig rotiert wird, da die Größe der Datei mit jedem Eintrag zunimmt. Wenn das Programm `logrotate' benutzt wird, kann dies erreicht werden, indem eine Datei `/etc/logrotate.d/dpkg' mit folgendem Inhalt erstellt wird /var/log/dpkg { missingok notifempty } Weitere Details über Protokollieren in `dpkg' können im Handbuch von dpkg(1) gefunden werden. `aptitude' protokolliert die Installation, das Entfernen und das Aufrüsten von Paketen unter `/var/log/aptitude'. Es ist zu beachten, dass die _Ergebnissse_ dieser Aktivitäten nicht in dieser Datei erfasst werden! Eine andere Möglichkeit seine Aktivitäten aufzuzeichnen besteht darin, seine Paketverwaltungs-Session innerhalb des Programmes script(1) auszuführen. ------------------------------------------------------------------------------- 10. Debian und der Kernel ------------------------- 10.1. Kann ich einen Kernel ohne gewisse Debian-spezifische Optimierungen installieren und kompilieren? ---------------------------------------------------------------------------- Ja. Es gibt nur ein häufiges Problem: Die Debian C-Bibliotheken werden mit den neusten _stabilen_ Ausgaben der _Kernel_-Header erstellt. Wenn Sie ein Programm mit neueren Kernel-Headern als jene aus dem stabilen Zweig kompilieren möchten, sollten Sie entweder das Paket, welches die Header enthält (`libc6-dev') aktualisieren oder die neuen Header eines entpackten Baumes des neueren Kernels verwenden. Das heißt, wenn die Kernelquellen in `/usr/src/linux' liegen, sollten Sie beim Kompilieren `-I/usr/src/linux/include/' an Ihre Befehlszeile anhängen. 10.2. Welche Werkzeuge zum Erzeugen eines angepassten Kernels stellt Debian zur Verfügung? ---------------------------------------------------------------------------- Benutzern, die einen angepassten Kernel erstellen möchten (oder müssen), wird empfohlen, das Paket `kernel-package' herunterzuladen. Dieses Paket enthält das Skript, welches benötigt wird, um ein Kernelpaket zu erzeugen und es stellt die Fähigkeit zur Verfügung, ein Debian `kernel-image-'-Paket zu erstellen, indem man den Befehl make-kpkg kernel_image im Top-Level-Verzeichnis der Kernel-Quellen verwendet. Hilfe dazu erhält man mit make-kpkg --help und in der Handbuchseite make-kpkg(1). Anwender müssen den Quelltext des neusten Kernels (oder des Kernels nach Wahl) separat von der favorisierten Linux-Archivseite herunterladen, es sei denn, es ist ein `kernel-source-'-Paket verfügbar (wobei für die Version des Kernels steht). Detaillierte Instruktionen zur Verwendung des `kernel-package'-Pakets können in der Datei `/usr/share/doc/kernel-package/README.gz' gefunden werden. Zusammengefasst sollte man Folgendes tun: * Entpacken Sie die Kernelquellen und wechseln Sie mit `cd' ins neu erstellte Verzeichnis. * Passen Sie die Kernelkonfiguration an, indem Sie einen dieser Befehle verwenden: * `make config' (für eine textbasierte Benutzerschnittstelle). * `make menuconfig' (für eine ncurses-basierte menüartige Oberfläche). Um diese Option benutzen zu können, muss das Paket `libncurses5-dev' installiert sein. * `make xconfig' (für eine X11-Oberfläche). Um diese Option verwenden zu können, müssen die betreffenden X- und Tcl/Tk-Pakete installiert sein. Alle obigen Befehle generieren eine neue `.config'-Datei im obersten Kernel-Quellverzeichnis. * Führen Sie den Befehl `make-kpkg -rev Custom. kernel_image' aus, wobei eine vom Benutzer gewählte Revisionsnummer ist. Das neue daraus gebildete Debian-Archiv hätte dann die Revision Custom., z.B. `kernel-image-2.2.14_Custom.1_i386.deb' für den Linux-Kernel 2.2.14 auf einer i386-Architektur. * Installieren Sie das erzeugte Paket. * Lassen Sie `dpkg --install ../kernel-image-_Custom._i386.deb' laufen um den Kernel zu installieren. Das Installationsskript führt Folgendes durch: * Es lässt wenn nötig den Bootloader (grub, LILO, etc.) laufen, * installiert den angepassten Kernel in `/boot/vmlinuz_-Custom.', und erstellt die passenden symbolischen Verweise auf die neuste Kernelversion und * fragt den Benutzer, ob eine Bootdiskette erstellt werden soll. Diese Bootdiskette enthält nur den rohen Kernel; siehe Abschnitt 10.3, `Wie kann ich eine angepasste Bootdiskette erstellen?'. * Um sekundäre Bootloader wie zum Beispiel `loadlin' zu verwenden, kopieren Sie dieses Image an einen anderen Ort (z.B. auf eine `MS-DOS'-Partition). 10.3. Wie kann ich eine angepasste Bootdiskette erstellen? ---------------------------------------------------------- Diese Arbeit wird großartig vom Debian-Paket `boot-floppies' unterstützt, welches normalerweise im `admin'-Bereich des Debian-FTP-Archivs gefunden werden kann. Shellskripte in diesem Paket erzeugen Bootdisketten im `SYSLINUX'-Format. Das sind `MS-DOS'-formatierte Disketten, deren Master Boot Record so verändert wurde, dass sie direkt Linux (oder jedes andere Betriebssystem, das in der Datei `syslinux.cfg' auf der Diskette definiert worden ist) booten. Andere Skripte in diesem Paket erstellen root-Disketten für den Notfall und können sogar die Basisdisketten wiederherstellen. Sie finden mehr Informationen dazu in der Datei `/usr/share/doc/boot-floppies/README' nachdem Sie das Paket `boot-floppies' installiert haben. 10.4. Welche speziellen Einrichtungen bietet Debian im Umgang mit Modulen? -------------------------------------------------------------------------- Das Debian-Paket `modconf' liefert ein Shellskript (`/usr/sbin/modconf'), welches dazu verwendet werden kann, die Konfiguration von Modulen anzupassen. Dieses Skript präsentiert eine menübasierte Benutzerschnittstelle, welche den Anwender nach Einzelheiten zu den ladbaren Gerätetreibern in seinem System fragt. Die Antworten werden dazu verwendet, die Datei `/etc/modules.conf' (welche Aliase auflistet und andere Argumente, die im Zusammenhang mit verschiedenen Modulen verwendet werden müssen) anzupassen, sowie Dateien in `/etc/modutils/', und auch die Datei `/etc/modules' (welche die Module auflistet, die beim Booten geladen werden müssen). Wie die (neuen) `Configure.help'-Dateien, die nun verfügbar sind, um die Konstruktion angepasster Kernel zu unterstützen, enthält das `modconf'-Paket eine Serie von Hilfedateien (in `/usr/lib/modules_help/'), die detaillierte Informationen zu passenden Argumenten für jedes der Module bereitstellen. 10.5. Kann ich sicher ein altes Kernel-Paket deinstallieren und wenn ja, wie? ---------------------------------------------------------------------------- Ja. Das `kernel-image-.prerm'-Skript kontrolliert, ob der Kernel, den Sie gerade verwenden, der selbe ist wie jener, den Sie zu entfernen versuchen. Daher können Sie nicht mehr benötigte Kernel-Image-Pakete mit diesem Befehl entfernen: dpkg --purge --force-remove-essential kernel-image- (Natürlich müssen Sie mit Ihrer Kernelversion und Revisionsnummer ersetzen.) ------------------------------------------------------------------------------- 11. Anpassen Ihrer Debian GNU/Linux-Installation ------------------------------------------------ 11.1. Wie kann ich sicherstellen, dass alle Programme die selbe Papiergröße verwenden? ---------------------------------------------------------------------------- Installieren Sie das Paket `libpaper1' und es wird nach einer systemweiten Standardpapiergröße fragen. Diese Einstellung wird in der Datei `/etc/papersize' gespeichert. Benutzer können sich über die Papiergrößen-Einstellung hinwegsetzen, indem sie die `PAPERSIZE'-Umgebungsvariable verwenden. Für Details siehe die Handbuchseite papersize(5). 11.2. Wie kann kann ich Zugang zu Peripheriegeräten zur Verfügung stellen ohne die Sicherheit zu kompromittieren? ---------------------------------------------------------------------------- Viele Gerätedateien im `/dev/'-Verzeichnis gehören zu einer vordefinierten Gruppe. Zum Beispiel gehört `/dev/fd0' zu der `floppy'-Gruppe und `/dev/dsp' gehört zur `audio'-Gruppe. Wenn Sie einem bestimmten Benutzer Zugriff auf eines dieser Geräte geben wollen, fügen Sie ihn zu der Gruppe hinzu, zu der das Gerät gehört, also z.B.: adduser user group Auf diese Art müssen Sie die Dateiberechtigungen des Gerätes nicht ändern. Wenn Sie diese Änderung von der Shell eines Benutzers oder einer grafischen Benutzerumgebung aus vornehmen, müssen Sie sich anschließend einmal abmelden und dann wieder anmelden. Nur so werden die Änderungen wirksam. Um herauszufinden, welchen Gruppen Sie angehören, verwenden Sie den Befehl `groups'. Beachten Sie, dass seit der Einführung von `udev' möglicherweise einige Berechtigungen von Peripheriegeräten, die Sie geändert haben, beim Systemstart wieder zurückgesetzt werden. Wenn das bei einem der Geräte passiert, an denen Sie interessiert sind, werden Sie die Regeln in `/etc/udev' anpassen müssen. 11.3. Wie kann ich eine Konsolen-Schriftart auf Debian-Art beim Systemstart laden? ---------------------------------------------------------------------------- Die Pakete `kbd' und `console-tools' unterstützen dies. Editieren Sie dazu die Datei `/etc/kbd/config' oder `/etc/console-tools/config'. 11.4. Wie kann ich die Standardeinstellung eines X11-Programms konfigurieren? ---------------------------------------------------------------------------- Die Debian-X-Programme installieren ihre Anwendungs-Ressource-Daten im Verzeichnis `/etc/X11/app-defaults/'. Wenn Sie eine X-Anwendung global anpassen wollen, schreiben Sie Ihre Anpassungen in diese Dateien. Sie sind als Konfigurationsdateien markiert, so dass ihre Inhalte bei einem Upgrade erhalten bleiben. 11.5. Jede Distribution scheint eine andere boot-up-Methode zu haben. Beschreiben Sie jene von Debian. ---------------------------------------------------------------------------- Wie alle Unices bootet Debian durch das Ausführen des Programms `init'. Die Konfigurationsdatei für `init' (sie heißt `/etc/inittab') spezifiziert, dass das erste auszuführende Skript `/etc/init.d/rcS' sein sollte. Dieses Skript führt alle Skripte im `/etc/rcS.d/'-Verzeichnis aus, indem es die Unterprozesse abhängig von ihrer Dateinamenerweiterung entweder auslagert oder forkt, um Initialisierungen durchzuführen, wie zum Beispiel Dateisysteme zu prüfen und einzuhängen, Module zu laden, Netzwerkdienste zu starten, die Uhr zu stellen und weitere Initialisierungen auszuführen. Danach, aus Kompatibilitätsgründen, führt es auch die Dateien in `/etc/rc.boot/' (außer jene mit einem ».« im Dateinamen) aus. Alle Skripte in diesem Verzeichnis sind üblicherweise für den Systemadministrator reserviert, sie in Paketen zu verwenden wird abgelehnt. Nachdem der Boot-Prozess abgeschlossen ist, führt `init' alle Start-Skripte in einem durch den Standard-Runlevel (dieser Runlevel wird durch den Eintrag `id' in `/etc/inittab' festgelegt) spezifizierten Verzeichnis aus. Wie alle zu System V kompatiblen Unices hat Linux 7 Runlevel: * 0 (das System anhalten), * 1 (Einzel-Benutzer-Modus), * 2 bis 5 (verschiedene Mehr-Benutzer-Modi) und * 6 (das System neu starten). Debian-Systeme kommen mit id=2, was bedeutet, dass der Standard-Runlevel »2« ist, wenn der Mehrbenutzer-Zustand gestartet wird, und dass die Skripte in `/etc/rc2.d/' ausgeführt werden. Tatsächlich sind die Skripte in jedem der Verzeichnisse `/etc/rc.d/' nur symbolische Verweise zurück auf Skripte in `/etc/init.d/'. Wie auch immer, die _Namen_ der Dateien in jedem der `/etc/rc.d/'-Verzeichnisse sind so gewählt, dass sie darauf hinweisen, _wie_ die Skripte in `/etc/init.d/' ausgeführt werden. Konkret werden vor dem Aktivieren eines Runlevels alle Skripte, die mit einem »K« beginnen, ausgeführt; diese Skripte beenden Dienste. Danach werden alle Skripte, die mit einem »S« beginnen, ausgeführt; diese Skripte starten Dienste. Die zweistellige Zahl, die dem »K« oder dem »S« folgt, bestimmt die Reihenfolge, in welcher die Skripte ausgeführt werden. Jene mit kleinerer Nummer werden zuerst ausgeführt. Diese Methode funktioniert, weil die Skripte in `/etc/init.d/' alle ein Argument akzeptieren, welches entweder »start«, »stop«, »reload«, »restart« oder »force-reload« sein kann, und danach das dem Argument entsprechende tun. Diese Skripte könne auch noch nach dem Starten des Systems benutzt werden um verschiedene Prozesse zu kontrollieren. Zum Beispiel sendet das Argument »reload« im Befehl /etc/init.d/sendmail reload dem sendmail-Daemon ein Signal, seine Konfigurationsdatei neu einzulesen. (Übrigens stellt Debian mit `invoke-rc.d' einen Wrapper zum Aufruf der Skripte in `/etc/init.d/' zur Verfügung.) 11.6. Es scheint so, als ob Debian `rc.local' nicht zum Anpassen des Bootprozesses verwendet; welche Einrichtungen gibt es? ---------------------------------------------------------------------------- Nehmen Sie an, ein System solle beim Hochfahren das Skript `foo' ausführen oder einen bestimmten (System-V-) Runlevel aktivieren. Dann sollte der Systemadministrator: * Das Skript `foo' ins Verzeichnis `/etc/init.d/' verschieben. * Den Debian-Befehl `update-rc.d' mit den passenden Argumenten ausführen, um anzugeben, welche Runlevel den Dienst starten und welche ihn stoppen sollen. * In Betracht ziehen, das System neu zu starten, um zu überprüfen, ob der Dienst richtig startet (hier wird vorausgesetzt, dass der Dienst in einem der Standard-Runlevel starten soll). Ansonsten starten Sie den Dienst, indem Sie »`/etc/init.d/foo start'« eingeben. Man könnte zum Beispiel das Skript `foo' beim Systemstart ausführen lassen, indem man es nach `/etc/init.d/' kopiert und die Verweise mit `update-rc.d foo defaults 19' einrichtet. Das Argument »defaults« bezieht sich auf die Standard-Runlevel, welche 2 bis 5 sind. Solange es keinen LSB-Kommentar-Block gibt, der dem widerspricht, führt das dazu, dass der Dienst in den Runleveln 2 bis 5 gestartet und in den Runleveln 0, 1 und 6 gestoppt wird. (Sämtliche LSB-Standard-Start- und Standard-Stopp-Anweisungen in `foo' haben Vorrang, wenn die sysv-rc-Version von `update-rc.d' verwendet wird, werden aber von der aktuellen (v0.8.10) file-rc-Version von `update-rc.d' ignoriert.) Das Argument »19« führt dazu, dass `foo' vor allen Skripten mit Nummer 20 oder höher aufgerufen wird. 11.7. Wie geht das Paketverwaltungssystem mit Paketen um, die Konfigurationsdateien für andere Pakete enthalten? ---------------------------------------------------------------------------- Manche Benutzer möchten zum Beispiel einen neuen Server einrichten, indem sie eine Gruppe von Debian-Paketen installieren und ein lokal generiertes Paket, welches aus Konfigurationsdateien besteht. Dies ist grundsätzlich keine gute Idee, weil `dpkg' nichts über diese Konfigurationsdateien weiß, wenn sie in einem anderen Paket sind und daher Konfigurationen schreiben könnte, die zu Konflikten führen, wenn eines der Pakete in der ursprünglichen »Gruppe« ein Upgrade durchführt. Daher ist es besser, ein lokales Paket zu erstellen, das die Konfigurationsdateien der »Gruppe« der jeweiligen Debian-Pakete modifiziert. Dann sieht `dpkg' und der Rest des Paketverwaltungssystems, dass die Dateien durch den lokalen Systemverwalter modifiziert worden sind und versucht nicht, sie zu überschreiben, wenn diese Pakete aktualisiert werden. 11.8. Wie kann ich eine durch ein Paket installierte Datei außer Kraft setzen, so dass stattdessen eine andere Version verwendet werden kann? ---------------------------------------------------------------------------- Nehmen Sie an, dass ein Systemadministrator oder ein lokaler Benutzer lieber ein Programm »`login-local'« anstatt das vom Debian-Paket `login' zur Verfügung gestellte Programm »`login'« verwenden möchte. Sie sollten _nicht_: * `/bin/login' mit `login-local' überschreiben. Das Paketverwaltungssystem weiß nichts über diese Veränderung und wird einfach Ihr angepasstes `/bin/login' jedes mal überschreiben, wenn `login' (oder jedes andere Paket, welches `/bin/login' bereitstellt) installiert oder aktualisiert wird. Tun Sie besser Folgendes: * Führen Sie folgenden Befehl aus: dpkg-divert --divert /bin/login.debian /bin/login Dies führt dazu, dass bei allen zukünftigen Installationen des Debian-Pakets `login' die Datei `/bin/login' nach `/bin/login.debian' geschrieben wird. * Und dann folgenden: cp login-local /bin/login Dadurch wird Ihr eigenes lokal erstelltes Programm an den richtigen Ort kopiert. Führen Sie `dpkg-divert --list' aus, um zu sehen, welche Umleitungen auf Ihrem System aktiv sind. Details dazu finden Sie in der Handbuchseite dpkg-divert(8). 11.9. Wie kann ich meine lokal erstellten Pakete in die Liste der verfügbaren Pakete, von denen das Paketmanagementsystem weiß, aufnehmen? ---------------------------------------------------------------------------- Führen Sie folgenden Befehl aus: dpkg-scanpackges BIN_DIR OVERRIDE_FILE [PATHPREFIX] > meine_Pakete Dabei ist * BIN_DIR ein Verzeichnis, in welches Debian-Archiv-Dateien (welche üblicherweise die Endung ».deb« haben) gespeichert sind. * OVERRIDE_FILE eine Datei, die von den Betreuern der Distribution editiert worden ist und üblicherweise in einem Debian-FTP-Archiv in `indices/override.main.gz' gespeichert ist für Debian-Pakete in der »Main«-Distribution. Sie können dies für lokale Pakete ignorieren. * PATHPREFIX eine _optionale_ Zeichenkette, die der zu erstellenden `meine_Pakete'-Datei vorangestellt werden kann. Wenn Sie die Datei `meine_Pakete' einmal erstellt haben, teilen Sie dies dem Paketverwaltungssystem mit, indem Sie folgenden Befehl benutzen: dpkg --merge-avail meine_Pakete Wenn Sie APT verwenden, können Sie auch das lokale Paketdepot zu Ihrer sources.list(5)-Datei hinzufügen. 11.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? ---------------------------------------------------------------------------- Es gibt verschiedene Fälle, in denen zwei Pakete zwei verschiedene Versionen eines Programms zur Verfügung stellen, wovon beide die selben Grundfunktionen beherrschen. Benutzer mögen eines dem anderen aus Gewohnheit vorziehen, oder weil die Benutzerschnittstelle des einen Pakets auf irgendeine Art attraktiver ist als jene eines anderen. Andere Benutzer auf dem selben System könnten eine andere Wahl treffen. Debian verwendet ein »virtuelles« Paketsystem um den Systemadministratoren zu erlauben, ihre (oder jene der Benutzer) favorisierten Werkzeuge zu wählen, wenn es zwei oder mehr gibt, die die selben Basisfunktionen haben und dennoch den Anforderungen der Paketabhängigkeiten genügen, ohne ein bestimmtes Paket zu spezifizieren. Zum Beispiel könnten zwei verschiedene Versionen eines Newsreaders auf einem System existieren. Das Newsserver-Paket könnte »empfehlen«, dass es _überhaupt einen_ Newsreader auf dem System gibt, aber die Wahl von `tin' oder `trn' ist dem einzelnen Benutzer überlassen. Dies wird dadurch erreicht, dass beide Pakete `tin' und `trn' das virtuelle Paket `news-reader' bereitstellen. _Welches_ der Programme tatsächlich aufgerufen wird, wird durch einen Verweis, der von einer Datei mit dem Namen des virtuellen Pakets `/etc/alternatives/news-reader' auf die ausgewählte Datei zeigt, z.B. `/usr/bin/trn', bestimmt. Ein einzelner Verweis reicht nicht aus, um die volle Verwendung eines alternativen Programms zu unterstützen; normalerweise müssen Handbuchseiten und möglicherweise andere Unterstützungsdateien ebenfalls ausgewählt werden. Das Perl-Skript `update-alternatives' stellt einen Weg bereit sicherzustellen, dass alle Dateien, die mit einem bestimmten Paket in Verbindung stehen, als ein systemweiter Standard gewählt werden. Um zum Beispiel zu kontrollieren, welche ausführbaren Dateien »x-window-manager« bereitstellen, führen Sie folgenden Befehl aus: update-alternatives --display x-window-manager Wenn Sie dies ändern wollen, führen Sie diesen Befehl aus: update-alternatives --config x-window-manager und folgen Sie den Anweisungen auf dem Bildschirm (einfach gesagt: drücken Sie die Zahl, welche neben dem Eintrag, den Sie am besten mögen, steht). Wenn ein Paket sich selbst aus irgend einem Grund nicht als Fenstermanager registriert (senden Sie einen Fehlerbericht, wenn es ein Fehler ist), oder wenn Sie einen Fenstermanager aus dem `/usr/local/'-Verzeichnis verwenden, werden die Auswahlmöglichkeiten auf dem Bildschirm Ihren bevorzugten Eintrag nicht enthalten. Sie können den Verweis über Befehlszeilen-Optionen aktualisieren: update-alternatives --install /usr/bin/x-window-manager \ x-window-manager /usr/local/bin/wmaker-cvs 50 Das erste Argument für die »`--install'«-Option ist der symbolische Verweis, der auf `/etc/alternatives/' zeigt, wobei das zweite Argument ist. Das dritte Argument ist das Programm, auf welches `/etc/alternatives/' zeigen soll, und das vierte Argument ist die Priorität (ein größerer Wert bedeutet, dass diese Alternative wahrscheinlicher automatisch ausgewählt wird). Um eine Alternative, die Sie hinzugefügt haben, wieder zu entfernen, führen Sie einfach folgenden Befehl aus: update-alternatives --remove x-window-manager \ /usr/local/bin/wmaker-cvs ------------------------------------------------------------------------------- 12. Unterstützung für Debian GNU/Linux -------------------------------------- 12.1. Welche andere Dokumentation gibt es auf einem und für ein Debian-System? ---------------------------------------------------------------------------- * Installationsanweisungen für die aktuelle Version: Siehe http://www.debian.org/releases/stable/installmanual. * Die Debian GNU/Linux-Referenz behandelt viele Aspekte der Systemadministration durch Shell-Kommando-Beispiele. Grundanleitungen, Tipps und weitere Informationen werden für viele verschiedene Themen angeboten, angefangen bei der Systemadministration bis hin zur Programmierung. Informationen hierzu können im `debian-reference'-Paket oder in http://www.debian.org/doc/user-manuals#quick-reference gefunden werden. * Das Policy-Handbuch beinhaltet die Mindestanforderungen für die Distribution, z.B. die Struktur und den Inhalt des Debian-Archivs, verschiedene Designentscheidungen bezüglich des Betriebssystems usw. Es beinhaltet auch die technischen Anforderungen, die jedes Paket erfüllen muss, um in die Distribution aufgenommen zu werden, sowie die technischen Aspekte der Binär- und Quellpakete für Debian. Informationen hierzu können im `debian-policy'-Paket oder in http://www.debian.org/doc/devel-manuals#policy gefunden werden. * Dokumentation entwickelt vom Debian-Dokumentationsprojekt. Diese ist auf http://www.debian.org/doc/ verfügbar und beinhaltet Benutzer-, Administrations- und Sicherheitshandbücher für das Debian GNU/Linux-Betriebssystem. * Dokumentation zu installierten Debian-Paketen: Die meisten Pakete enthalten Dateien, die in `/usr/share/doc/' entpackt werden. * Dokumentation zu Linux-Projekten: Das Debian-Paket `doc-linux' installiert alle aktuellen Versionen der HOWTOs und mini-HOWTOs vom Linux-Dokumentationsprojekt (http://www.tldp.org/). * Unix-artige Handbuchseiten: Die meisten Befehle enthalten Handbuchseiten, die im gleichen Stil geschrieben sind, wie die Original-Unix-Handbuchseiten. Auf sie wird durch das Kapitel des »man«-Verzeichnisses verwiesen, wo sie sich befinden: z.B. bezieht sich foo(3) auf ein Handbuch, das sich unter `/usr/share/man/man3/' befindet, und es kann mit dem Befehl `man 3 foo' aufgerufen werden oder einfach mit `man foo', wenn Kapitel 3 das erste ist, das eine Seite zu `foo' enthält. Um herauszufinden, welches Verzeichnis von `/usr/share/man/' eine bestimmte Handbuchseite enthält, wird der Befehl `man -w foo' ausgeführt. Neue Debian-Benutzer sollten beachten, dass die Handbuchseiten von vielen Systembefehlen solange nicht verfügbar sind, bis folgende Pakete installiert werden: * `man-db', welches das `man'-Programm an sich und andere Programme beinhaltet, um die Handbuchseiten zu manipulieren. * `manpages', welches die System-Handbuchseiten beinhaltet. (Man vergleiche Abschnitt 5.8, `Wie unterstützt Debian andere Sprachen als Englisch?'). * GNU-artige »info«-Seiten: Die Benutzerdokumentation für viele Befehle, besonders für GNU-Werkzeuge, ist nicht als Handbuchseite verfügbar, sondern als »info«-Dateien, die durch das GNU-Programm `info', den Befehl `M-x info' in GNU Emacs oder einen anderen Info-Betrachter gelesen werden können. Der große Vorteil gegenüber den ursprünglichen Handbuchseiten besteht darin, dass es ein Hypertext-System ist. Es wird jedoch _nicht_ das WWW benötigt, `info' kann von einer einfachen Textkonsole gestartet werden. Es wurde von Richard Stallman entworfen und ging dem WWW voraus. Auf einen Großteil der Dokumentation im System kann durch die Befehle `dwww', `dhelp' oder `doccentral', die in den entsprechenden Paketen gefunden werden können, mit einen WWW-Browser zugegriffen werden. 12.2. Gibt es Online-Hilfsmittel um über Debian zu diskutieren? --------------------------------------------------------------- Ja. Eigentlich erfolgt die Unterstützung, die Debian seinen Benutzern bietet, hauptsächlich über E-Mail. 12.2.1. Mailinglisten --------------------- Es gibt viele Debian-bezogene Mailinglisten (http://www.debian.org/MailingLists/). In einem System, auf dem das `doc-debian'-Paket installiert ist, kann die komplette Auflistung der Mailinglisten unter `/usr/share/doc/debian/mailing-lists.txt' gefunden werden. Debian-Mailinglisten werden nach debian- aufgeführt. Beispiele hierfür sind debian-announce, debian-user, debian-news. Um sich in einer debian--Liste anzumelden, kann eine E-Mail an `debian--request@lists.debian.org' mit dem Wort »subscribe« (anmelden) im Betreff gesendet werden. Es ist sicherzustellen, dass _-request_ der E-Mail-Adresse hinzufügt wird, falls diese Art des An- oder Abmeldens gewählt wird. Ansonsten geht die E-Mail an die Liste selbst, was entweder peinlich oder ärgerlich sein könnte, abhängig vom Standpunkt. Wer im Besitz eines Formular-fähigen World Wide Web-Browsers ist, kann sich in der Mailingliste anmelden, indem das WWW-Formular (http://www.debian.org/MailingLists/subscribe) benutzt wird. Zum Abmelden kann das WWW-Formular (http://www.debian.org/MailingLists/unsubscribe) verwendet werden. Bei Problemen kann der Listenverwalter unter der E-Mail-Adresse kontaktiert werden. Die meisten Mailinglisten sind öffentliche Foren. Alle E-Mails, die an diese Listen gesendet werden, werden auch ins öffentliche Archiv kopiert, lesbar für jeden (auch nicht Angemeldete), der einfach nur stöbert oder sucht. Stellen Sie sicher, dass Sie niemals vertrauliches Material oder solches, an dem sie keine Rechte besitzen, versenden. Damit sind auch E-Mail-Adressen gemeint. Besonders zu beachten ist die Tatsache, dass Spammer dafür bekannt sind E-Mail-Adressen zu missbrauchen, die in den Mailinglisten veröffentlicht werden. Weitere Informationen sind unter den Mailinglisten-Datenschutzrichtlinien (http://www.debian.org/MailingLists/index#disclaimer) erhältlich. Archive der Debian-Mailinglisten sind im WWW unter http://lists.debian.org/ verfügbar. 12.2.1.1. Was sind die Verhaltensregeln für die Mailinglisten? -------------------------------------------------------------- Beim Benutzen der Debian-Mailinglisten sind folgende Regeln zu beachten: * Spammen unerwünscht. Weitere Informationen unter Verfahrensweise mit Werbung auf Debians Mailinglisten (http://www.debian.org/MailingLists/#ads). * Nicht polemisch werden, dies ist unhöflich. Die Entwickler von Debian sind Freiwillige, die ihre Zeit, Energie und ihr Geld dafür einsetzen das Debian-Projekt voranzubringen. * Niemanden beleidigen; außerdem erhalten einige Leute diese Listen über Packet-Radio, wo Fluchen illegal ist. * Die richtige Liste wählen. Es sollten _niemals_ Anfragen zur An- bzw. Abmeldung an die Mailinglisten selbst geschickt werden. [1] * Informationen darüber, wie Fehler gemeldet werden, sind im Abschnitt Abschnitt 12.5, `Wie melde ich einen Fehler in Debian?' zu finden. [1] Die `debian--request@lists.debian.org'-Adresse ist dafür zu benutzen. 12.2.2. Verantwortliche ----------------------- Benutzer können ihre Fragen an die verschiedenen Paketbetreuer per E-Mail stellen. Um dem Verantwortlichen des Paketes zu erreichen, kann eine E-Mail an `@packages.debian.org' geschickt werden. 12.2.3. Usenet-Nachrichtengruppen --------------------------------- Benutzer sollten Debian-unspezifische Fragen an eine der Linux USENET-Gruppen mit Namen comp.os.linux.* oder linux.* stellen. Es gibt verschiedene Listen von Linux Usenet-Nachrichtengruppen und andere ähnliche Hilfsmittel im WWW, z.B. auf den Linux Online (http://www.linux.org/docs/usenet.html)- und LinuxJournal (http://www.linuxjournal.com/helpdesk.php)-Seiten. 12.3. Gibt es einen schnellen Weg, um nach Informationen über Debian GNU/Linux zu suchen? ---------------------------------------------------------------------------- Es gibt eine Vielfalt von Suchmaschinen, die Dokumentation mit Bezug zu Debian liefern: * Debian WWW-Suchseite (http://search.debian.org/). * Google Gruppen (http://groups.google.com/): eine Suchmaschine für Newsgroups. Um zum Beispiel herauszufinden, welche Erfahrungen Leute beim Finden von Treibern für Promise Controller unter Debian gemacht haben, kann danach mit der Wendung `Promise Linux-Treiber' gesucht werden. Damit werden alle Einträge angezeigt, die diese Zeichenfolge enthalten, z.B. jene, in denen über dieses Thema diskutiert wurde. Wenn `Debian' dieser Suchanfrage hinzugefügt wird, werden die Einträge angezeigt, die Debian-spezifisch sind. * Jede bekannte Suchmaschine, wie z.B. AltaVista (http://www.altavista.com/) oder Google (http://www.google.com/), solange die richtige Suchanfrage gestartet wird. Zum Beispiel wird mit der Suchanfrage »cgi-perl« eine viel genauere Erklärung über dieses Paket gefunden, als im kurzen Textfeld in seiner `control'-Datei zu finden ist. 12.4. Gibt es Protokolle von bekannten Fehlern? ----------------------------------------------- Berichte über ungelöste (oder geschlossene) Probleme sind öffentlich verfügbar: Debian versprach dies zu tun, indem wir im Debian-Gesellschaftsvertrag (http://www.debian.org/social_contract) aussagten: »Wir werden keine Probleme verheimlichen«. Die Debian GNU/Linux-Distribution verfügt über eine Fehlerdatenbank (BTS, engl.: bug tracking system), welche die Details der Fehler archiviert, die von Benutzern und Entwicklern gemeldet werden. Jeder Fehler erhält eine Nummer und wird bearbeitet bis er als gelöst markiert wird. Kopien dieser Informationen sind erhältlich unter http://www.debian.org/Bugs/. Ein E-Mail-Server ermöglich Zugang zu der Fehlerdatenbank per E-Mail. Um die Anweisungen zu erhalten, kann eine E-Mail an mit »help« im Hauptteil gesandt werden. 12.5. Wie melde ich einen Fehler in Debian? ------------------------------------------- Wenn ein Fehler in Debian gefunden wird, sollten die Anweisungen durchgelesen werden, wie ein Fehler in Debian gemeldet wird. Diese Anweisungen sind auf verschiedene Arten erhältlich: * Durch anonymes FTP. Debian-Spiegelseiten enthalten die Anweisungen in der Datei `doc/bug-reporting.txt'. * Aus dem WWW. Eine Kopie der Anweisungen ist auf http://www.debian.org/Bugs/Reporting zu finden. * Auf jedem Debian-System, auf dem das `doc-debian'-Paket installiert ist. Die Anweisungen liegen in der Datei `/usr/share/doc/debian/bug-reporting.txt'. Es kann das Paket `reportbug' benutzt werden, welches einen durch den Meldeprozess führt und die Nachricht an die richtige Adresse schickt und außerdem automatisch einige zusätzliche Details über das System beifügt. Es zeigt auch eine Liste der bereits gemeldeten Fehler des Paketes an, über das berichtet wird, so dass im Falle, dass der Fehler schon gemeldet wurde, zusätzliche Informationen über den bestehenden Fehler hinzugefügt werden können. Wenn der Bericht per E-Mail geschickt werden soll, ist eine Nachricht an zu senden. Die erste Zeile der Nachricht muss so ähnlich wie folgt aussehen Package: ( wird durch den Namen des Paketes ersetzt). Die nächste Zeile sollte sich auf ähnliche Weise auf die Versionsnummer des Paketes beziehen: Version: Die Versionsnummer für jedes Paket, das auf dem System installiert ist, wird angezeigt, indem folgender Befehl eingegeben wird: dpkg -s Dieser Bereich wird auch als Pseudo-Header bezeichnet. Der Rest der Nachricht sollte die Beschreibung des Fehlers (bitte nicht zu detailliert), die verwendete Debian-Veröffentlichung, die benutzt wird, und Versionen von anderen relevanten Paketen enthalten. Die Debian-Release-Nummer wird durch folgenden Befehl angezeigt: cat /etc/debian_version Es wird eine automatische Empfangsbestätigung zum Fehlerbericht verschickt. Der Bericht beinhaltet auch automatisch eine Nummer zur Fehlerverfolgung, wird der Fehlerdatenbank hinzugefügt und wird an die debian-bugs-dist-Mailingliste weitergeleitet. ------------------------------------------------------------------------------- 13. Zum Debian-Projekt beitragen -------------------------------- Sie können verschiedene Dinge spenden (http://www.debian.org/donations), um Debian zu helfen: Etwa Zeit, um neue Pakete zu entwickeln, alte Pakete zu betreuen oder Benutzer zu unterstützen; Ressourcen, um die FTP- und WWW-Archive zu spiegeln sowie Geld, um neue Testsysteme oder Hardware für die Archive zu kaufen. 13.1. Wie kann ich Debian-Software-Entwickler werden? ----------------------------------------------------- Die Entwicklung von Debian ist für jeden zugänglich. Neue Benutzer mit den entsprechenden Fähigkeiten oder dem Willen zu lernen werden benötigt, um verwaiste Pakete zu verwalten, die von ihren vorherigen Betreuern aufgegeben wurden sowie dazu, neue Pakete zu entwickeln und Benutzer zu unterstützen. Die Beschreibung, wie man ein Debian-Entwickler wird, kann in Debians New-Maintainer-Ecke (http://www.debian.org/devel/join/newmaint) auf der Debian-Webseite gefunden werden. 13.2. Wie kann ich Ressourcen zum Debian-Projekt beisteuern? ------------------------------------------------------------ Da das Projekt versucht, eine erhebliche Menge an Software zusammenzustellen und diese leicht zugänglich zu machen, werden dringend Spiegel-Server benötigt. Es ist wünschenswert, aber nicht unbedingt notwendig, alle Debian-Archive zu spiegeln. Bitte besuchen Sie die Spiegel-Größe (http://www.debian.org/mirror/size)-Seite, um Informationen über den benötigten Speicherplatz zu bekommen. Der Großteil des Spiegelprozesses läuft automatisch mittels Skripten, ohne menschliche Eingriffe zu erfordern. Allerdings treten ab und zu Störungen auf oder es gibt Systemänderungen, die dann ein menschliches Eingreifen erfordern. Wenn Sie über eine Breitband-Verbindung zum Internet verfügen, die Ressourcen haben, um die Distribution oder einen Teil davon zu spiegeln, gewillt sind, die benötigte Zeit zu investieren oder jemanden zu finden, der das System regelmäßig wartet, dann melden Sie sich bitte unter . 13.3. Wie kann ich das Debian-Projekt finanziell unterstützen? -------------------------------------------------------------- Man kann individuelle Spenden an zwei für das Debian-Projekt sehr wichtige Organisationen einreichen. 13.3.1. Software in the Public Interest --------------------------------------- Software in the Public Interest (SPI) ist eine nach IRS 501(c)(3) gemeinnützige Organisation, welche sich bildete, nachdem die FSF aufhörte, Debian zu unterstützen. Die Aufgabe der Organisation ist es, »Freie Software« zu entwickeln und zu veröffentlichen. Debians Ziele sind denen der FSF sehr ähnlich und wir ermutigen Programmierer dazu, ihre Programme unter der »GNU General Public License« zu veröffentlichen. Allerdings setzen wir dadurch, dass wir ein Linux-System erstellen und verbreiten, welches sich in technischen Einzelheiten von dem GNU-System unterscheidet, wie es ursprünglich von der FSF entworfen wurde, einen etwas anderen Schwerpunkt. Dennoch stehen wir noch immer mit der FSF in Verbindung und arbeiten mit ihr zusammen, indem wir Änderungen zu »GNU-Software« einsenden und unsere Benutzer bitten, für die FSF und das »GNU-Projekt« zu spenden. SPI kann unter http://www.spi-inc.org/ erreicht werden. 13.3.2. Free Software Foundation -------------------------------- Zu diesem Zeitpunkt gibt es keine formelle Verbindung zwischen der »Free Software Foundation« und Debian. Allerdings ist die »Free Software Foundation« die Grundlage für einige der wichtigsten Softwarebausteine in Debian, darunter auch den GNU-C-Compiler, GNU-Emacs und viele der C-Laufzeit-Bibliotheken, welche von allen Programmen des Systems genutzt werden. Die FSF hat die »Freie-Software« zu dem gemacht, was sie heute ist: Sie hat die »General Public License« geschaffen, eine Lizenz unter der ein Großteil der Debian-Software erschienen ist, und sie hat das »GNU«-Projekt gegründet, um ein völlig freies Unix zu schaffen. Debian sollte als ein Nachkomme des GNU-Systems angesehen werden. Die FSF kann unter http://www.fsf.org/ erreicht werden. ------------------------------------------------------------------------------- 14. Debian GNU/Linux in einem kommerziellen Produkt verwenden ------------------------------------------------------------- 14.1. Kann ich Debian-CDs erstellen und verkaufen? -------------------------------------------------- Ja das können Sie. Sobald die Beta-Tests enden, können Sie Ihre CD erstellen und alles was wir _freigegeben_ haben ohne weitere Zustimmung unsererseits veröffentlichen. Sie müssen nichts an uns bezahlen. Natürlich müssen alle CD-Hersteller die Lizenzen der Programme in Debian anerkennen. Viele der Programme sind z.B. unter der GPL-Lizenz veröffentlicht, welche verlangt, dass die Quelltexte veröffentlicht werden. CD-Hersteller die Geld, Software und Zeit zum Debian-Projekt beitragen, werden von uns in einer Liste veröffentlicht, außerdem regen wir Benutzer dazu an, bei Herstellern zu kaufen die spenden. Man sieht also, es ist eine gute Werbung zu spenden. 14.2. Kann Debian mit unfreier (non-free) Software paketiert werden? -------------------------------------------------------------------- Ja das kann es. Da alle Hauptkomponenten von Debian Freie Software sind, bieten wir ein `non-free'-Verzeichnis für Programme an, die nicht frei verteilbar sind. Programme, die wir in diesem Verzeichnis abgelegt haben, _können_, unter Berücksichtigung der entsprechenden Lizenzbedingungen oder mit Zustimmung der jeweiligen Autoren von CD-Herstellern, verteilt werden. Genauso ist es CD-Herstellern gestattet unfreie Software aus anderen Quellen auf der selben CD zu verteilen. Das Verteilen von unfreier und kommerzieller Software auf ein und der selben CD ist nichts Neues und wird von vielen Herstellern praktiziert. Selbstverständlich legen wir Software-Entwicklern nahe, die von ihnen geschriebene Software als freie Software zu veröffentlichen. 14.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? ---------------------------------------------------------------------------- Ja das ist möglich. Von Debian abgeleitete Distributionen werden einmal in enger Zusammenarbeit mit dem Debian-Projekt selbst und zum Anderen von außenstehenden Beteiligten erstellt. Einmal kann das Custom Debian Distributions (http://cdd.alioth.debian.org/)-Gerüst verwendet werden um mit Debian zu arbeiten. Skolelinux (http://www.skolelinux.org/) ist ein weiteres Projekt zu dem Thema. Jemand erstellt eine Linux-Distribution für »Hams« (Amateurfunker) mit speziellen Programmen für Amateurfunker. Er startet mit dem Debian-Grundsystem und fügt Programme für die Kontrolle des Transmitters, Suche der Satelliten usw. hinzu. Alle hinzugefügten Programme sind Pakete des Debian-Paketsystems, so dass es dem Benutzer möglich ist, die Pakete einfach zu aktualisieren, wenn Nachfolge-CDs veröffentlicht werden. Es gibt bereits viele angepasste Debian-Distributionen auf dem Markt wie »Progeny Debian«, »Linspire«, »Knoppix« und »Ubuntu«, die alle eine andere Zielsetzung als das Original-Debian GNU/Linux-Projekt haben und trotzdem die meisten unserer Komponenten in ihren Produkten verwenden. Debian bietet Entwicklern und Systemadministratoren Methoden um lokale Versionen von gewählten Dateien in einer Art zu installieren, die verhindert, dass sie bei einer Aktualisierung von anderen Paketen überschrieben werden. Dies wird näher unter Abschnitt 11.8, `Wie kann ich eine durch ein Paket installierte Datei außer Kraft setzen, so dass stattdessen eine andere Version verwendet werden kann?' erklärt. 14.4. Kann ich mein kommerzielles Programm in einem Debian-»Paket« ablegen, damit es auf jedem Debian-System mühelos installiert werden kann? ---------------------------------------------------------------------------- Das ist möglich. Das Paketwerkzeug ist Freie Software: Die Pakete können freie oder unfreie Software sein, es kann sie alle installieren. ------------------------------------------------------------------------------- 15. Erwartete Änderungen in der nächsten Hauptversion von Debian ---------------------------------------------------------------- 15.1. Unterstützung für nicht Englisch sprechende Benutzer ---------------------------------------------------------- Debian unterstützt bereits eine Menge nicht Englisch sprechenden Benutzern, siehe Abschnitt 5.8, `Wie unterstützt Debian andere Sprachen als Englisch?'. Wir hoffen, weitere Personen zu finden, die uns helfen mehr Sprachen zu unterstützen und zu übersetzen. Einige Programme unterstützen bereits die Internationalisierung, so dass wir Nachrichtenkatalogübersetzer brauchen. Viele Programme müssen aber noch korrekt internationalisiert werden. Das GNU-Übersetzungs-Projekt ftp://ftp.gnu.org/pub/gnu/ABOUT-NLS arbeitet an der Lokalisierung der GNU-Programme. Eigens für Debian lenny arbeiten wir an Dingen wie: * I18n-Unterstützung für alle Pakete, die debconf verwenden: Pakete, die das Debian-Konfigurations-Management verwenden, müssen eine Übersetzung aller Dialoge gestatten, die dem Benutzer während der Konfiguration angezeigt werden. * I18n-Unterstützung für Paketbeschreibungen: Erweitern der Paketmanagement-Schnittstellen, um übersetzte Paketbeschreibungen zu verwenden. * UTF-8 debian/changelog und debian/control. Auf diese Weise ist es möglich, etwa die Namen von Personen aus asiatischen Ländern in den Changelogs richtig zu setzen. 15.2. Schnelleres booten: Abhängigkeitsbasierte Boot-Sequenz ------------------------------------------------------------ Es wurde daran gearbeitet, die Boot-Sequenz in Debian zu konvertieren (http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot), damit sie dynamisch und abhängigkeitsbasiert arbeitet und nicht gemäß fest einprogrammierter Sequenznummern. Sobald die Arbeiten daran abgeschlossen sind, werden Debian-System deutlich schneller booten. 15.3. Verbesserungen im Debian-Installationsprogramm ---------------------------------------------------- Eine Menge Arbeit ist in das Debian-Installationsprogramm gesteckt worden, was zu einer Reihe größerer Verbesserungen geführt hat. Hier ein paar davon: Starten des Installationsprogramms unter Microsoft Windows: Es ist jetzt möglich, das Installationsprogramm direkt unter Microsoft Windows zu starten, ohne zuvor die BIOS-Einstellungen ändern zu müssen. Nach dem Einlegen einer CD-ROM, DVD-ROM oder dem Einstecken eines USB-Sticks, startet selbsttätig ein Programm, das eine Schritt-für-Schritt Anleitung zum Debianinstallationsprogramm anbietet. Das Debianinstallationsprogramm enthält nun experimentelle Unterstützung für die Installation von Debian auf Systemen mit Serial ATA RAID. 15.4. Weitere (Rechner-)Architekturen ------------------------------------- Unterstützung für ein komplettes Debian-System auf anderen Architekturen wie ARM EABI (http://wiki.debian.org/ArmEabiPort) (im Rückgriff auf "armel" und neben dem alten "arm") wird es wahrscheinlich mit lenny geben. Unterstützung für SuperH (http://wiki.debian.org/SHPort) wird bald erwarted. 15.5. Zusätzliche Kernel ------------------------ Zusätzlich zu Debian GNU/Hurd wird Debian auf BSD-Kernel portiert, insbesondere auf FreeBSD (http://www.debian.org/ports/kfreebsd-gnu/). Dieser Port läuft sowohl auf AMD64 ("kfreebsd-amd64") als auch auf traditionellen Intel-Prozessoren ("kfreebsd-i386"). ------------------------------------------------------------------------------- 16. Allgemeine Informationen über die FAQ ----------------------------------------- 16.1. Autoren ------------- Die erste Version dieser FAQ wurde erstellt und betreut von J.H.M. Dassen (Ray) und Chuck Stickelman. Autoren der überarbeiteten Debian GNU/Linux-FAQ sind Susan G. Kleinmann und Sven Rudolph. Danach wurde die FAQ von Santiago Vila und später von Josip Rodin betreut. Der momentane Betreuer ist Javier Fernández-Sanguino Peña. Teile der Informationen kamen von: * Der Debian-1.1-Veröffentlichungsbekanntgabe von Bruce Perens (http://www.perens.com/). * Der Linux-FAQ von Ian Jackson (http://www.chiark.greenend.org.uk/~ijackson/). * Debian-Mailinglist-Archiven (http://lists.debian.org/), * Dem dpkg-Programmiererhandbuch und dem Debian-Policy-Handbuch (siehe Abschnitt 12.1, `Welche andere Dokumentation gibt es auf einem und für ein Debian-System?') * vielen Entwickler, Freiwilligen, Beta-Testern und * den kreativen Gehirnen der Autoren. :-) * Kamaraju Kusumanchis Ratgeber Choosing a Debian distribution FAQ (http://people.cornell.edu/pages/kk288/debian_choosing_distribution.html), der sie großzügigerweise unter der GPL freigab, wodurch dieser ein Teil der vorliegenden FAQ werden konnte (siehe Kapitel 3, `Eine Debian-Distribution auswählen') Die Autoren möchten sich bei allen bedanken, die dieses Dokument möglich gemacht haben. Jede Haftung wird ausgeschlossen. Alle Markenzeichen sind das Eigentum ihrer entsprechenden Eigner. Die deutsche Übersetzung stammt von Christian Britz, Nico Golde, Claas Felix Beyersdorf, Andre Appel, Franziska Schröder, Jonas E. Huber, Jens Seidel und Benjamin Eckenfels. Bitten senden Sie Fehler in der Übersetzung an . 16.2. Feedback -------------- Kommentare und Ergänzungen zu diesem Dokument sind immer willkommen. Bitte senden Sie eine E-Mail an oder schreiben Sie einen Wunschlisten-Fehlerbericht gegen das Paket `doc-debian (http://bugs.debian.org/doc-debian)'. 16.3. Verfügbarkeit ------------------- Die neueste Version dieses Dokuments finden Sie auf den Debian WWW-Seiten unter http://www.debian.org/doc/FAQ/. Außerdem ist die FAQ zum Download im Text-, HTML-, PostScript- und PDF-Format unter http://www.debian.org/doc/user-manuals#faq verfügbar. Dort sind auch einige Übersetzungen zu finden. Dieses Dokument ist über das Debian-Paket `debian-faq' verfügbar. Übersetzungen sind erhältlich über `debian-faq-de', `debian-faq-fr' und andere Pakete. Die originalen SGML-Dateien, die benutzt wurden, um dieses Dokument zu erstellen, sind auch im Quellpaket `doc-debian' oder im SVN verfügbar: `svn://svn.debian.org/svn/ddp/manuals/trunk/debian-faq' und http://svn.debian.org/viewsvn/ddp/manuals/trunk/debian-faq/. 16.4. Dokumentformat -------------------- Dieses Dokument wurde mit der DebianDoc-SGML-DTD geschrieben (umgeschrieben vom LinuxDoc-SGML). Das DebianDoc-SGML-System ermöglicht es, Dateien in vielen Formaten aus einer Quelldatei zu erstellen, z.B. kann dieses Dokument als HTML, Text, TeX-DVI, PostScript, PDF oder GNU-info angezeigt werden. Umwandlungswerkzeuge für DebianDoc-SGML sind im Debian-Paket `debiandoc-sgml' verfügbar. ------------------------------------------------------------------------------- Die Debian GNU/Linux-FAQ Die Autoren der Debian-FAQ Version 5.0.1, 17 March 2012