pretecs Weblog

01.12.2004

Filed under: pretecs blog — pretec @ 03:42

Nach einem netten Frühstück im Kreise der anderen Lehrgangsteilnehmer, ging es am Montag gegen 9:00 Uhr mit der Debian-Druckbetankung los. Aufgabenstellung war ein Fedora durch ein Debian zu ersetzen und dabei mittels debootstrap das Debian neben das bestehende laufende System zu installieren.

Anhand der Aufgabe wurde jede Menge über die Versionen, den allgemeinen Aufbau von Debian, Paketmanagement (sowohl dpkg als auch rpm) und allen möglichen Themen rings um Linuxinstallation erklärt. Zwischen 13:00 und 14:00 Uhr gabs Mittag, danach ging die Schulung bis 18:00 Uhr weiter.

Als Social Event am Abend war der Besuch der Kokerei Zollverein angesagt. Da aber die meisten der Leute schonmal hier auf Lehrgang waren, sind wir nur zu zweit hingefahren und haben dem Guide (ich will wirklich nicht “Führer” schreiben) gelauscht.
Die Anlage war in rotes Licht getaucht, was in Verbindung mit der restlichen Finsternis ringsrum, eher den Anschein einer verlassenen Mondbasis als eines Industrie-Denkmals erweckte. Auch die irgendwie bizarr anmutene Stille hat ihr übriges zu der Atmosphäre beigetragen. Wenn ich den Guide richtig verstanden habe, sind alle 90 Sekunden ca. 21 Tonnen Koks aus einem Ofen geschoben worden.

Wenn einer eine Reise tut,

Filed under: pretecs blog — pretec @ 03:21

dann kann er programmieren….

Diese Woche bin ich auf Lehrgang im Linuxhotel Essen. Also habe ich mich am Sonntag abend gegen 17:00 Uhr in den ICE in Richtung Essen gesetzt und erstmal die Augen für etwa ein Viertelstunde zugemacht. Ich wurde von einem Typen geweckt, der sich neben mich auf den freien Sitz setzen wollte. Also hab ich ihn hinsetzen lassen und wieder die Linsen zugemacht. Allerdings konnte oder wollte ich nun nicht mehr so richtig einschlafen und hab die Linsen wieder aufgemacht. Und zu meinem Erstaunen hatte mein Sitznachbar ein 12″ Powerbook vor sich stehen :-). Als er mein Grinsen bemerkt hatte und mich fragend ansah, hab ich dann nur mein Powerbook aus dem Rucksack gezogen. Also hab ich ihn erstmal mit meinen MacOS X Fragen bombardiert, die er auch versuchte zu beantworten. Allerdings ist er ein typischer Mac-User gewesen: “Ich will nicht wissen, warum es funktioniert”, dem zufolge konnte er mir nicht so richtig weiter helfen. Aber trotzdem ein netter Plausch gewesen.

Wo ich nun mal wach war, einen Rechner zur Hand hatte und auch noch Zeit, hab ich angefangen an einem Ping-Monitor-Skript zu basteln. Das hatte ich im Büro schon mal angefangen und wollte nun weiter dran rumfrickeln.

Das Skript sieht (vereinfacht) so aus:

—-

SERVERLISTE="localhost nocheinhost"
for server in $SERVERLISTE;
do
if `ping -c1 localhost`;
then echo "OK $server" ;
else echo "MOEP $server";
fi;
done;

Beim Ausführen des Skriptes semmelte es mit folgender Fehlermeldung weg:

dests-Computer:~ dest$ ./ping_monitor.sh
usage: ping [-Rdfnqrv] [-c count] [-i wait] [-l preload]
[-p pattern] [-s packetsize] host
NICHT OK localhost
dests-Computer:~ dest$

Hmm. Was an dem Ping-Aufruf kann denn da madig sein? Nach dem ich bestimmt eine halbe Stunde gegrübelt und die wildesten Dinge probiert habe, ist mir die Lösung ein- oder besser aufgefallen :

Der Output eines normales Pings sieht so aus:
——

dests-Computer:~ dest$ ping -c1 localhost
PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.171 ms
--- localhost ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 0.171/0.171/0.171 ms
dests-Computer:~ dest$

——

Der Befehl `ping -c1 localhost` wird durch seine Ausgabe auf stdout substituiert. Also durch “PING localhost (127.0.0.1): 56 data bytes” und so weiter. Auf einer Linux-Box würde sofort die folgende Fehlermeldung auftauchen:

——

admin@gate:~# if `ping -c1 localhost`; then echo "JA"; else echo "NEIN";fi;
-bash: PING: command not found
NEIN
admin@gate:~#

——

Tatsächlich hatte ich den Fehler bereits beim ersten Schreiben des Skriptes gemacht, aber
schlagartig an der Fehlermeldung erkannt, dass der Output des pings nach /dev/null gehört und ich nur den Return-Value auswerten will.

MacOS X ist aber per default _nicht_ case-sensitive, was in meinem Fall dazu führte, dass das MacOS den Befehl “PING localhost (127.0.0.1): 56 data bytes” ausführen wollte. Daher kam die Fehlermeldung mit den falschen Ping-Parametern. Tja, so kann man eine Zugreise auch rumbringen :-)

Powered by WordPress