Manchmal will man spezielle Versionen eines Programms benutzen, die nur als Quellcode verfügbar sind und nicht als Debian-Paket. Hier kann es allerdings Probleme mit dem Paket-System geben. Angenommen Sie wollen eine neue Version Ihres Mailservers kompilieren und alles klappt, aber viele Pakete in Debian hängen von einem MTA (Mail Transfer Agent) ab. Da etwas installiert wurde, was Sie selbst kompiliert haben, weiß das Paketsystem darüber nicht Bescheid.
Hier kommt das equivs
ins Spiel. Um es zu benutzen, installieren
Sie das Paket mit diesem Namen. Es erstellt ein leeres Paket, das die
Abhängigkeiten erfüllt und dem Paketsystem mitteilt, so daß es keine Probleme
mit Abhängigkeiten gibt.
Bevor wir näher darauf eingehen, ist es wichtig, Sie darauf hinzuweisen, daß es sicherere Möglichkeiten gibt, Programme, für die in Debian schon Pakete existieren, mit anderen Optionen zu kompilieren und man equivs nicht benutzen sollte, um Abhängigkeiten zu entfernen, ohne genau zu wissen, was man tut. Siehe Das Arbeiten mit Quellpaketen, Kapitel 7 für nähere Informationen.
Lassen Sie uns mit dem MTA-Beispiel fortfahren. Sie haben also gerade Ihren
frisch kompilierten postfix
installiert und wollen nun
mutt
(ein Mailprogramm) installieren. Plötzlich stellen Sie fest,
daß mutt
einen anderen MTA installieren möchte, obwohl Sie schon
Ihren selbstkompilierten laufen haben.
Wechseln Sie in irgendein Verzeichnis (z.B. /tmp
), und führen Sie
folgendes aus:
# equivs-control name
Ersetzen Sie name durch den Namen der Kontrolldatei, die Sie erstellen wollen. Die Datei wird wie folgt erstellt:
Section: misc Priority: optional Standards-Version: 3.0.1 Package: <Paketname; wenn nicht angegeben: equivs-dummy> Version: <Versionsnummer; wenn nicht angegeben: 1.0> Maintainer: <Ihr Name mit Emailadresse; wenn nicht angegeben: Benutzername > Pre-Depends: <Pakete> Depends: <Pakete> Recommends: <Pakete> Suggests: <Pakete> Provides: <(virtuelles) Paket> Architecture: all Copyright: <copyright Datei; normalerweise GPL2> Changelog: <changelog file; normalerweise ein generisches Changelog> Readme: <README.Debian file; wenn nicht angegeben, ebenfalls ein generisches> Extra-Files: <Zusätzliche Dateien für das doc-Verzeichnis, kommasepariert> Description: <kurze Beschreibung; Standard ist "some wise words"> Lange Beschreibung und Info . Zweiter Paragraph
Nun muß das so angepaßt werden, daß es tut, was wir wollen. Gucken Sie sich die Felder und ihre Beschreibungen an, es ist nicht nötig, jedes einzelne hier zu erklären, lassen Sie uns das Nötigste tun:
Section: misc Priority: optional Standards-Version: 3.0.1 Package: mta-local Provides: mail-transport-agent
Das war es schon. mutt
hängt von
mail-transport-agent
ab, was ein virtuelles Paket ist, was alle
MTAs liefern. Ich hätte das Paket einfach mail-transport-agent
nennen können, aber ich bevorzugte das Schema für virtuelle Pakete, welches das
Feld "Provides" benutzt.
Nun muß das Paket nur noch gebaut werden:
# equivs-build name dh_testdir touch build-stamp dh_testdir dh_testroot dh_clean -k # Add here commands to install the package into debian/tmp. touch install-stamp dh_testdir dh_testroot dh_installdocs dh_installchangelogs dh_compress dh_fixperms dh_installdeb dh_gencontrol dh_md5sums dh_builddeb dpkg-deb: building package `name' in `../name_1.0_all.deb'. The package has been created. Attention, the package has been created in the current directory,
Und installieren Sie das erzeugte .deb.
Wie man unschwer erkennen kann, gibt es verschiedene Anwendungen für
equivs
. Man könnte sogar ein Favoriten-Paket
erstellen, was von den Paketen abhängt, die Sie normalerweise installieren.
Lassen Sie Ihren Vorstellungen einfach freien Lauf, aber seien Sie vorsichtig.
Es ist wichtig zu erwähnen, daß es in
/usr/share/doc/equivs/examples
einige Beispiel-Kontrolldateien
gibt. Werfen Sie mal einen Blick darauf.
Viele Debian-Benutzer verwenden nur ein locale (Spracheinstellung). Ein brasilianischer Debian-Benutzer benutzt z.B. vermutlich immer das brasilianische pt_BR-locale und interessiert sich nicht für das spanische es-locale.
localepurge
ist ein sehr nützliches Werkzeug für diese Art von
Benutzern. Sie können eine Menge Festplattenplatz sparen, wenn Sie nur die
locales installiert haben, die Sie auch wirklich brauchen. Installieren Sie
einfach apt-get install localepurge.
Es ist wirklich einfach zu konfigurieren, Debconf-Fragen führen den Benutzer Schritt für Schritt durch die Konfiguration. Seien Sie vorsichtig beim Beantworten der ersten Frage, da falsche Antworten alle locales entfernen können - selbst die, die Sie benutzen. Die einzige Möglichkeit, sie wiederherzustellen, ist, alle Pakete neu zu installieren, die sie enthalten.
apt-show-versions
ist ein Programm, das zeigt, welche Pakete im
System aktualisiert werden können und andere hilfreiche Informationen bietet.
Die Option -u zeigt eine Liste der Pakete, die aktualisiert werden
können:
$ apt-show-versions -u libeel0/unstable upgradeable from 1.0.2-5 to 1.0.2-7 libeel-data/unstable upgradeable from 1.0.2-5 to 1.0.2-7
APT HOWTO
1.8.4 - April 2003kov@debian.org
netzwurm@debian.org