Nagios: NRPE Fehlermeldung ‚Return code of 127 is out of bounds – plugin may be missing‘

Problem: Nagios läuft lokal super, versucht man dann aber per NRPE einen remote Host zu Monitoren erhält man die Fehlermeldung: "Return code of 127 is out of bounds – plugin may be missing". Skurillerweise klappt das ganze, wenn man check_nrpe lokal aufruft; die Meldung kommt nur in der Web-Oberfläche.

Ursache: Bei mir lag das Problem daran, dass sich das NRPE-Plugin in einen anderes Verzeichnis installiert hatte als die übrigen (lokalen) Plugins. So Lagen die lokalen Plugins unter: "/usr/local/nagios/libexec/", das NRPE Plugin, aber unter: "/usr/lib/nagios/plugins/check_nrpe". Da ich das NRPE Plugin immer über den korrekten Pfad aufgerufen hatte, funktionierte dort auch alles.

Lösung: Man kann nun entweder:

    1. Den zusätzlichen Pfad in der: "/etc/nagios/resource.cfg" anpassen, sowie auch die $USER$ Variable in der Konfiguration des überwachten Hosts.

2. Einen Symlink auf den Pfad des NRPE Plugins legen

3. Das NRPE Plugin in das normale Plugin Verzeichnis verschieben (und dann evtl. noch symlink auf die "alte" Destination).

Ich entschied mich für die dritte Lösung, da so alle Plugins zusammen in einem Verzeichnis sind:

mv -v /usr/lib/nagios/plugins/check_nrpe /usr/local/nagios/libexec/
ln -s /usr/local/nagios/libexec/check_nrpe /usr/lib/nagios/plugins/check_nrpe

Doppelte IP-Adressen finden

In einem Netzwerk kommt es manchmal vor, dass mehrere Teilnehmer dieselbe IP-Adresse verwenden; dies kann sehr ärgerlich sein.

Unter Linux und mithilfe von MAC-Datenbanken gibt es zum Glück eine Möglichkeit den "Täter" zu finden. 😉

Unter einer Linux Konsole einfach:

arping -b $IP

ausführen und sehen, welche MAC-Adressen auftauchen.

