Montag, 30. Januar 2012

Wie ich arbeite...

Angeregt durch den Heldenfeed, hier meine Liste der Software-Werkzeuge mit denen ich meinen Job meistere:

Editor: Emacs 23
Schnell&Einfach Editor: vi oder ed (letzteren gerne auch verscripted)
Shell: ksh93 - Davids Shell im vi Mode ist einfach super smart
Browser: Firefox
Mail-Client: gnus.el in Emacs, Outlook im Citrix (leider)
Aufgaben-Verwaltung: org-mode...im Emacs ;)
Allzweck-Waffe: Emacs ,) (mit tramp-mode in Verbindung mit ediff-directories ergeben sich irre Möglichkeiten - recursive diff von Property-Files auf verschiedenen Systemen...)
Versionsverwaltung: subversion, mercurial
Compiler: Sun Studio 11/12, selten gcc
Datenbank: PostgreSQL
OS: Solaris
Performance-Datensammlung: Home-grown psql+sar+ksh+CGI -> LoadDB

Bei mir zuhause sieht es nicht viel anders aus - ausser das es noch einen Mac gibt mit dem das ein oder andere Urlaubsvideo geschnitten wird.
Und auf meinem Server läuft ein
OS: OpenIndiana
WebServer: Apache 2.2
CMS: Magnolia
Mail: Dovecot/sendmail

Mittwoch, 10. August 2011

exec() umbiegen mit dtrace

Um unliebsame Programmaufrufe zu verhindern, ohne an den Programmen selber Modifikationen vornehmen zu müssen eignet sich auch dtrace.

(607) oldn90700:/home/olbohlen$ cat foobar.ksh
#!/bin/ksh
echo true
(608) oldn90700:/home/olbohlen$ ./foobar.ksh
August 10, 2011 03:02:18 PM CEST

Wie geht das?

Man schaltet für DTrace den destructive mode ein und fängt mittels syscall provider die exec* syscalls ab zum entry Zeitpunkt. Dann modifiziert man arg0 für den exec() und das wars dann auch schon:

(717) oldn90700:/root# cat preve*
#!/usr/sbin/dtrace -s
#pragma D option destructive

syscall::exec*:entry
/copyinstr(arg0) == "./foobar.ksh" /
{
   printf("exec arg0: %s\n", copyinstr(arg0));
   copyout("/usr/bin/date", arg0, 14);
}

Sehr spannend was DTrace alles kann :)

Freitag, 15. Juli 2011

VMware ESX, SLES11, virtuelle IPs

Notiz für mich zum erinnern:

Verwendet man zusätzlichen IP Adressen in der VMware auf den virtuellen NICs, so gibt es offenbar massiv Stress mit IP Kommunikation. Die OpenDS LDAP Server haben regelmässig die Replications verloren...

Kennt das sonst noch jemand?

Freitag, 1. April 2011

OpenIndiana NWAM

Beim Versuch unter JDS in OpenIndiana dem NWAM eine statische IPv6 Adresse zu konfigurieren, musste ich erleben das der Eintrag offenbar nicht zieht, sprich das Feld leer ist und auch nicht in die Config übernommen wird.

Work-Around:
cd /etc/nwam
vi ncp-.conf

und dann in der Config-Zeile fürs korrekte Interface (bei mir e1000g0) ein
"ipv6-addr=string,2001:dead:beef:feed:face::50/80 eintragen.

Danach einmal die Location wechseln und schon zieht NWAM.

Solaris Internals...

Nächste Woche komm ich bei BOS-IT in Hamburg in den Genuss von Max Bruning der eine Woche lang Dinge aus dem Innenleben unseres Lieblings-OS erzählen wird!

Ich freu mich drauf :)

Freitag, 25. März 2011

ps -ef hängt?

Wenn ps -ef "hängt" wirds ersteinmal nicht ganz einfach herauszufinden, welcher Prozess dafür verantwortlich ist. Meisstens hängt ein bestimmter Prozess, was es ps unmöglich macht unter /proc/PID/ die Prozessstruktur zu lesen. ps printed dann leider nicht mehr die Zeile mit de entsprechenden PID.

Es gibt aber einen schönen Hack:

cd /proc
(for pid in *; do echo $pid; file $pid/auxv >/dev/null 2>&1; done) &

Die letzte ausgegebene PID ist unser Kandidat. An dieser Stelle verweise ich auf meinen letzten Blog Eintrag, wie man per mdb weitere Schlüsse ziehen kann.

Mittwoch, 23. Februar 2011

hanging process on solaris

Got a hanging process on Solaris 10 today.

It was a netbackup process writing to a tape-device with the PID 19177.

So I fired up mdb -k:

