Debian/Paketverwaltung
Debian/Paketverwaltung - Überblick
Beschreibung
Um Pakete auf einem Debian GNU/Linux-System zu installieren, stehen mehrere Programme zur Verfügung
- dpkg
- Neben dpkg, das auf der Kommandozeile ausgeführt wird, ist dselect das älteste von diesen mit einer Benutzeroberfläche. dselect stellt ein überaus mächtiges Programm mit vielen Möglichkeiten und allen Freiheiten dar.
- Dies hat aber leider nicht bei allen Anwendern (gerade bei Einsteigern) zur Beliebtheit beigetragen. dselect bietet eine sehr ausführliche Online-Hilfe, aber mal ehrlich: Wer liest so etwas schon? Aber wer über einige wenige Kenntnisse von dselect verfügt, wird sehen, dass alles ganz einfach ist, und die wird Mächtigkeit dieses Werkzeugs schnell zu schätzen wissen.
- apt
apt stellt die nächste Generation der Debian GNU/Linux-Installationsprograme dar.
- Mit der Version 3.0 von Debian GNU/Linux ist die komplette Umstellung des Paketmanagements auf apt erfolgt.
aptitude aptitude ist nun die bevorzugte Methode zur Paketverwaltung auf der Konsole. aptitude unterstützt die meisten Kommandozeilenoperationen von apt-get und hat bessere Fähigkeiten bei der Auflösung von Abhängigkeiten bewiesen.
- „Secure APT“ ist seit Debian 4.0 Bestandteil der Distribution.
- Secure APT sorgt für zusätzliche Sicherheit von Debian GNU/Linux-Systemen, indem starke Kryptografie und digitale Signaturen zum Verifizieren heruntergeladener Pakete verwendet werden.
- Das Programm apt-key wird genutzt, um dem Schlüsselring von apt neue Schlüssel hinzuzufügen.
- Standardmäßig wird nur der Schlüssel zum Signieren des Debian Archives aus dem Paket debian-archive-keyring berücksichtigt.
- In der Standardkonfiguration wird apt nun eine Warnung ausgeben, falls Pakete aus Quellen heruntergeladen werden, die nicht authentifiziert werden konnten.
- Paketeauwahl
Unabhängig davon, welches Programm Sie zur Installation benutzen - Sie müssen in jedem Fall auswählen, welche Pakete Sie installieren möchten.
- Dies ist bei Debian GNU/Linux keine leichte Aufgabe, denn mittlerweile umfasst die Distribution einige tausend Pakete! Um Ihnen die Auswahl zu erleichtern, wurden von den Entwicklern so genannte „ task“-Pakete zusammengestellt.
- Diese „Gruppierung“ von Paketen vereinfacht Ihnen die Selektion.
- Wählen Sie beispielsweise das Paket task-gnome-desktop aus, so werden alle nötigen Pakete für einen GNOME-Desktop ausgewählt und installiert.
- Weitere Informationen zu diesen Paketen finden Sie in [../../debiananwenderhandbuch/taskpakete.html „Taskpakete“ ].
apt-get oder gnome-apt oder auch das bereits erwähnte dselect können zum Auswählen und Installieren einzelner Pakete benutzt werden.
- Die Paketverwaltung unter Debian GNU/Linux stellt eines der Highlights dieser Distribution dar
Informationen zu den grundsätzlichen Vorgängen bei der Installation eines Pakets
- Jedes Programmpaket enthält in der Regel einige verschiedene Dateien, die zur Funktion dieses Programms benötigt werden.
- Hierzu gehören natürlich das Programm selbst, die Bibliotheken, Dateien mit Daten wie zum Beispiel Grafiken für Spiele, die Anleitung (Manpages) usw.
- Bei der Installation eines Programms muss sichergestellt sein, dass alle Dateien am richtigen Platz im Verzeichnisbaum installiert werden.
- Wenn Sie später ein Programm wieder von Ihrem System entfernen wollen, ist es ebenfalls wichtig zu wissen, welche Dateien zu einem Programm gehören und wo sie sich befinden.
- Weiterhin ist festzustellen, ob Dateien installiert wurden, die mittlerweile von anderen Programmen benutzt werden.
- In diesem Fall darf das Paket unter Umständen nicht entfernt werden.
- Ebenso kann der Fall eintreten, dass ein Programm auf den neuesten Stand gebracht werden soll.
- Bei diesem Vorgang werden Dateien aktualisiert und eventuell auch einige Dateien gelöscht, die von der neuen Version nicht mehr benötigt werden.
- Auch dies muss so durchgeführt werden, dass nicht andere Programme danach nicht mehr funktionsfähig sind.
- Das Debian GNU/Linux-Paketsystem wacht über alle diese Vorgänge und hält Ihr System immer in einem benutzbaren Zustand.
Organisation der Pakete
- Debian GNU/Linux organisiert die Pakete in einer festgelegten Hierarchie
- Unter anderem werden Bereiche mit allgemeiner, freier Software (main), die den DFSG (Debian Free Software Guidelines - [../../debiananwenderhandbuch/dfsg.html „Debian Free Software Guidelines“ ]) entspricht, und Bereiche mit Software, die nicht unter solchen freien Lizenzen steht (non-free), unterschieden.
- Als weiterer Bereich steht contrib zur Verfügung, hier finden sich Pakete mit freier Software, die aber auf nicht-freien Paketen aufbauen.
- Die Verantwortlichen für das Debian Projekt haben sich entschieden, den Bereich „non-free“ zukünftig nicht mehr zu unterstützen.
- Es wird versucht, die Autoren der Software-Pakete zu überzeugen, eine freie Lizenz zu verwenden.
- Gelingt dies nicht, so wird das entsprechende Paket in absehbarer Zeit nicht mehr auf den Debian Servern verfügbar sein.
- Die nächste Ebene beschreibt die Architektur, also die Prozessorfamilie, auf der die Binärpakete laufen.
- Auch die Sourcen (Quellcodes) zu den Paketen sind in dieser Ebene angesiedelt.
- In der letzten Ebene finden sich diverse Verzeichnisse, in denen die eigentlichen Pakete zu Gruppen, wie zum Beispiel „Games“ oder „X11“, zusammengefasst werden.
Release
- Von Debian werden zu jedem Zeitpunkt vier Release-Varianten angeboten
- Die zuletzt veröffentlichte Version heißt „stable“.
- Dort sind alle Pakete sehr gut getestet, und die jeweils aktuellsten Sicherheitsupdates sind sehr schnell verfügbar.
- Mit einer solchen „stable“-Version ist in etwa alle zwei Jahre zu rechnen.
- Aktualisiert wird diese Version durch „Release“-Versionen (Unterversionen wie beispielsweise 3.1 R2), die in unregelmäßigen Abständen herausgegeben werden.
- Sicherheitsupdates sind für diese Version sehr zeitnah verfügbar.
- Dieses stabile Release von Debian sollte als Basis für alle produktiven Systeme eingesetzt werden.
- Unstable und Testing
Darüber hinaus gibt es zwei weitere Zweige, die zwar verfügbar, aber nicht vom Debian Team für den produktiven Betrieb freigegeben sind: „unstable“ (an diesem Release wird laufend weiterentwickelt) und „testing“, das der Sammelplatz für das nächste offizielle Release ist. „testing“ setzt sich aus Paketen zusammen, die nach 10 bis 14 Tagen im Zweig „unstable“ keine für das Release entscheidenden Fehler gezeigt haben und dann in den „testing“-Zweig übernommen werden.
- Die Pakete in „testing“ haben eine gute Stabilität und können für den laufenden Betrieb auf nicht geschäftskritischen Systemen eingesetzt werden.
- Hier sollte man aber auf kleinere Probleme und Ausfallzeiten gefasst sein.
- Sehr aktuelle Pakete finden Sie aber eher im „unstable“-Bereich.
- Sicherheitsupdates werden für diese Releases nicht garantiert.
- Häufig sind entsprechende Pakete verfügbar; verlassen Sie sich aber nicht darauf.
- Experimental
Für einige Pakete wird darüber hinaus manchmal „Experimental“ benutzt.
- Dieser Zweig enthält neuere Software-Versionen, die jedoch sehr große Änderungen mit sich bringen.
- Beispielsweise werden dort sehr neue und aktuelle Software-Pakete in die Debian Distribution integriert, oder es werden größere Debian Pakete komplett neu strukturiert.
- Sie sollten diesen Zweig nur einsetzen, wenn Sie gute Kenntnisse über das Debian Paketmanagement haben (etwa nach der Lektüre dieses Buches ;-)).
- Für diese Pakete gibt es keinen festgelegten Wert, wie sie in die Distribution aufgenommen werden.
Die vier Release-Varianten sind auf den Servern durch „Links“ mit den jeweiligen Release-Namen verbunden.
- So ist beispielsweise momentan, kurz nach der Release von „Sarge“, „stable“ ein Link auf „Sarge“, „testing“ ein Link auf „Etch“ und „unstable“ ist immer ein Link auf „sid“. „sid“ steht für „still in development“.
# ftp> ls -l 227 Entering Passive Mode (128,101,80,133,219,159) 150 Here comes the directory listing. lrwxrwxrwx 1 1176 1176 5 Jun 01 19:38 Debian3.0r6 -> woody lrwxrwxrwx 1 1176 1176 5 Jun 06 18:33 Debian3.1r0 -> sarge -rw-rw-r-- 1 1176 1176 449 Jun 06 17:41 README drwxrwsr-x 5 1176 1176 4096 Jul 30 19:34 etch drwxrwsr-x 5 1176 1176 4096 Jul 30 19:34 etch-proposed-updates lrwxrwxrwx 1 1176 1176 23 Jan 13 2005 experimental -> ../project/experimental lrwxrwxrwx 1 1176 1176 5 Jun 06 18:33 oldstable -> woody lrwxrwxrwx 1 1176 1176 22 Jun 06 18:33 proposed-updates -> sarge-proposed-updates drwxrwsr-x 5 1176 1176 4096 Jun 16 19:34 sarge drwxrwsr-x 5 1176 1176 12288 Jul 30 19:33 sarge-proposed-updates drwxrwsr-x 5 1176 1176 4096 Jul 30 19:35 sid lrwxrwxrwx 1 1176 1176 5 Jun 06 18:33 stable -> sarge lrwxrwxrwx 1 1176 1176 22 Jun 06 18:33 stable-proposed-updates -> sarge-proposed-updates lrwxrwxrwx 1 1176 1176 4 Jun 06 18:33 testing -> etch lrwxrwxrwx 1 1176 1176 21 Jun 06 18:33 testing-proposed-updates -> etch-proposed-updates lrwxrwxrwx 1 1176 1176 3 Jan 13 2005 unstable -> sid drwxrwsr-x 5 1176 1176 4096 May 31 20:55 woody drwxrwsr-x 5 1176 1176 57344 Jun 06 17:42 woody-proposed-updates
- Frozen
Kurz vor einem neuen Release gibt es für kurze Zeit noch ein weiteres Release: „frozen“.
- Es stellt den eingefrorenen Zustand einer „testing“-Distribution dar, kurz bevor diese zu „stable“ wird.
- In einem „frozen“-Status, kurz vor der Freigabe eines neuen Release, wird kein neuer Code mehr akzeptiert.
- Es werden lediglich bei Bedarf Bugfixes eingepflegt.
- Es wird ein neuer Verzeichnisbaum im dists/-Verzeichnis angelegt und einem neuen Kodenamen zugeordnet.
- Die eingefrorene Distribution durchläuft nun einige Monate lang Tests mit zwischenzeitlichen Updates und Zwischenversionen, die „Test-Zyklen“ genannt werden.
Distribution
Die so genannten „Distributionen“ innerhalb der gesamten Debian GNU/Linux-Distribution bezeichnen verschiedene Bereiche, die sich durch die Lizenzen unterscheiden, unter denen die Pakete in diesen Bereichen stehen.
Main | Dies ist der Hauptbestandteil von Debian.
|
Contrib | Die Pakete in diesem Verzeichnis sind für sich frei, jedoch benötigen sie nicht-freie (Non-Free) Software oder Bibliotheken, um zu funktionieren.
|
Non-Free | Pakete in diesem Verzeichnis müssen nicht unbedingt Geld kosten, jedoch haben sie einige Bedingungen, die eine Weiterverteilung der Software einschränken.
|
Architektur
Hier finden Sie eine Übersicht einiger von Debian GNU/Linux unterstützten beziehungsweise in der Entwicklung befindlichen Architekturen.
Bitte beachten Sie auch, dass nicht alle Architekturen auf CD-ROM im Handel erhältlich sind.
- Am einfachsten sind CDs für die i386-Architektur zu bekommen.
- Dies ist sowohl im Heimbereich als auch bei professionellen Anwendern die am weitesten verbreitete Hardware-Plattform.
Eine komplette Übersicht finden Sie unter http://www.debian.org/ports/.
Intel x86 / IA-32 (i386) | Die erste Architektur und nicht direkt eine Portierung.
|
Intel IA-64 (ia64) | Zum ersten Mal offiziell mit Debian 3.0 freigegeben.
|
S/390 (s390) | Zum ersten Mal offiziell mit Debian 3.0 freigegeben.
|
DEC Alpha (alpha) | Das erste Release erfolgte mit Debian 2.1.
|
ARM (arm) | Eine neue Portierungsbestrebung, motiviert durch Rebels (ehemals Corel) interessante „NetWinder“-Maschine. |
Motorola 68k (m68k) | Das erste Release dieser Portierung erfolgte mit Debian 2.0.
|
MIPS (mips) | Zum ersten Mal offiziell mit Debian 3.0 freigegeben.
|
Motorola/IBM PowerPC (powerpc) | Diese Portierung läuft auf vielen Apple Macintosh PowerMac-Rechnern und kann auch auf den meisten Motorola-Computern laufen. Ältere Macintosh-Rechner benutzen die m68k-Prozessoren; diese werden nicht als PowerMac bezeichnet.
|
HP PA-RISC (hppa) | Zum ersten Mal offiziell mit Debian 3.0 freigegeben.
|
Sun SPARC (sparc) | Zum ersten Mal mit Debian 2.1 veröffentlicht.
|
Sun UltraSPARC (sparc64) | Dies ist auch der Beginn einer Portierung auf die Sun UltraSPARC-(sun4u-) Workstation-Familie.
|
Debian GNU/Hurd (hurd-i386) | GNU/Hurd ist ein völlig neues Betriebssystem, das von der GNU-Gruppe aufgebaut wird.
|
Debian GNU/NetBSD (netbsd-i386 und netbsd-alpha) | Dies ist eine Portierung des Debian Betriebssystems inklusive apt, dpkg und GNU-Software auf den NetBSD-Kernel.
|
Debian GNU/FreeBSD (freebsd-i386) | Dies ist eine Portierung des Debian Betriebssystems auf den FreeBSD-Kernel.
|
Debian Beowulf | Obwohl nicht wirklich eine Portierung, so wird Beowulf doch ein Ersatz für viele Großrechner in Forschung und Entwicklung sein.
|
Gruppen
Jedes Paket der Debian Distribution kann vom Betreuer (Maintainer) einem bestimmten Bereich zugeordnet werden.
- Diese Bereiche beschreiben den hauptsächlichen Einsatzort bzw.
- den Einsatzbereich.
- Innerhalb eines Frontends zur Paketinstallation (beispielsweise dselect) können dann die Pakete entsprechend dieser Zuordnung ausgewählt werden.
Diese Struktur lässt sich auf den FTP-Servern oder den Debian CD-ROMs nicht ohne Weiteres zurückverfolgen, wenn nach einem Paket gesucht wird.
- Die Bereiche sind in den Dateien Packages.gz vermerkt und werden vom Frontend auf die tatsächlichen Pfade umgesetzt.
- Die Pakete selbst befinden sich in einer einfachen Dateisystemstruktur, die wie folgt aufgebaut ist: /pool/main/a/paketname/paket.deb.
Doch nun zu den Bereichen:
Administration | Programme zur Systemadministration |
Base | Teile des Basissystems, wie zum Beispiel verschiedene Kernel |
Communication | Terminalprogramme usw. |
Development | Diverse Programmiersprachen, Compiler, Interpreter, Header-Dateien (C und C++) usw. |
Documentation | HOWTOs, FAQs und andere Dokumentation sowie Programme, um diese zu lesen |
Editors | Textverarbeitungsprogramme, Editoren für Programmierer |
Electronics | Simulatoren für elektronische Schaltungen usw. |
Games | Spiele |
Graphics | Grafikprogramme |
Ham Radio | Programme für Amateurfunker |
Interpreters | Interpreter wie Perl, Python und Tcl/Tk |
Libraries | Bibliotheken, die von verschiedenen Programmen genutzt werden |
Alles rund um E-Mail.
| |
Mathematics | Mathematische und wissenschaftliche Programme |
Miscellaneous | Diverses, was sonst nirgends hineinpasst |
Network | Netzwerkserver und Clientprogramme |
Newsgroups | Software für öffentliche Diskussionsforen |
Old Libraries | Ältere Versionen von Bibliotheken |
Other Operating Systems and File Systems | Zugriff auf andere Betriebs- oder Dateisysteme |
Shells | Verschiedene Shells |
Sound | Alles für den guten Ton |
TeX | Donald Knuths Schriftsatzprogramm |
Text Processing | Werkzeuge zum Umgang mit Textdateien |
Utilities | Verschiedene Werkzeuge |
Web | Programme für das WWW, Server und Clients |
X Window | X-Server, Window-Manager und anderes |
Backports
Backporting (Rückportierungen) bezeichnet den Prozess der Rückportierung von Software-Paketen aus einem neueren Release in ein älteres Release.
- Es gibt zwei wesentliche Gründe dafür, Pakete aus anderen Releases zu portieren:
Durch den langen Release-Zyklus der stabilen Debian Version ist es manchmal wünschenswert, auf Software-Pakete aus „testing“ oder „unstable“ zuzugreifen.
- Dies ist leider nicht direkt ohne Weiteres möglich, da Abhängigkeiten zwischen den Paketen nicht erfüllt werden.
- Mitunter sind beispielsweise Bibliotheken nicht mehr in den benötigten Versionen in einer neueren Release vorhanden.
Auch kann eine individuelle Konfiguration bei der Übersetzung bestimmter Software-Pakete gewünscht sein.
- Hierfür ist aber nur in wenigen Fällen ein wirklicher Backport notwendig, es kann auch auf die Version aus dem verwendeten Release zurückgegriffen werden.
Detaillierte Informationen darüber, welche Schritte für das Backporting notwendig sind, finden Sie im Backporting-HOWTO.