SelfLinux Systemverwaltung APT Howto Abschnitt 4 | SelfLinux-0.13.0

| APT Howto | Autoren Formatierung GFDL

#### 4 Sehr nützliche Helfer

#### 4.1 Installieren selbstkompilierter Pakete: equivs

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, weiss 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 dass es keine Probleme mit Abhängigkeiten gibt.

Bevor wir näher darauf eingehen, ist es wichtig, Sie darauf hinzuweisen, dass 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 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, dass mutt einen anderen MTA installieren möchte, obwohl Sie schon ihren selbstkompilierten MTA laufen haben.

Wechseln Sie in irgendein Verzeichnis (z. B. /tmp), und führen Sie folgendes aus:

root@linux # 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 muss das so angepasst werden, dass es tut, was wir wollen. Schauen 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, das 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 muss das Paket nur noch gebaut werden:

root@linux # 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 nun 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, dass es in /usr/share/doc/equivs/examples einige Beispiel-Kontrolldateien gibt. Werfen Sie mal einen Blick darauf.

#### 4.2 Entfernen von unbenutzten locale-Dateien: localepurge

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.

#### 4.3 Erfahren, welche Pakete aktualisiert werden können

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:

root@linux # 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