> 0t19177::pid2proc |::walk thread |::findstack -v
stack pointer for thread 30007a49800: 2a1053acb41
[ 000002a1053acb41 sema_p+0x138() ]
000002a1053acbf1 biowait+0x6c(3007eeae0c0, 0, 183fc00, 30005620000, 45c,
3007eeae0c0)
000002a1053acca1 st_cmd+0x2ec(210000045c, 11, 0, 44, 60049bd1dc0, 3007eeae0c0
)
000002a1053acd91 st_space_fmks+0xc4(210000045c, 0, 60049bd1dc0, 1e3, 45c, fc00
)
000002a1053ace41 st_mtioctop+0xb88(60049bd1dc0, 1e3, 0, 100003, 0, 0)
000002a1053acf11
st_ioctl+0xbc8(210000045c, 60049bd1dc0, ffbfa4d0, 100003,
6005a9704d8, 6d01)
000002a1053ad0e1 fop_ioctl+0x20(6003623d580, 6d01, ffbfa4d0, 100003,
6005a9704d8, 1282a58)
000002a1053ad191 ioctl+0x184(b, 3007927e7a8, ffbfa4d0, 563000, 563000, 6d01)
000002a1053ad2e1 syscall_trap32+0xcc(b, 6d01, ffbfa4d0, 563000, 563000, 0)


The first argument to st_ioctl is an dev_t, so we use ::devt to figure out major and minor:

> ::devt 210000045c
MAJOR MINOR
33 1116


So, 33 is the st driver as assumed, and 1116 is device /dev/rmt/164*.
After calling the backup guys, they found out that the tape in this drive broke and caused the hanging IO. After resetting the drive and removing the tape, the process terminated as expected.

Freitag, 2. April 2010

Mittags in der Reha...

...trifft man die merkwürdigsten Leute. Meine Tischnachbarin hatte sich Forelle zu essen bestellt und wie sie den Teller bekam, kam ein lautes "Iiiieh! Das ist ja ekelig!" gefolgt von einem "Entschuldigen sie bitte, könnten sie bitte den Kopf von der Forelle abschneiden?" aus ihrem Munde.
Ich tat ihr also den Gefallen und legte den nun abgeschnittenen Fischkopf ausserhalb ihrer sichtweite - und plötzlich schmeckte der Fisch fabelhaft.

Wieso können so viele Leute nicht verstehen das Fisch und Tier, welches sie essen wollen, auch gelebt haben? Ich find es verstörend das Menschen sich nicht bewusst sind oder bewusst sein wollen das ein Tier sterben musste, damit sie es essen können. Sobald sie das Stück Fleisch als Tier identifizieren können wird es plötzlich ekelig. Ich würd gern mal wissen was ein Schwein denken würde, wenn es wüsste das es mit vielen anderen Schweinen zusammengemischt als Bärchenwurst enden wird...

Dienstag, 9. März 2010

RIPE Handle

Faszinierend wenn man erst in einem uralten Backup seinen 9 Jahre alten gpg key wiederfindet und es dann auf Anhieb schafft den RIPE auto-dbm davon zu überzeugen das Handle und das Maintainer-Object zu modifizieren :)

Mittwoch, 17. Februar 2010

Manchmal...

...gehen die unglaublichsten Dinge schief:
eine Krankmeldung geht verloren und die Krankenkasse benötigt dringend diese. Eine Folgebescheinigung die auch die "verlorene" Periode umfasst liegt vor, ist aber nicht ausreichend.
Jedenfalls nicht für meine Krankenkasse, mein Arbeitgeber ist damit zufrieden. Jetzt ist es relativ trivial beim Arzt der die ausgestellt hat ein Duplikat anzufordern...wenn der nicht selber plötzlich krank geworden wäre und bis mindestens 28.2. ausfällt. Klasse...
Mal sehen ob die Stellvertreter von dem Arzt mir eine neue AUB ausstellen können...

Freitag, 5. Februar 2010

www.sun.gone

Ich mag es vielleicht spät bemerkt haben, aber es ist ein merkwürdiges Gefühl das "sun" jetzt nur noch eine Brand von Oracle ist. Nunja, vielleicht sollte man das einfach so nüchtern betrachten wie ein Webserver:

hugin:~ olafbohlen$ telnet www.sun.com 80
Trying 72.5.124.61...
Connected to www.sun.com.
Escape character is '^]'.
GET / HTTP/1.1
Host: www.sun.com

HTTP/1.1 301 Moved Permanently
Server: Sun-Java-System-Web-Server/7.0
Date: Fri, 05 Feb 2010 10:10:03 GMT
P3p: policyref="http://www.sun.com/p3p/Sun_P3P_Policy.xml", CP="CAO DSP COR CUR ADMa DEVa TAIa PSAa PSDa CONi TELi OUR SAMi PUBi IND PHY ONL PUR COM NAV INT DEM CNT STA POL PRE GOV"
Location: http://www.oracle.com
Content-length: 0

