Informatik und Kram

Da wir lange nicht wußten, wo wir das für die Uni ausgearbeitete Material unterbringen sollten und auch einen schrecklichen Drang hatten der Welt diverse Sachen aufzudrücken...

strace - wenn man überhaupt nicht mehr weiß was los ist
de-flagge aktiviert en-flagge deaktiviert

Da hab ich seid einigen Tagen (oder länger?) auf dem mehr oder minder frisch installieren ArchLinux das Problem, dass ich - besonders dann wenn ich online war - manchmal für triviale Programme ewig gebraucht habe, bis die dann nach einem Klick auch wirklich auf gegangen sind. gnome-terminal z.B. hat halt wirklich locker 2-5sekunden gebraucht, bis es sich dann endlich mal erbarmt hat sich zu zeigen. Damit aber nicht genug - ein vim somefoobarfile hat auch locker die gleiche Zeit gefressen. Nach einigen Versuchen, die alle absolut in die falsche Richtung gingen, hab ich angefangen mal mit strace die Sache ein wenig genauer zu betrachten...
Das hat dann doch in relativ kurzer Zeit zu einem Ergebnis geführt und das sogar erschreckend leicht. Zuerst natürlich erstmal strace besorgen also Grüße an "pacman", "emerge", "apt-get" und Co. Dann einfach das "fehlerbehaftete" Programm so starten:
strace vim fooblafile
Daraufhin flog eine ganze Menge Information an mir vorbei, aber an einer Stelle gab es dann eine Pause von den besagten 2-5Sekunden. So sah das aus:
fstat64(4, {st_mode=S_IFREG|0600, st_size=10314, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f07000
read(4, "
Ja, dieses read hat halt wirklich ewig gedauert. Hier wird wohl offensichtlich aus einem File oder ähnlichem gelesen. Die 4 gibt uns den entscheidenden Hinweis. Schaut man nämlich ein wenig weiter oben im großen Output-Chaos findet man schnell:
access("/home/dariball/.ICEauthority", R_OK) = 0
open("/home/dariball/.ICEauthority", O_RDONLY) = 4
Aha, also wird da wohl aus .ICEauthority gelesen. Jetzt könnte man wissen, dass sich das Ding um das Auflösen von Hostnames kümmert. Ansonsten hilft wie üblich eine kleine Google Attacke und man hat das auch schnell nachgelesen.
Nun also wieso brauch der so lange um einen Hostname aufzulösen. Ja, welcher Hostname ist nach kurzer Zeit auch klar - weil es kann ja nur der eigene sein. Somit mal in die /etc/hosts geschaut und siehe da: Die ist ja noch im quasi "Auslieferungszustand", also mal schnell den eigenen Hostname reingeknallt ungefähr so:
127.0.0.1                  nibbler.lan                 nibbler
Simsalabim - es geht plötzlich alles in der gewohnt schneller Art und Weise!

Kommentare

Kommentar schreiben