Eine Kurzeinführung in Encap
Was ist Encap?
Encap ist ein Package Management System, welches durch symbolische Links ermöglicht, jedes Package in ein eigenes Verzeichnis zu installieren, dennoch alles in /usr/local verfügbar zu haben. Daher ist es zum Beispiel möglich, seine kompilierte Software zu "tracken", da der Administrator Bescheid weiß, wovon jeder einzelne Symlink aus /usr/local kommt. Desweiteren ermöglicht Encap das simple Deinstallieren sowie Upgraden von Software.
Wie funktioniert Encap?
Die Dateien jedes einzelnen installierten "Encaps" befinden sich normalerweise in /usr/local/encap. Angenommen, Sie installieren die Terminal-Emulation rxvt, so finden Sie zunächst die entsprechenden Dateien in /usr/local/encap/rxvt-Versionsnummer/* vor. Nachdem die Dateien installiert sind, erstellt epkg (der Encap Package Manager) die entsprechenden Symlinks, also beispielsweise:
/usr/local/bin/rxvt -> /usr/local/encap/rxvt-Versionsnummer/bin/rxvt
Die Installation
Die Installation gestaltet sich sehr einfach. Sie haben die Wahl, entweder den Sourcecode zu kompilieren (der gewohnte Dreierschritt: ./configure && make && make install genügt) oder die für ihr System passenden Binaries herunterzuladen: www.encap.org/epkg.
Das praktische Arbeiten mit Encap
Bei Software, die GNU autoconf benutzt, genügt einfach
./configure --prefix=/usr/local/encap/packagename
um das Programm (nach make && make install) ins richtige Verzeichnis zu befördern. Falls die Software kein autoconf verwendet, muß die Destination im Makefile von Hand editiert werden. Anschließend wechseln Sie zu /usr/local, wo Sie die Symlinks mit
epkg packagename
erstellen lassen können.
Wollen Sie ein Package deinstallieren, so genügt ein
epkg -r packagename
Das verbose-Kommando -v(vv) macht epkg während seiner Arbeit geschwätziger. Gesetzt den Fall, daß Sie ein "fertiges", mit gzip/bzip2 komprimiertes, encap installieren wollen, genügt ein
epkg /pfadzumencap/packagename
und epkg dekomprimiert das Package und installiert es ins Encap Source Directory (sprich /usr/local/encap). Sie können jederzeit überprüfen, ob alle Symlinks "sauber" bestehen:
epkg -c
FTP-Updates
Es wären sogar (bei mehr vorhandenen Quellen) FTP-Updates möglich. Dazu müßte einfach die Environment-Variable
ENCAP_UPDATEDIR=ftp://ftp.hostname.xx/pfad
gesetzt werden und epkg würde alle Packages mit folgendem Kommando upgraden:
epkg -u
Wenn nur eine bestimmte Software upgegradet werden soll, dann genügt ein
epkg -u pkgname
Das Erstellen von Encap-Packages
Um ein encap zu erstellen, müssen Sie nach der Installation der Software nach /usr/local/encap/pkgname in das Encap Source-Directory wechseln. Das Encap wird anschließend mit "mkencap" erstellt. Dabei sei auf "man mkencap" für die einzelnen Parameter verwiesen. Mit "-t pkgname.tar.bz2" kann beispielsweise das fertige encap mit tar/bz2 komprimiert werden. Natürlich können auch Prä/Post Skripts mit einbezogen werden. Hierzu kann eine der folgenden Dateien ins Package-Verzeichnis eingefügt werden:
- preinstall - Ausgeführt vor der Installation
- postinstall - Ausgeführt nach der Installation
- preremove - Ausgeführt vor der Deinstallation
- postremove - Ausgeführt nach der Deinstallation
Zuletzt sei noch darauf hingewiesen, daß die Möglichkeit besteht, auch aus Perl-Modulen Encaps zu erstellen. Das dazu benötigte Tool ist plattformunabhängig und unter http://meow.raye.com/cpanencap/ zu finden. Weitere Informationen zu Encap können auf www.encap.org nachgelesen werden.