Zu welchem Gerät diese dann gehört kann man im Internet herausfinden, z.B. unter: [http://www.coffer.com/mac_find/]

vi: Automatisches Einrücken verhindern

Fügt man Text mittels Copy/Paste in den vi ein, kann es zu einem sogenannten Treppeneffekt kommen, dass heisst der Text wird in jeder Zeile weiter eingerückt. Um dies zu verhindern, muss vor dem Einfügen das automatische Einrücken deaktiviert werden.

Das automatische Einrücken rückt die nächste Zeile so wie die vorhergehende automatisch ein. Dies ist normalerweise auch sehr nützlich, nur beim Einfügen von Text ist es störend.

Zuerst muss man sich im Kommandomodus befinden (dies erreicht man, indem man die Esc-Taste drückt) und danach mit dem Doppelpunkt in den ex Modus wechselt. Anschliessend lässt sich mit

set noai

das automatische Einrücken deaktivieren. Danach kann man den Text einfügen. Das automatische Einrücken wird nach dem Einfügen mit set ai im ex Modus wieder aktiviert.

Um das automatische Einrücken dauerhaft zu deaktivieren sind einieg Optionen in /etc/vimrc nötig:

" Switch off all auto-indenting
set nocindent
set nosmartindent
set noautoindent
set indentexpr=
filetype indent off
filetype plugin indent off

Quellen:

Der XHOST sendet kein Broadcast Signal aus

Wenn man Exceed aufruft wird ein neu installierter SLES(9) Server nicht in der Broadcast Liste angezeigt.
Um dies zu erreichen, muss die Datei: ‚/etc/opt/kde3/share/config/kdm/kdmrc‘ editiert- und

[Xdmcp]
 Enable=false

in

[Xdmcp]
 Enable=true

geändert werden.

Link: http://groups.google.ch/group/alt.os.linux.suse/browse_thread/thread/3c8fbc7d69c76e6f/c5bfe867c8d6dc26

Zu XDMCP gibt es auch Einträge in der SDB.

Weitere Lösungen, die zu diesem Problem führen könnten:

/etc/X11/xdm/xdm-config: Hier muss die Zeile:

DisplayManager.requestPort: 0

auskommentiert sein.

Weitere Dateien, die damit zusammenhängen:
-XAccess
-XServers
-xdm-config

Klassisch mounten statt subfs

den einen ist das automatische Mounten, wie es seit der SUSE Version 9.1 über submount/subfs standardmässig für Wechselmedien (Floppy, CD und DVD) sowie über Hotplug eingebundene Geräte, wie etwa USB-Sticks oder -Festplatten, unsympathisch bzw. die Funktionalität unerwünscht. Man würde deshalb gerne wieder auf die "klassische" Art des Mountens von Datenträgern umstellen.

Vorgehen
Für Floppy, CD- und DVD-Laufwerk lässt sich dies einfach durch Editieren der Datei /etc/fstab bewerkstelligen. Dazu ändert man die betreffenden Zeilen (hier am Beispiel von DVD und Floppy) einfach von

/dev/dvd     /media/dvd        subfs   fs=cdfss,ro,procuid,nosuid,nodev,exec,iocharset=utf8 0 0
/dev/fd0     /media/floppy     subfs   fs=floppyfss,procuid,nodev,nosuid,sync 0 0

in

/dev/dvd     /media/dvd        auto    ro,noauto,user,exec,iocharset=utf8    0 0
/dev/fd0     /media/floppy     auto    noauto,user,exec,sync                 0 0

Wichtig: Bitte zunächst eine Sicherheitskopie der originalen /etc/fstab erzeugen!

Für Datenträger wie USB-Sticks, die über den Hotplug-Mechanismus eingebunden werden ist die Sache noch einfacher. Zunächst zunächst ein YaST Online Update durchführen, damit das Paket hotplug aktualisiert wird. Anschliessend als root die Datei /etc/sysconfig/hotplug öffnen und die Variable HOTPLUG_USE_SUBFS von yes auf no stellen. Durch den folgenden Befehl startet man nun das hotplug-System neu, um die Änderung zu übernehmen:

rchotplug restart
Hotplug wird in diesen Fall nicht weiterhin dafür sorgen, dass unterhalb von /media entsprechende Verzeichnisse angelegt werden, wenn ein neuer Datenträger über Hotplug erkannt wird. Wenn noch kein Verzeichnis besteht, muss es manuell angelegt werden, zum Beispiel durch den folgenden Befehl:

mkdir /media/sda1
Das Mounten der Datenträger funktioniert wie gehabt über (beispielsweise)

mount /dev/sda1 /media/sda1

Quelle: http://de.opensuse.org/SDB:9.1:_klassisch_mounten_statt_subfs

sudo blockt nrpe „check_clamd“ und „check_smartmon“ (NRPE: Unable to read output)

Wenn man nrpe-commands über sudo laufen lassen muss, schlagen diese teilweise mit dem wenig sagenden Fehler „NRPE: Unable to read output“ fehl; so z.B. „check_clamd“ und „check_smartmon“ auf CentOS. – Und das obwohl lokal mit dem nrpe-user alles funktioniert!

Schuld ist der visudo-Parameter:

Defaults    requiretty

Dieser ist bei einigen Linux-Distributionen standardmässig deaktiviert-, bei CentOS (und wahrscheinlich auch RHEL) aber aktiviert.

Mit diesem Parameter laufen visudo Kommandos nur noch wenn ein Benutzer in der Shell eingeloggt ist, d.h. weder über cron, cgi, oder eben nrpe (siehe: http://www.courtesan.com/sudo/man/sudoers.html).

Das Problem lässt sich recht einfach beheben:

Zuerst ‚visudo‘ aufrufen und dann die Zeile: „Defaults requiretty“ einfach auskommentieren oder löschen.

Die bessere Alternative wäre eine spezielle sudo Konfiguration für den nrpe Benutzer.

Video CDs Erstellen

[stextbox id=“warning“ caption=“Achtung – Tote Seite“]Diese Seite wird nicht mehr aktualisiert und bleibt so wie sie ist;
__dadurch kann es sein, dass der Inhalt nicht mehr Zeitgemäss- und auch nicht richtig ist.
Weiter könnten diverse Rechtschreibfehler__ vorhanden sein.
Die Seite bleibt nur noch zu Referenz-Zwecken erhalten.[/stextbox]

__ Hast du keinen Platz mehr für deine Filme auf deiner Festplatte, oder möchtest du diese auch auf deinem DVD Player betrachten können? -Dann dürfte dich die VideoCD (kurz VCD) interessieren, die weitaus mehr möglichkeiten bietet als man annimmt; mit der richtigen Software lassen sich damit komplexe Menus erstellen, wie sie auch bei den "grossen" DVDs zu finden sind.
Die Bedienung dieser Programme ist jedoch oftmals am anfang ziemlich kompliziert, deswegen werden wir in diesem Tutorial schritt für schritt eine VideoCD mit komplexen Menus erstellen! __

Vorwort

Über die technischen Details von VideoCDs werden wir uns in diesem Workshop nicht befassen, da das verwendete Programm VideoPack von Roxio alle möglichen Formate automatisch umkonvertiert.
Für dieses -zugegebenermassen sehr teure- Programm habe ich mich entschieden, da es sich doch deutlich von den Freeware Tools abhebt, wobei auch das nicht ganz selbst erklärendem ist -Besonders beim setzten von Kapitelmarken und beim erstellen der Menu Strukturen hatte ich _einige_ Hilfe nötig! -Wer noch mehr über die technischen Spezifikationen der VCD, oder alternative Tools wissen möchte, findet alles dazu unter www.vcdhelp.com.

Benötigtes Material

Als erstes müssen wir nun das Material, das wir zum erstellen brauchen zusammensuchen, dies kopierst du am besten alles in ein Verzeichnis.
Da wir das Programm so fest wie möglich ausreizen wollen, solltest du auch alle beschriebenen Daten verwenden, auch wenn du z.B. nicht unbedingt Hintergrundsound bei den Menus benötigst…
Also, bereit, kühles Bierchen vor dem PC? Genügend Zeit und Lust? Dann kann’s jetzt los gehen!

Erstmal brauchen wir folgendes Material:

  • Hintergrundbild (fürs Menu)
  • Tip: Um das ganze einfacher zu machen verwendest du am besten erstmal das Hintergrundbild, dass ich verwendet habe; spielt ja für den ersten versuch nicht so ne rolle… 😉
  • Sounddatei im MP3 oder WAV Format (Hintergrundsound im Menu)
  • Kleine MPEG oder AVI Video Datei (Beispielsweise ein Trailer)
  • Der Film als MPEG/AVI Video Datei

In unserem Beispiel nehmen wir den Film Titanic, der ja wohl jeder kennt und den man auch mal mit der Freundin schauen kann… 😉
Zuerst starten wir mal VideoPack und wählen dann VCD aus. Links oben wählst du dann dein Daten Verzeichnis aus, bei mir ist das: M:moviestitanic (1) Du siehst nun in der rechten oberen spalte alle Videos und Sounddateien; da wir ganz am Anfang anfangen, nimmst du jetzt mal das Hintergrundbild deines Menus und ziehst dieses in die untere linke spalte. (2) Klicke nun auf den Button Diashow (3) rechts und zieh deine Hintergrund Datei in das rechte untere Feld runter. (4)

Das folgende Bild demonstriert die obigen schritte:
{14}

Nun nimmst du zuerst die Trailer Video Datei und ziehst links runter, so dass sie hierarchisch unter dem Hintergrund Bild liegt; dasselbe tust du nun auch für deine Hauptvideo Datei. (Durch links/rechts verschieben unterhalb des Hintergrundbildes kannst du die Hierarchie ändern).

Das ganze sollte nun etwa so aussehen:
{15}

Nun setzen wir die Kapitelmarken (=direkt anspringbare szenen), dazu müssen wir in VideoPack für jede Kapitelmarke eine Kopie anfertigen (keine angst, VideoPack wird schlussendlich nicht mehr Speicherplatz dafür brauchen!)
Für das anfertigen einer Kopie klicken wir nun die Datei oberhalb des Filmes an (1) und wählen dann in der Menuleiste ganz oben den blauen Button Neues Element (2). -Diesen Schritt wiederholst du jetzt für jede Kapitelmarke, die du möchtet, wir wollen 3 in unserem Beispiel.
Klicke nun auf das Hauptvideo (3) und danach machst du einen rechtsklick auf das erste weisse Feld (4) (Die anderen Felder lassen wir noch weiss sein), dort wählst du aus dem Kontextmenu Inhalt des ausgewählten Elements kopieren (5).

Diese schritte sind wiederum in der unteren Grafik dokumentiert:
{16}

Nun klickst du die Kopie des Films an (1) und schiebst dann den regler unten rechts (2) an die stelle, an der du die Kapitelmarke haben willst, klickst die Szene an (3), zu der du springen willst und wählst oben in der Menuleiste den Button Einsprungstelle hinzufügen (4).
Es erscheint nun in der nähe der Szene ein blauer kleiner Pfeil, disen kannst du dann mit der Maus nun noch genau positionieren. -Die erste Kapitelmarke ist nun gesetzt und nun wiederholst du die obigen schritte für alle weissen Felder, bis du schlussendlich alle Marken gesetzt hast (Achtung: Achte dabei darauf, dass du immer wieder eine neue Kopie pro Kapitelmarke setzt, sonst wird die alte Kapitelmarke überschrieben und es gibt ein durcheinander!)

Zur Illustration wieder mal ne Grafik der obigen Schritte:
{17}

Nun haben wir’s fast geschafft, es fehlt nur noch das Menu, dieses werden wir jetzt aber gleich erstellen:
Klicke nun wieder das Hintergrundbild links ganz oben an (1) und danach klickst du den Button Button-Editor (2) rechts oben an; du siehst nun 4 graue Balken, die die Buttons symbolisch darstellen. (3)
Achtung: Lasse dich von den grauen Balken nicht verwirren, die werden nicht zwingend angezeigt!
Du hast nun mehrere wahlen, du kannst den Button entweder:

Gar nicht darstellen (z.B., wenn du das Hintergrundbild schon vorher in einem Grafikprogram mit Buttons bestückt hast)
Ein aufgehellter, oder abgedunkelter Balken darstellen (standard)
Eine Vorschau der szene anzeigen (Szene läuft kurze Zeit ab)
Ein Standbild der Szene anzeigen

Um die gewünschte Art auszuwählen, klicke einfach auf den kleinen blauen Pfeil neben der Schaltfläche und wähle im Kontextmenu die entsprechende Darstellung aus. (4)

Das Bild dazu:
{18}

Wir werden nun einfach alles ein wenig ausprobieren, damit du siehst, was alles möglich ist, schlussendlich musst du dich für deine ideale Darstellung entscheiden.

Zurück zu unserem Beispiel, wir wollen, dass:

Beim "klick" auf das Titanic-Logo (ganz unten rechts im Bild) der Trailer startet
Beim "klick" unten rechts Der Film von Anfang an startet (Ein Schriftzug START soll dies signalisieren)
In der mitte jeweils die Szenen als Vorschau angezeigt werden

Hier nun die schritte für jeden Button:

    1. Wir ziehen den ersten grauen Balken zum Logo runter und den Balken mit der maus am ecken auf die grösse des Logos, klicken dann auf den kleinen Pfeil und wählen abdunkeln. (Die Zahl kann man übrigens mit einem klick auf (1) ein- und aus schalten)

2. Wir nehmen den zweiten Balken und schieben ihn in die Untere Linke ecke, dann klicken wir auf den Pfeil und wählen Nicht darstellen. -Nun klicken wir irgendwo ins leere und ziehen mit der Maus einen länglichen Balken, im darauffolgenden Dialog wählen wir Text; als Text geben wir nun "[2] START" ein, klicken auf OK und zeihen dann den Text in die untere linke ecke.

3. Nun nehmen wir die restlichen 3 Balken und zeihen diese alle auf eine gleiche quadratische grösse, diese Verteilen wir dann in der mitte gleichmässig.
Nun klicken wir überall auf den Pfeil und wählen entweder Standbild, oder Vorschau.

Schlussendlich sollte das ganze dann etwa so aussehen:
{19}

So, nun müssen wir nur noch festlegen, was passiert, wenn man während des Films oder im Menu auf die VORWÄRTRS/RÜCKWÄRTS-, die PLAY-, oder die MENU-Taste drückt.
Dies hat mich anfangs zum verzweifeln gebracht, ist aber ganz easy, wenn man weiss wie… 😉

Es gibt dafür die 4 Symbole:

Die bedeuten der Reihenfolge nach: VORWÄRTS, RÜCKWÄRTS, RETURN (Menu-Taste), PLAY und AUTOMATISCH -Letzteres wird eingesetzt, wenn man z.B. automatisch nach ablauf des ersten Videos ins zweite springen will, oder auch, wenn man eine sog. "Enlosschleife" machen will; dies wird besonders beim Menu verwendet, da dieses ansonsten nach kurzer Zeit wieder verschwinden würde.

Wenn du jeweils mit der rechten Maustaste auf so ein Symbol (neben eines Films (1)) klickst, werden dir alle obigen angezeigt, zu beachten ist, dass jeweils nur eine Verbindungsart für alle Filme angezeigt wird! Das heisst, du solltest zuerst alle automatischen Verbindungen, dann alle Vorwärts, dann alle Rückwärts, usw. erstellen!
Die Verbindungen sind zwar alle da, aber man sieht jeweils nur eine, was der Übersichtlichkeit helfen soll. (Das war ein Punkt, an dem ich sehr lange brauchte, um das zu begreifen!)
Ok, wir wollen nun also noch folgendes tun:

Zuerst erscheint das Menu; dies erscheint so lange, bis man einen Menupunkt ausgewählt hat
Wenn der Trailer zuende ist, wird automatisch wieder zum Menu zurückgekehrt
In jeder Szene kann man eine Vor- und eine rückwärts springen, mit drücken der MENU Taste wird wieder zum Menu zurückgekehrt
Durch drücken von PLAY im Menu startet der Film

Dies realisieren wir so:

    1. Klicke das erste Symbol mit links an und zieh eine Linie in die gleiche szene; so entsteht eine endlosschleife.

2. Klicke nun wieder zuoberst rechts auf das Symbol und wähle das zweite (vorwärts springen) aus, ziehe nun jeweils wieder von der obersten bis zur untersten Filmszene eine Linie und mache dasselbe dann umgekehrt, d.h. von unten nach oben mit der rückwärts Taste.

3. Nun wählst du wie oben die 3. Verbindung, nämlich RETURN, oder auch Menu, dann gehst du zu jeder Filmszene und ziehst jeweils eine Linie zum Menu rauf.

4. Nun noch die selbe Prozedur wie oben mit der PLAY Verbindung, also Verbindung auswählen, zum Menu und eine Linie bis zur ersten Filmszene erstellen.

Schlussendlich sollte das ganze dann etwa so aussehen:
{20}

So, nun noch mal alles kontrollieren, danach kannst du endlich auf Schreiben klicken und solltest nun noch unbedingt ein "Disc-Image" anfertigen! -Denn dann kannst du die fertige CD betrachten, ohne sie gebrannt zu haben, denn: Die meisten Schönheitsfehler bemerkt man erst beim anschauen!

Also noch unsere letzten schritte:

Unter dem Menupunkt Schreiben, Disc-Image wählen Achtung: Das schreiben kann wegen dem umkonvertieren einige stunden dauern! -Diese Zeit wird aber nacher beim brennen der CD dafür _nicht_ mehr benötigt!
Im Startmenu unter der VideoPack Programmgruppe Lade CD-Emulator wählen und die das CD-Image Laden
Den Roxio VideoCD Player, oder einen beliebigen DVD Player starten und die CD testen

Fall du noch fragen haben solltest, maile mir bitte, du kannst mir so helfen dieses Tutorial ständig zu verbessern!

Eigenes Debian Repository erstellen

__ Debian ist ein geniales Betriebssystem; der Paketmanager apt ist einer der besten. Und doch hat Debian einen entscheidenden Nachteil: Die Pakete sind meist hoffnungslos veraltet.
Für die "wichtigsten" Pakete wie php, mysql, usw. bei denen man häufig updates benötigt stehen sog. "backports" zur Verfügung, das bekannteste ist etwa dotdeb.org.

Was aber, wenn man eine aktuelle Version eines anderen Pakets benötigt, z.B. Nagios oder Ganglia? -Zwar könnte man diese auch selber kompilieren, allerdings können sie dann erstens nicht mehr über den Paketmanager upgedatet werden und zweitens ist auch eine Deinstallation meist sehr schwierig.

Die Lösung ist es ein eigenes, lokales Debian Repository aufzubauen, dass man dann in die sources.list aufnehmen kann. Dort kann man dann die selbst erstellen Debian Pakate rein legen.

In diesem Workshop werden wir diese Schritte im Beispiel von Ganglia durchgehen.. __

Anforderungen

Folgendes brauchen wir für den Workshop:

  • Ein Linux-System
  • Installierte kompilier-Umgebung (gcc, g++, make,…)
  • checkinstall – Ein Tool um automatisiert Debian Pakete zu erstellen
  • Source (.tgz) des Programms, das man installieren möchte; in diesem falle Ganglia
  • dpkg-dev – Tools um Debian Pakete zu erstellen

Debian Paket erstellen

Als erstes installieren wir checkinstall:

wget <a href="http://asic-linux.com.mx/~izto/checkinstall/files/deb/checkinstall_1.6.1-1_i386.deb" target="blank">http://asic-linux.com.mx/~izto/checkinstall/files/deb/checkinstall_1.6.1-1_i386.deb</a>
dpkg -i checkinstall_1.6.1-1_i386.deb

Nun bereiten wir die zu installierende Software (hier Ganglia) vor; es werden alle Schritte wie sie zum kompilieren nötig sind ausgeführt, ausser den letzen ("make install") – Diesen muss man lediglich mit "checkinstall" ersetzen um das Paket zu erstellen.

 wget <a href="http://downloads.sourceforge.net/ganglia/ganglia-3.0.6.tar.gz?modtime=1197841793&big_mirror=0" target="blank">http://downloads.sourceforge.net/ganglia/ganglia-3.0.6.tar.gz?modtime=1197841793&big_mirror=0</a>
tar -xvzf ganglia-3.0.6.tar.gz
cd ganglia-3.0.6
./configure
make

Nun haben wir die kompilierten Dateien, es wurde aber noch nichts installiert. Dies ist auch gut so, denn nun kommt checkinstall zum Einsatz. Checkinstall ruft "make install" auf, fängt dabei die Schritte die hier gemacht würden ab und erstellt damit ein Debian Paket.
[stextbox id=“note“ caption=“Hinweis“]Bei Debian Paketen sollte zusätzlich der Parameter "–review-control" mitgegeben werden, um später die Abhängigkeiten festlegen zu können;
ansonsten würde nur die Software installiert ohne ggf. andere dazu benötigte Programme (Im Fall von Ganglia z.B. das RRDTool).

checkinstall --review-control make install

[/stextbox]

Danach kann man noch einige Angaben zum Paket machen wie z.B. eine Beschreibung. -Falls das Paket (in einer älteren Version) im offiziellen Debian repository enthalten ist am besten die originale übernehmen. Infos zum jeweiligen Debian Paket kann man unter: http://packages.debian.org/ nach schauen.

Am Schluss wird dann noch das sog. Controlfile aufgerufen. Dies ist eine spezielle Datei in der man die Angaben zum Paket wie Name, Abhängigkeiten, Empfehlungen, usw. bearbeiten kann.
Am wichtigsten sind hier die Abhängigkeiten (Depends). Diese findet man, wenn man unter http://packages.debian.org/ das jeweilige Paket sucht.
Diese sollte man nun so wie Sie auf der Seite stehen übernehmen, inklusive der runden Klammern.

Ein Beispiel für das Controlfile von Ganglia:
(Paketbeschreibung unter: http://packages.debian.org/stable/gmetad?lang=en )

Package: ganglia
Priority: extra
Section: checkinstall
Installed-Size: 1132
Maintainer: meine@email-adresse.tld
Architecture: i386
Version: 3.0.6-1
Depends: adduser, libart-2.0-2, libc6, libc6.1, librrd2
Suggests: ganglia-monitor, ganglia-webfrontend
Description: Ganglia is a scalable, real-time cluster monitoring environment with that collects cluster statistics in an open well-defined XML format.
 This package contains the 'gmetad', which collects information from ganglia monitor clients, and writes them to RRD databases.

[stextbox id=“note“ caption=“Hinweis“]In den eckigen Klammern steht die Architektur;
normalerweise braucht man nur die Pakete einzubinden auf dessen Architektur man sie installieren möchte;
in den meisten Fällen also i386, bzw. ia64.[/stextbox]

Wenn wir alles angepasst haben speichern und schliessen wir die Datei.

So, nun haben wir in dem Verzeichnis ein .deb File, dass wir nun mit: "dpkg -i ganglia.deb" bereits installieren könnten.

Wir wollen aber noch einen Schritt weiter gehen und gleich ein lokales repository einrichten, so dass wir ab nun die selbst erstellten Pakete ganz einfach mittels "apt-get NAME" installieren und updaten können.

{209:left} !Debian repository Erstellen
Hierzu müssen wir noch zuerst die dpkg-dev Tools installieren:

apt-get install dpkg-dev

Nun können wir die Verzeichnisstruktur anlegen. Die sieht bei i386 Systemen so aus:

dists/etch/main/binary-i386/

Eine genaue Beschreibung wie eine Debian Repository aussehen muss findet sich im Debian repository-howto ; hier werden deshalb nur auf die nötigsten Schritte eingegangen.

Diese erstellen wir nun:

mkdir -p /repo/dists/etch/main/binary-i386/

Hier kopieren wir nun das .deb File hin:

cp -pv ganglia_3.0.6-1_i386.deb /repo/dists/etch/main/binary-i386/

Nun wechseln wir in dieses Verzeichnis und erstellen mit dem tool "dpkg-scanpackages" die Index Datei für den packetmanager:

cd /repo/dists/etch/main/binary-i386/
dpkg-scanpackages /repo/dists/etch/main/binary-i386/ /dev/null | gzip -9c > /repo/dists/etch/main/binary-i386/Packages.gz

Diese Datei hat genau den gleichen Aufbau wie die das Controlfile plus evtl. noch einige weitere Angaben, wie z.B. wo sich das deb-file befindet.

Diese kontrollieren und ergänzen wir nun ggf.:

vi /repo/dists/etch/main/binary-i386/Packages.gz

Für Ganglia sieht dies z.B. so aus:

Package: ganglia
Priority: extra
Section: checkinstall
Installed-Size: 1132
Maintainer: meine@email-adresse.tld
Architecture: i386
Version: 3.0.6-1
Depends: adduser, libart-2.0-2 (>= 2.3.16), libc6 (>= 2.3.5-1), librrd2
Suggests: ganglia-monitor, ganglia-webfrontend
Description: Ganglia is a scalable, real-time cluster monitoring environment with that collects cluster statistics in an open well-defined XML format.
 This package contains the 'gmetad', which collects information from ganglia monitor clients, and writes them to RRD databases.
Filename: dists/etch/main/binary-i386/ganglia_3.0.6-1_i386.deb

Repository aufnehmen

Nun muss man eigentlich das Repository nur noch in die /etc/apt/sources.list eintragen:

echo "deb file:///repo/ etch main" >> /etc/apt/sources.list

Ab jetzt kann man die aktuelle Software ganz einfach mittels:

apt-get install NAME

installieren.

Related Links

|| Link | Beschreibung
[http://www.linux-user.de/ausgabe/2006/07/047-checkinstall/index.html|Linux-User Beitrag 07/2006] | Dieser Beitrag erklärt die Bedienung von checkinstall.
[http://linuxwiki.de/CheckInstall|Tips&Tricks zu Checkinstall] | Kleine Tips-Seite auf linuxwiki.de
[http://www.debian.org/doc/debian-policy/ch-relationships.html|Debian Packaging Manual] | Informationen über das Erstellen von Debian Paketen
[http://www.debian.org/doc/manuals/repository-howto/repository-howto.de.html|Debian repository-howto] | Eine detaillierte Anleitung wie man Debian repositorys erstellt
[http://www.apt-get.org/|apt-get.org] | Beispiele von "echten" Debian repositorys
||

Related Downloads

|| File | Beschreibung
[http://asic-linux.com.mx/~izto/checkinstall/|CheckInstall] | Ein Programm um automatisch Debian und RPM-Pakete zu erstellen. Sehr nützlich!
||