Donnerstag, 21. Januar 2010

zuhause

ists doch am besten - auch wenn man nich viel laufen kann, ist es doch schön endlich aus dem Krankenhaus raus zu sein. So ist man doch wieder bei der Familie, seiner Liebsten und den Tigern...

Sonntag, 10. Januar 2010

nochmal Fotos vom Bein...

Erstmal ein Foto vom Fruehstueck:



Und dann noch lecker Knie-Fotos...



Samstag, 9. Januar 2010

So, Krankenhaus Status Bericht

Moin,

ich lebe noch - Dienstag war die OP und die is wohl gut verlaufen (Kniescheibe neu justiert und fixiert).
Beim Verbandswechsel hab ich heute auch ein paar Fotos gemacht (und schon ein paar als die Drainage noch angeschlossen war ;))

Verband mit Schiene:

Anschluss in der Armbeuge:



Die Anschluesse der Drainage im Bein:


Bisschen Blut gefaellig?Später mehr :)

Sonntag, 3. Januar 2010

Guten Rutsch...

...aber nicht so wie ich bitte.
Ich habe jetzt erstmal ein paar Wochen Auszeit fürchte ich. Auf glatter Strasse ausgerutscht, umgeknickt, linke Kniescheibe ausgerenkt und Knorpel abgerissen...

Jetzt liege ich seit Freitag im Krankenhaus und werde wohl Montag oder Dienstag operiert.

Mal sehen was passiert...

Sonntag, 27. Dezember 2009

gelungenes Abendessen

Lecker Aal, Schwarzbrot mit Butter und einen Linie Aquavit dazu...das Leben kann durch kleine Dinge so richtig schön werden...vorallem wenn man dabei nicht alleine ist :)

Montag, 7. Dezember 2009

OpenSolaris Package-Manager (pm-launch)

Ich hab mich lang genug geärgert das der Package-Manager sich aus der Menue-Leiste heraus verweigert hat meinen Proxy zu benutzen. Heute habe ich gemerkt warum.

Der Package-Manager wird per /usr/lib/pm-launch aufgerufen, und dieser setzt die http_proxy Umgebungsvariable anhand der gconf settings. Leider vergisst er etwaige Login-Daten zu übernehmen. Hier mein dirty bugfix:


root@oldn9621-e:/usr/lib# diff pm-launch.orig pm-launch
27a28,29
> HTTP_PROXY_USER = '/system/http_proxy/authentication_user'
> HTTP_PROXY_PASS = '/system/http_proxy/authentication_password'
28a31
> HTTP_PROXY_AUTH = '/system/http_proxy/use_authentication'
40c43,48
< return 'http://' + host + ':' + str(port) + '/'
---
> puser = client.get_string(HTTP_PROXY_USER)
> ppass = client.get_string(HTTP_PROXY_PASS)
> pauth = client.get_bool(HTTP_PROXY_AUTH)
> if pauth:
> authstring = puser + ':' + ppass + "@"
> return 'http://' + authstring + host + ':' + str(port) + '/'



Wenn ich gleich "spontan" ne e-Mail Adresse von nem Entwickler finde, dann bekommt der den patch auch noch...

Mittwoch, 25. November 2009

VxVM defekte Private-Region (2)

Wie schon früher geschrieben neigt der Veritas Volume Manager ab und an unter Gedächtnisschwund.
Leider hatte ich heute die Chance herauszufinden wie obriges Verfahren bei CDSDisks funktioniert.

Zum Glück waren die Platten "online", d.h. er hat die PrivateRegion gefunden - aber nix mehr (gültiges) in ihnen. Danach kann man einfach wie im alten Post beschrieben vorgehen.

Es empfiehlt sich also einen täglichen explorer laufen zu lassen um ggf. später eine vxprint-ht.out zu haben die einem die Datenrücksicherung ersparen kann...

Sonntag, 27. September 2009

Wer die Wahl hat...

Na Herzlichen Glückwunsch Deutschland.

Ein 18% Spasskasper im gelben Wohnwagen soll Aussenminister werden.

Wenigstens hat der Rest der Welt dann was zu lachen...

Montag, 7. September 2009

Rührei spezial :)

Wenns mal ein leckeres Rührei zum Frühstück sein darf:

- Eier nach Bedarf
- Granat (Nordseegarnelen) nach Bedarf
- bisschen Salz, Pfeffer, Kräuter der Provence

Gut durchrühren, dann erhitzen bis Eier durch sind. Lecker.