Eigenschaften des Paketsystems
Pakettypen
Binary Pakete | Pakete mit Vorcompilierte Programmen |
Source Pakete | Pakete mit dem Quellcode des Programms |
Taskpakete | Leeres Paket mit Abhängigkeiten zu anderen Paketen die zusammen für einen bestimmten verwendungszweck bestimmt sind. (zb. X Window System, Samba) |
Virtuelle Pakete | Keine realen Pakete sondern können von mehreren Paketen zur Verfügung gestellt werden erfüllen können (zb. HTML-Dokumentation benötigt das Virtuelle Paket 'www-browser lynx, w3m und weitere können alle diese Abhängigkeit erfüllen |
Namesbedeutung von Paketen
Aus dem Paket gimp_1.0.3-3.deb können wir folgende Informationen entnehmen
gimp | Name des Programms |
1.0.3 | Version des Programms |
3 | Release des Debian Paketes |
Aufbau eines Debian Paketes
Der Inhalt eines mit ar gepacktem Debian Paketes läßt sich mit ar -tv
anschauen
rw-r--r-- 0/0 4 Jan 8 04:11 2000 debian-binary
rw-r--r-- 0/0 14105 Jan 8 04:11 2000 control.tar.gz
rw-r--r-- 0/0 2864457 Jan 8 04:11 2000 data.tar.gz
Die Dateien haben folgende Bedeutung
debian-binary | In dieser datei wird bestimmt für welche Version von dpkg dieses Paket geeignet ist |
control.tar.gz | Hier befinden sich Informationen über die Konfigurationdateien und was nach oder vor der Installation bzw. Entfernung gemacht werden soll |
data.tar.gz | In diesem Archiv befinden sich die eigentlichen Daten |
Zustände von Debian Pakete
installed | Das Paket ist installiert |
not installed | Das Paket ist nicht installiert |
config | Das Paket wurde entfernt die Konfigurationsdateien wurde jedoch nicht gelöscht. Dies wird standartmässig bei der Entfernung eines Paketes gemacht |
unpacked | Das Paket wurde zwar entpackt jedoch nicht konfiguriert |
half installed | Beim entpacken trat ein fehler auf |
half configured | Das Paket wurde entpackt beim konfigurieren trat allerdings ein Fehler auf |
Das Versionen System von Debian
Debian besteht aus folgenden 2 Distributionen
stable | Stabiles und sicheres Release von Debian das als fertig entwickelt angesehn wird |
unstable | Entwicklerversion in der Pakete hinzugefügt werden können |
In einigen Phasen kommen aber noch zwei Distribution hinzu
frozen | Eingefrorenes System in der keine Pakete mehr hinzugefügt sondern nur abgestimmt werden dürfen |
testing | Zum testen freigebene als stabil angesehene Version |
Zusätzlich bekommt jede Version noch einen Codenamen und eine Versionsnummer
Distribution | Codename | Versionsnummer |
stable | Potato | 2.2 |
testing | woody | 2.3 |
unstable | sid | 2.4 |
Struktur eines Debian Servers
Zuerst wird zwischen den Distributionen stable, unstable und testing unterschieden. Allerdings sind dies immer symbolische Links auf die entsprechenden Codenamen.
Dann wird die Distribution in verschiedene Sections eingeteilt
main | Hauptteil der Distribution. Nur unterhalb von main befindet sich Software der offiziellen Debian Distribution bei denen garantiert werden kann das sie mit den Debian Richtlinien übereinstimmt |
contrib | Pakete die aus unterschiedlichen Gründen nicht mit den Debian Richlinien übereinstimmen |
non-free | Software die nicht frei verteilt werden darf |
Nun wird noch zwischen verschiedenen Architekturen unterschieden
binary-... | Binary Pakete für die bezeichnete recher Architektur |
binary-all | Plattformunabhängige Binary Pakete |
disks-... | Bootdisketten für die jeweilige Architektur |
source | Quellpakete |
Als letztes werden die Pakete noch in verschiedene Kategorien eingeteilt
admin | base | comm | devel |
doc | editors | electronics | games |
graphics | hamradio | interpreters | libs |
math | misc | net | |
News | oldlibs | otherosfs | science |
shells | Sound | tex | text |
utils | web | x11 |
Pakete mit Hilfe von md5sum auf Fehler überprüfen
Jedes Paket besitzt eine Checksumme mit hilfe dieser lässt sich die komplette Quelle sowie einzelne Pakete auf Fehler überprüfen. Die ganze Quelle lässt sich mit
md5sum -c md5sum.txt
überprüfen. Um selber eine Checksumme einer Datei zu erstellen benutzt man den Befehl
md5sum text.txt > md5sum.txt
dpkg -i paketname
lassen sich Pakete installieren. Für die Installation der Pakete muss man den Pfadnamen kennen. Wenn man den nicht kennt muss man folgendes machen.
mount /cdrom
find /cdrom -name "biff*"
Dann sollten man folgende Ausgabe sehen.
/cdrom/dists/potato/main/binary-i386/mail/biff_0.10-3.deb
dpkg -i /cdrom/dists/main/binary-i386/mail/biff_0.10-3.deb
Um ein das Paket wieder zu löschen muss man den Befehl dpkg -r biff
benutzen.
Um auch die Konfigurationsdateien bei der Entfernung zu löschen benutzt man den Befehl dpkg --purge biff
Was passiert bei der Installation eines Paketes?
Überprüfung von Konflikten: | Es wird überprüft ob Konflikte vorliegen wenn ja wird die Installation abgebrochen |
Vor der Entfernung/Aktualisierung | Es wird zunächst überprüft ob es sich um eine Aktualisierung oder Entfernung handelt. Je nachdem werden bestimmte Scripte zur Vorbereitung ausgeführt. Bei der Entfernung werden diese Scripte als prerm Scripte bezeichnet |
Vor der Installation | Es wird, falls vorhanden, zur Überprüfung aller Vorrausetzungen noch das sog. preinst Script ausgeführt. |
Auspacken des Paketes | Zur Installation wird das Paket mit ausgepackt. Weiterhin wird bei einer Aktualisierung das postrm Script ausgeführt mit dem nochmal die alte Version restlos vom System entfernt werden kann. | nach der Installation | Das Installierte Paket wird konfiguriert. Als letztes wird das System durch das postinst Scipt angepasst |
Informationen über Pakete einholen mit dpkg
Mit dpkg kann man sich alle installierten Pakete anzeigen lassen dazu verwendet man den Befehl dpkg --list
. Dann sollte man diese Ausgabe erhalten.
||/ Name Version Description +++-===========-===========-============================================ ii aalib1 1.2-25 ascii art library ii adduser 3.11.1 Add users and groups to the system. ii ae 962-26 Anthony's Editor -- a tiny full-screen ii alsa-base 0.4.1i-5 ALSA driver common filesDie 3 ersten Zeichen sagen geben einige Informationen über das Paket und zwar
Der Befehl dpkg --listfiles gimp
zeigt an wo die Dateien eines Paketes kopiert werden.
Wenn man wissen zu welchem Paket ein bestimmtes Programm gehört kann man das mit dpkg -S ls
machen
Mit dpkg kann man noch viel mehr machen die wichtigsten Optinen sind hier aufgelistet
-c | Listet alle Dateien auf die installiert würden |
-I | Liefert diverse Informationen über das Paket |
-e | extrahiert die Scripte die vor bzw. nach der Installation ausgeführt werden |
-x | entpackt das Paket |
-X | Wie bei -x es werden jedoch die extrahierten Dateien angezeigt |
Es ist möglich mit dpkg den Wunschstaus eines Paketes auszulesen.
Durch dpkg --get-selection > selections
wird der Wunschstaus aller Pakete in die Datei selection geschrieben.
Mit dpkg --set-selection < selections
kann wiederum die in der Datei selections gespeicherte Wunschstaus der Pakete wieder in die Paketdatenbank kopiert.
Die nächste Generation der Paketverwaltung stellt apt dar. Apt selektiert bzw. verwaltet die Pakete die danach von dpkg installiert werden. Apt bietet folgende Voteile
Konfiguration von Apt
Bei Apt muss zuerst das Installationsmedium bestimmt werden das geht sehr leicht mit
apt-setup
Um eine CDRom hinzufügen wird der Befehl apt-cdrom add
verwendet.
Um manuell eine Installationsquelle hinzuzufügen muss die Datei /etc/apt/sources.list
bearbeitet werden. Der Eintrag muss folgendermaßen aussehen Typ URI Distribution Abteilung
.
Pakete installieren mit apt-get Die Pakete werden apt-get installiert dazu muss man nur den Paketnamen kennen. Dazu wird einfach folgender Befehl verwendet.
apt-get install gimp
Damit wird das Binary Paket installiert. Bei eventuellen Abhängigkeiten wird gefragt ob die benötigten Pakete ebenfalls installiert werden sollen. Um die Quellen eines Paketes zu installieren wird der Befehl
apt-get source gimp
Damit man ein Paket auch ohne den genauen Pfad installieren kann wird der Paketname, sowie weitere Informationen, eines Paketes aus der Datei Packages.gz gelesen.
Manchmal ändern sich die Pakete der Installationsquelle dann muss die Paketdatenbank aktualisiert werden das geschieht mit
apt-get update
Die Daten über die Pakete wird dann aus der Packages.gz der entsprechenden Quelle gelesen.
apt-get upgrade
Aktualisiert sämtliche Pakete auf dem System
apt-get dist-upgrade
Aktualisiert die Pakete in einer bestimmten Reihenfolge und bewegt sich in engem Maße über die Abhängigkeiten hinaus. Wird dazu benutzt um die komplette Distribution zu wechseln.
Paketcache zu löschen wird folgendes eingegeben
apt-get clean
apt-get autoclean
Mit diesem Befehl werden alle Pakete aus dem Cache gelöscht dessen Quellen nicht mehr verfügbar sind.
Mit Paketinformationen arbeiten - apt-cache
apt-cache show gimp
Zeigt allgemeine Informationen über das Paket an.
apt-cache search gimp
Sucht die Paketdatenbank nach dem angegebenen Paket ab. Durchgesucht werden Namen und Beschreibungen der Pakete.
apt-cache search --names-only "gimp"
Sucht in der Datenbank nur nach dem Namen
apt-cache depends gimp
Zeigt die Abhängigkeiten des Paketes an.
apt-cache showpkg gimp
Gibt ausführlichere Informationen über die Abhängigkeiten
Apt bzw. dpkg stellen nur das System zur Installation dar. Es gibt aber auch eine Menge einfacher zu bedienender Oberfächen die auf dpkg bzw. apt aufbauen.
tasksel | Oberfläche zur Installation von Taskpaketen |
dselect | Standardoberfläche zur Installationen von Paketen |
Aptitude | Apt basierende Installationstool |
gnome-apt | Grafischer Apt Client |
console-apt | weiterer Apt Client |
Debian GNU/Linux - Grundlagen, Installation, Administration und Anwendung Peter H. Ganten