Ich bin völlig erschöpft

Ich weiß nicht warum. Ich meine, ich weiß, letzte Woche in England war anstrengend, aber diese Art von Dienstreisen mache ich nicht zum ersten Mal. Am Wochenende konnte ich richtig gut ausschalten.

Es hat sicherlich mit der Arbeit zu tun. Gestern hatte ich beim Aufstehen schon deutliche Anzeichen einer Erschöpfung. Auf dem Weg zur Arbeit habe ich einen starken Druck um die Augen und in der Stirn gespürt, bis zur Nase, begleitet von einem Schwindelgefühl. So habe ich mich schon früher gefühlt, wenn ich extrem unter Druck stand oder etwas mich sehr geärgert hat. Wenn ich lange über etwas grüble oder wütend bin. Das passiert recht selten. Und momentan? So überlastet bin ich doch nicht. Ich treibe Sport, und es sollte doch Stress abbauen. Bis auf heute Nacht habe ich auch gut geschlafen, obwohl ich zur Zeit alleine bin. Der Ehemann ist seit Montag auf Dienstreise.

Geärgert hat mich in letzter Zeit die Geschichte mit meinem neuen Rechner sehr. Ich habe ihn am Anfang des Sommers bestellt, als ich zum neuen Büro umgezogen bin. Mein Testrechner war zu alt geworden und hatte zu viele Probleme verursacht. Der neue Rechner kam ziemlich schnell an, ist aber bei der IT-Abteilung in Empfang genommen worden. Zahlreiche Emails, um zu diskutieren, was genau drauf installiert werden soll. Kein Windows, Programm #1 ist nicht dafür vorgesehen. Dafür zwei verschiedene Linux-Distributionen, mit denen ich Programm #1 testen und weiterentwickeln soll. Ich habe gleich angeboten, mich um die Installationen zu kümmern, aber das wollten die Leute bei der IT-Abteilung ausdrücklich selber machen. „Weil interne Spähsoftware installiert werden,“ meinte ein Kollege. Keine Ahnung, ob es stimmt.

Danach habe ich gewartet und nichts mehr gehört. Eine höfliche aber deutlich ungeduldige Email habe ich noch geschickt, um mich zu erkundigen, ob jemand wüsste, was inzwischen aus dem Rechner geworden war. Keine Antwort. Letzte Woche bin ich dann informiert worden, dass er zur Abholung bereit stünde. Yeah! Keine Entschuldigung für die lange Wartezeit. Sofort den Rechner abgeholt, zu meinem Zimmer getragen, hochgefahren: Windows. Ich konnte es nicht fassen. Die Leute bei der IT-Abteilung haben in den vier Monaten, in denen der Rechner bei ihnen lag, gar nichts gemacht. Ich habe nachgefragt, da ich zuerst gutmütig dachte, den falschen Rechner bekommen zu haben: Nein, es war wirklich mein Rechner, der war halt schon mit Windows standardmäßig geliefert worden. „Warum die ganzen Emails, um die Installation der Betriebssysteme zu diskutieren?“ wollte ich wissen. Keine Antwort. Faule Säcke.

Mit der Installation der Betriebssysteme bin ich noch nicht fertig. Bei openSUSE ging es gut, für Ubuntu war es die Hölle. Das größte Problem lag in der Erstellung eines funktionierendes bootfähiges USB-Sticks unter Linux. Ich weiß nicht, wie vielen Anleitungen ich gefolgt bin, ohne Erfolg. Entweder wurde der Stick nicht erkannt, oder die Maschine meinte, es gäbe kein Betriebssystem auf dem Stick. Bei anderen Programmen zur Erstellung von bootfähigen Sticks gab es schon Fehlermeldungen beim Formattieren vom Stick. Am Ende hat nur Rufus unter Windows geholfen. Ich habe die Sticks zu Hause gemacht, weil ich Windows auf dem neuen Rechner schon mit openSUSE platt gemacht hatte. Ich hatte zwischendurch auch versucht, die CD von zu Hause zu benutzen, um Ubuntu zu installieren, und musste nach der erfolgreichen Installation feststellen, dass es jetzt zu spät war, um ein Update von 15.04 auf 16.04 zu machen. Pfff. Jetzt läuft Ubuntu 16.04 endlich, dank Rufus, openSUSE habe ich „verloren“. Ich muss schauen, wie ich sein GRUB wieder erstellen kann, weil der von Ubuntu die andere Partition mit openSUSE anscheinend nicht sieht, und ich nur noch Ubuntu starten kann.

Das Ganze hat mich jedenfalls sehr genervt. Vor allem, weil Kollegen aus der Arbeitsgruppe, die solche Sachen besser als ich wissen müssten, jegliche Hilfe verweigert haben, nach dem Motto „nicht mein Problem, ich habe anderes zu tun“ (so ausgedruckt war es nicht, aber so kam es deutlich rüber), und ich blöde Kuh bin immer für Anderen da, wenn sie Probleme haben. Mich nervt es, dass ich die Arbeit der IT-Abteilung erledige, und es dabei nicht schaffe, mich um viel wichtigere Angelegenheiten zu kümmern, wie zum Beispiel meinen DFG-Antrag fertig zu schreiben. Vielleicht ist das der Grund, warum ich in letzter Zeit kein Bock mehr auf Arbeit habe. Und das macht mich krank.

Gestern auf dem Weg zur Arbeit fühlte ich mich jedenfalls richtig mies. Dazu kam, dass eine Frau mit einer Katze in einem Transportkäfig unweit von mir saß, und sich ihre Katze lauthals darüber beklagte, transportiert zu werden. Ich musste an Chipie denken, und habe für den Rest der Fahrt nur noch gegen Tränen gekämpft. Die Arbeit ging, ohne große Begeisterung. Wenigstens läuft jetzt Ubuntu.

Am Abend bin ich mit Kate von der Arbeit aus shoppen gegangen, und ich habe gemerkt, wie die ganze Müdigkeit bei jeder Haltestelle in der S-Bahn geringer wurde. Beim Glühwein war der Druck völlig weg. Das Schwindelgefühl war noch da. Ich habe mir ein toll duftendes Schaumbad gekauft und gleich zu Hause ausprobiert. Es war schön, aber nicht entspannend genug. Ich habe mich danach hellwach bis mindestens halb fünf im Bett gewälzt. Trotz Erschöpfung.

So kann es nicht weiter gehen. Morgen muss ich früh zur Arbeit, ausnahmsweise an einem Samstag, und nächste Woche bin ich für Rufbereitschaft mal wieder dran. Da werde ich noch mehr unter Druck sein.


Dieser Beitrag ist ursprünglich auf Meckereien & Co. erschienen.

Werbeanzeigen

Blöde Tastenkombination im Terminal

Ich arbeite heute von zu Hause aus. Unter Ubuntu ist es einfach, mich auf meinem Rechner bei der Arbeit einzuloggen und dort zu programmieren.

Beim Programmieren benutze ich einen Texteditor. Am liebsten arbeite ich mit Emacs. Ich habe diesen Texteditor im Studium kennen gelernt, es ist schon zwanzig Jahre her. Man gibt emacs im Terminal ein, und prompt erscheint ein Fenster, in dem man Texte bearbeiten kann. Emacs ist in der Lage, die Syntax von vielen Programmiersprachen zu erkennen, und hebt manche Wörter farblich hervor, je nach dem, welchen Zweck sie in der Sprache erfüllen. Es ist für mich praktisch, wenn ich einen Variablennamen benutzen will und nicht weiß, dass es sich dabei um einen schon vergebenen Namen für eine Funktion handelt, zum Beispiel.

In all den Jahren habe ich viele Tastenkombinationen für Emacs verinnerlicht. Es ist so viel schneller, damit Funktionen auszuführen, als wenn ich mit der Maus vom Menü aus irgendeinen Eintrag suchen und klicken soll. Zum Beispiel gibt man Strg+K ein, um den Rest einer Zeile rechts vom Kursor zu löschen, oder Strg+S, um nach einem bestimmten Text zu suchen. Im Gegenteil zu allen anderen gängigen Programmen speichert Strg+S in Emacs nicht den Text, den man gerade auf hat. Zum Speichern muss man Strg+X gefolgt von Strg+S drücken. Mit Strg+X gefolgt von Strg+C verlässt man Emacs. Es klingt erstmal ganz furchtbar, aber man kann sich recht schnell daran gewönnen.

Heute arbeite ich von zu Hause aus. Da benutze ich nicht Emacs zum Programmieren. Das Erstellen einer graphischen Oberfläche dauert ewig, weil ich nicht direkt von meinem Rechner aus im Netzwerk von meinem Institut bin, und alle Änderungen brauchen auch ewig, um angezeigt zu werden. Ich benutze besser vi. Mit vi kann man ohne erkennbare Zeitverzögerung arbeiten. Ich habe lange vi ignoriert, weil es nicht so bequem wie Emacs ist. Gibt man vi gefolgt von einer Textdatei im Terminal ein, öffnet sich die Datei im Texteditor direkt im Terminal selbst. Mit der Maus kann man da gar nichts machen (manchmal geht scrollen, aber es gibt nicht mal einen seitlichen Balken dafür). Man startet vi immer im Kommando-Modus, und muss zuerst i tippen, um zum Editor-Modus zu wechseln. Erst dann kann man den Text editieren. Zum Speichern, Textsuchen usw. muss man zurück zum Kommando-Modus, indem man die ESC Taste drückt. Speichern geht dann mit :q (gefolgt von der Eingabetaste) in der Kommandozeile, speichern und vi verlassen mit :wq (write and quit).

Und so kommt es, wenn man sonst immer mit Emacs arbeitet, dass man in vi steht und als Automatismus zum Speichern Strg+X, Strg+S eintippt. So schafft man es, den Terminal komplett einzufrieren. Alles, was man danach eintippen mag, erscheint nicht mehr, wird aber trotzdem wahrgenommen. Als ich meinen Fehler gemerkt habe, habe ich zuerst ESC gedrückt und :wq eingegeben. Keine Änderung im Terminal. Beim Googeln bin ich darauf gekommen, Strg+Q einzutippen, und der Terminal wurde wieder belebt. Da ich vorher :wq eingetippt hatte, hatte ich schon vi verlassen. Unter Ubuntu auf meinem persönlichen Rechner habe ich vim installiert, eine Variante von vi, die ein bisschen cleverer ist und einen warnt. Beim Eintippen von Strg+X, Strg+C erscheint unten in der Kommandozeile die Nachricht: Type :quit to exit Vim. Den Terminal muss man vorher natürlich trotzdem wieder beleben.

Strg+X friert den Terminal nur solange, bis man eine Taste drückt. Strg+S friert den komplett ein. Ich frage mich, warum jemand so ein komisches Verhalten bei diesen Tastenkombinationen im Terminal programmiert hat.


Dieser Beitrag ist ursprünglich auf Meckereien & Co. erschienen.

Dumm gelaufen…

In meiner Arbeitsgruppe bin ich vor allem als Programmiererin tätig. Es war für mich damals ein gewagter Schritt, die Stelle anzunehmen, da ich vorher nur mit C und Fortran gearbeitet hatte und keine Ahnung von Python hatte. Ich habe mich mit der neuen Sprache doch relativ schnell abgefunden und gelernt, wie mein Vorgänger zu programmieren, da ich an seinem Projekt weiter arbeiten musste. Inzwischen ist mir klar geworden, dass er selber Python nicht so gut beherrschte und teilweise sehr suboptimale Lösungswege benutzt hat. Die jetzt zu verbessern würde so viel Zeit kosten, dass es mir besser erscheint, das Programm komplett umzuschreiben. Aber darum geht’s heute nicht.

Ich war damals nicht nur in Python eine Anfängerin, sondern auch im Umgang mit Linux. In meinem früheren Institut hatten wir nur Windows benutzt. Ja, während meiner Diplomarbeit musste ich mit Unix arbeiten. Da waren aber schon mehr als fünfzehn Jahre vergangen. Ich konnte mich gerade noch an die Befehle cd und ls erinnern. Und tail -f, warum auch immer. Es gab vieles nachzuholen. Dazu gehört ein großer Dank an meinem IT-Kollegen.

Es war für mich also schon ein bisschen beängstigend, als Uschi mich nicht mal ein halbes Jahr nach meiner Einstellung gefragt hatte, mich um die Aktualisierung der wissenschaftlichen Programme auf unserem Server zu kümmern. „Was, im Ernst jetzt? Aber ich verstehe nur Bahnhof, ich mache sicherlich nur alles kaputt…“ habe ich in dem Moment gedacht. Uschi war scheinbar der Meinung, da ich programmiere, kann ich alles. Und: Es klappt doch. Nochmal Danke für die Hilfe an meinem IT-Kollegen.

Vor Kurzem habe ich für mein wissenschaftliches Projekt eine Software A benutzt. Sie war mit meinen Daten nicht ganz zufrieden und ist bei einem bestimmten Schritt immer wieder mit der gleichen Fehlermeldung abgestürzt. Ich habe einen Autor von A kontaktiert, der mir empfohlen hatte, die allerletzte Entwicklungsversion zu installieren. Das habe ich gemacht. Es hat sich gelohnt, das Problem wurde behoben und ich konnte weiter arbeiten. Da diese Software von vielen Personen mit verschiedenen Zugriffsrechten benutzt wird, habe ich sie mit einem begrenzten Konto getestet. Darauf hatte Uschi immer großen Wert gelegen. Es lief ohne Problem. Ich habe die Aktualisierung von A in unseren internen Dokumenten protokolliert und bin später nach Hause gegangen.

Am nächsten Tag musste ich woanders als in meinem Büro arbeiten. Am frühen Vormittag habe ich eine Email von Winfried bekommen, weil ein Programm B für die Steuerung von einem Gerät nicht mehr funktionierte. Es gab eine Python-Ausnahme, gefolgt von der Fehlermeldung error while loading shared libraries: requires glibc 2.5 or later dynamic linker env: Command not found. Die Ausnahme kam aus dem von mir aktualisierten Programm (A ist in Python geschrieben). Warum die Aktualisierung von A ein solches Problem für Software B verursachen soll, die eigentlich gar nichts mit A zu tun hat, war mir ein Rätsel.

Mein IT-Kollege hat die Ursache vom Problem schnell identifiziert und beheben können. Ich hatte beim Aktualisieren von A die Kopie der alten Version behalten, daher konnte man den Pfad in der allgemeinen .bashrc Datei einfach zurück setzen. Das Gerät konnte dadurch wieder gesteuert werden. Winfried klang in seiner Email trotzdem ziemlich geärgert, weil ich angeblich A aktualisiert und das Büro verlassen hätte, ohne mich darum zu kümmern, A vorher zu testen und die Aktualisierung zu protokollieren. Das fand ich hart, weil ich es doch alles getan hatte. Ein Blick in unseren Dokumenten hätte gereicht, um Bescheid zu wissen. Ich habe ihm geantwortet, mit Verweis auf mein für alle in der Arbeitsgruppe zugängliches Protokoll.

Bei unserem Montagsmeeting kam das Problem zur Diskussion. Inzwischen hatte Winfried eingesehen, dass ich doch alles richtig gemacht hatte. Er hat dabei Mr Keen ausdrücklich angestarrt, als er langsam betonte, dass ich kein Fehler gemacht hatte. Mr Keen hat wohl anscheinend keine Zeit verloren, um über mich zu lästern, als ich abwesend war. Dass ich ihn nicht leiden kann ist offensichtlich nicht unbegründet, obwohl ich mein Bestes tue, um es mir nicht anmerken zu lassen. Das ist äußerst schwierig.

Ich habe nach dem Meeting nochmal versucht, das Problem zu reproduzieren, um es zu verstehen. Ich habe dabei gelernt, dass der Befehl, um die Software B zu starten, nicht einfach B ist, sondern, durch ein Alias, ssh -X steuerung.pc.von.geraet; B. Beim ssh wird die .bashrc Datei ausgeführt. Drin steht der Befehl source neue_A_Version, wie von den Entwicklern von A empfohlen. Der Rechner steuerung.pc.von.geraet ist aber alt, und damit gewährleistet wird, dass B immer funktioniert, hat mein IT-Kollege beschlossen, dass keine Linux-Update drauf laufen sollen. Seit Jahren. Unter anderen ist die Bibliothek glibc 2.5 nicht installiert, die A neuerdings braucht. Wenn ich auf steuerung.pc.von.geraet den Befehl source neue_A_Version eingebe, bekomme ich die gleiche Fehlermeldung. Die ist anscheinend so gravierend, dass danach einfache Linux-Befehle nicht mehr funktionieren. Selbst beim ls kriegt man dann die Meldung Command not found.

Ob es so sinnvoll ist, eine uralte Version von einem Betriebssystem zu behalten, nur damit B läuft, obwohl B von meinem IT-Kollegen entwickelt wird, bezweifle ich stark. Vor allem, wenn wir dadurch auf die neuesten Versionen von wissenschaftlichen Programmen verzichten müssen. Eine Lösung wäre jetzt, mit Hilfe von einem Alias den Befehl A durch source neue_A_Version; A in der .bashrc Datei zu ersetzen. Da steuerung.pc.von.geraet für die Ausführung von A nie benutzt wird, sollte es klappen.


Dieser Beitrag ist ursprünglich auf Meckereien & Co. erschienen.

Bad fd number

Ein Nerd-Beitrag, der hoffentlich weiter helfen könnte.

Das Bad fd number Problem ist aufgetaucht, als ich mein Python-basiertes Programm auf Ubuntu testen wollte. Im Code werden einige externe Befehle aufgerufen, mit Hilfe von os.system(command), wo command ein String ist. Auf Scientific Linux: Kein Problem. Das hatte mein Vorgänger selber so implementiert. Auf Ubuntu ist das Programm abgestürzt, mit der Meldung:

sh: 1: Syntax error: Bad fd number

Ich habe danach gegoogelt und herausgefunden, dass das Problem aus einem Shell-Link kam. Auf Ubuntu verlinkt /bin/sh zu dash, und nicht zu bash wie auf anderen Linux-Betriebssystemen. Die Lösung schlug vor, stattdessen /bin/sh zu bash zu verlinken:

sudo mv /bin/sh /bin/sh.orig

sudo ln -s /bin/bash /bin/sh

Ich habe es auf meinem Testrechner ausprobiert und kein Problem festgestellt. Seit über einem Monat steht diese Lösung auf der internen Webseite unserer Gruppe. Keiner hat etwas dagegen geäußert. Letzte Woche habe ich die Installationsanleitung für Ubuntu als Entwurf auf der Projekt-Webseite kopiert und Uschi gebeten, sich den Inhalt genau anzuschauen, bevor er die Webseite frei gibt. Die Webseite hat er veröffentlicht.

Diese Woche waren wir endlich so weit und mein Programm ist veröffentlicht worden. Rundmails zur Ankündigung geschickt, Anzahl der Downloads begeistert verfolgt, Rückmeldungen mit Wünschen für neue Funktionen oder (sehr wenig) Installationsproblemen bekommen. Gestern fragte mich Uschi auf einmal ganz überrascht, was die Änderung vom Shell-Link auf Ubuntu sollte. Es wäre nicht OK, dadurch könnte man das komplette System verschrotten, eine andere Lösung müsste her. Ich war irritiert, dass er das erst jetzt merkt.

Ich hatte vermutet, dass das Problem aus dem externen Befehl in command stammt und dachte, ich müsste mit dem Autor des Skriptes Kontakt nehmen, um nach einer Lösung zu fragen. Bestimmt hätten schon viele Ubuntu-Nutzer sein Skript benutzt und das gleiche Problem gehabt. Vorher wollte ich trotzdem sicher sein. Ich habe den ursprünglichen Shell-Link zu dash wieder erstellt. Ich habe das im Programm erzeugte command direkt vor seiner Ausführung und vor dem Programmabsturz ausdrucken lassen. Der Code sah so aus:

print(command)

os.system(command)

und im Terminal hatte ich das command ausgedruckt, gefolgt von der Bad fd number Meldung und den ganzen Tracebacks. Genau das gleiche auf Scientific Linux ging ohne Problem.

Zurück auf Ubuntu, habe ich mit copy/paste command im Terminal selber ausgeführt. Und Überraschung, auf einmal ging’s. Merkwürdig. Die ganze Zeit hatte ich das externe Skript für die Ursache des Problemes gehalten. Jetzt kam der Verdacht, dass os.system(command) auf Ubuntu anders als auf Scientific Linux funktioniert. Oder genauer ausgedrückt: os.system() ruft anscheinend /bin/sh, und /bin/sh -> bash auf allen Linux-Systemen, außer auf Ubuntu, wo das Ziel des Linkes dash ist. Daher die Fehlermeldung.

Ein Lösungsansatz war auf einmal klar. Alle externe Befehle mit os.system() sollten mit subprocess.Popen() ausgeführt werden. Und genau das hat funktioniert. Jetzt brauche ich nicht mehr die Fummelei mit dem Shell-Link.


Dieser Beitrag ist ursprünglich auf Meckereien & Co. erschienen.

Kernel panic

Es fing damit an, dass Uschi mich vorgestern gefragt hatte, openVPN auf meinem Rechner zu installieren, damit ich von meinem Rechner aus mein Programm auf seinem Mac laufen lassen kann. Ich hatte bis gestern noch keine Zeit gehabt, als er mich fragte, ob die Installation erfolgreich war. Gegen 18:00 habe ich also angefangen, mich darum zu kümmern, und habe festgestellt, dass seit mein Vorgänger die Arbeitsgruppe verlassen hat, kein Update gemacht wurde. Kann ich gleich machen, dachte ich. Als root mit su - einloggen, dann yum -y update. Es waren 144 davon in der Liste. Eine Meldung zum Entfernen und zur Neuinstallierung von Kernel wurde auch angegeben. Wenn yum das vorschlägt, kann es wohl nicht schaden, dachte ich mir naiv. Danach habe ich openVPN installiert und es irgendwie nach gegoogelten Anleitungen konfiguriert. Es war schon fast 20:00 und ich war mit Martin verabredet, daher habe ich mich ausgeloggt und Feierabend gemacht.

Heute Morgen angekommen, eingeloggt… Geht nicht. Ich dachte zuerst, ich hätte mich beim Eintippen vom Passwort vertippt, aber nach dem vierten Mal kann es nicht sein. Capslock war aus. Auf meinem Testrechner habe ich mit dem gleichen Passwort kein Problem gehabt. Und mit ssh konnte ich mich auf meinem Rechner einloggen. Merkwürdig. Vielleicht sollte ich den Rechner nach den vielen Updates von gestern neu starten? Tja, beim Hochfahren kam die Meldung:

Kernel panic - not syncing: Attempted to kill init!
Pid: 1, comm: init Not tainted 2.6.32-431.1.2.el6.i686 #1
Call Trace:
[] ? panic+0x6e/0x122
[] ? do_exit+0x741/0x750
[] ? do_group_exit+0x3c/0xa0
[] ? sys_exit_group+0x11/0x20
[] ? sysenter_do_call+0x12/0x28

Nicht nur der Kernel hat Panik bekommen. Mein IT-Kollege war schon um 08:30 mit anderen Aufgaben überlastet und hatte keine Zeit. Wie üblich.

Nach mehreren gezwungenen Neustarten habe ich gemerkt, dass ich mit ESC zum Boot-Menü gehen konnte, und dort waren drei Versionen von Scientific Linux vorhanden. Die erste führte zum Kernel panic. Mit der zweiten konnte ich meine Login-Daten angeben, aber nach einem scheinbaren Start meiner Session kam das Login-Fenster wieder. Mit der dritten und ältesten Version bekam ich nur einen schwarzen Bildschirm mit einem blinkenden Kursor. Nur mit der zweiten konnte ich mich von meinem Testrechner aus durch ssh einloggen.

Mit yum history undo xxx dachte ich, die Lösung gefunden zu haben. Aber jetzt sieht es so aus:

Kernel panic - not syncing: VFS: Unable to mount fs on unknown-block(0,0)

Ich kann mich nun gar nicht mehr ins Rechner anmelden.


Dieser Beitrag ist ursprünglich auf Meckereien & Co. erschienen.

Frust

Gestern war extrem frustrierend. Ich habe die Aufgabe bekommen, ein wissenschaftliches Softwarepacket auf unseren Servern zu aktualisieren. Mit Linux arbeite ich seit zwei Monaten nach einer etwa vierzehnjährigen Pause wieder, genauer gesagt seitdem ich diese neue Stelle bekommen habe. In meinem früheren Institut hatten wir für die tägliche Arbeit Windows benutzt, nicht so typisch bei Wissenschaftlern an der Uni. Seit Juli bin ich also dabei, die einfachsten Befehle aus der Kommandozeile neu zu erlernen, zum Beispiel wie Dateien entpackt werden, oder wie ein ganzer Ordner kopiert oder gelöscht wird. Oder wie man ein Programm aufruft, der nicht im PATH liegt. Dateiname funktioniert nicht, seit heute weiß ich, dass ich ./Dateiname eintippen soll. Ja, man kann auch unter Linux mit Fenstern und Maus arbeiten, aber ich wusste lange nicht, wie man ein solches Explorer-Fenster öffnet, wenn man mit ssh auf einem anderen Rechner unter einem anderen Login arbeitet. Und ich weiß nicht mal, wo meine persönlichen Dateien physisch liegen, da ich egal aus welchem Rechner darauf zugreifen kann. Aber gut, das ist nicht das wichtigste. Ich komme mir ziemlich blöd vor, wenn ich meinen Zimmerkollegen, den IT-Ingenieur der Arbeitsgruppe, wegen solchen Kleinigkeiten um Hilfe fragen muss. Und gestern nachmittags hieß es plötzlich bei unserem wöchentlichen Meeting, dass ich für die wissenschaftlichen Programme hier zuständig bin.

Damit es nicht zu einfach wird, haben wir verschiedene Server, und das Softwarepacket muss auf allen aktualisiert werden. Server1 ist älter und für unsere internen Zwecke gedacht, darauf kann ich nur 32bits-Versionen installieren. Der neuere Server2 wird für den Nutzerbetrieb und für intensive Rechnungen benutzt, auf diesem müssen 64bits-Versionen installiert werden. Das Softwarepacket, das ich aktualisieren musste, steht schon seit einem Jahr zum Herunterladen zur Verfügung – wie viele Programme in meinem Fach handelt es sich um ein kostenloses Programm, das von anderen Wissenschaftlern unter GNU-Lizenz entwickelt wird. Wie ich heute festgestellt habe, wurde die 64bits-Version auf Server2 schon vor einem Jahr installiert. Das ist schon mal gesparte Arbeit. Ich hatte mit Server1 angefangen. Es gibt seit kurzem ein Installer, das man mit einfachem Klick starten kann und das das ganze Packet samt Aktualisierung der Pfade installiert. Toll, wenn es auf Server1 funktionieren würde. Ich wusste gestern noch nicht, wie man aus der Kommandozeile ein Fenster öffnet, um auf dem Installer zu klicken. Ein Fenster kann ich sonst bei mir ohne Problem aus dem Desktop öffnen, aber dann bin ich unter meinem eigenen Login und habe die benötigten Rechte für die Installation nicht. Den Konqueror-Tipp kannte ich noch nicht. Ich habe in der Kommandozeile Dateiname in dem Ordner eingetippt, in dem das Installer lag; ohne ./ vorne ging’s natürlich nicht. Ich habe das Installer gelöscht und die Programmquelle stattdessen heruntergeladen. Es wäre eh mit dem Installer fehlgeschlagen, da ich heute festgestellt habe, dass es zu „core dumped“-Fehlern führt. Mein Zimmerkollege meint, dass Server1 wahrscheinlich zu alt für das Installer ist.

Es hieß also, Programmquelle kompilieren. Auf der Internetseite des Softwarepackets ist eine ausführliche Anweisung zur Installation angegeben. Ich habe die heruntergeladene Datei entpackt. Ich habe wie beschrieben die setup-Datei für unsere Konfiguration geändert. Ich habe source setup-Datei problemlos durchgeführt. Danach musste ich mit ./configure die Installation konfigurieren. Es ging nicht. Fehlermeldung, ./configure kennt mein System nicht. Mein IT-Kollege hatte sich schon zum Feierabend verabschiedet. Mir hat’s gestern Abend gereicht. Ich spürte ein leichtes Kopfschmerz, das drohte, schnell zur Migräne zu wechseln. Ich bin zur ersten Etage herunter gegangen, es war schon nach 18:00, und Martin war überraschenderweise noch im Büro, mit der Diplom-Studentin (ja, es gibt noch welche). Das Wetter war so toll, ich habe den beiden vorgeschlagen, Eis essen zu gehen. Die Studentin hatte zu viel zu tun. Martin hat sich entschuldigt, mit der Ausrede, dass er heute Abend an einem Lauf teilnehmen wollte. Irgendwie komisch, so ganz nachvollziehen konnte ich es nicht. Wir haben ein bisschen geredet und ich bin weg gegangen. Im gleichen Moment ist auch Martin gegangen, aber er hat mit mir kein Wort mehr gewechselt, hat mir den Rücken zugedreht und ist in die entgegengesetzte Richtung gegangen. Es hat mich total verletzt. Ich habe den starken Eindruck bekommen, dass er sich seit letzter Woche auf einmal von mir distanziert hat, und ich habe keine Ahnung warum. Ich hätte wissen sollen, dass es keine gute Idee ist, sich so schnell zu verlieben. Oder sich überhaupt in einem Deutschen zu verlieben. Deutsche Männer sind mir häufig zu kühl und scheinen selber nicht zu wissen, was sie wirklich wollen. Es kann kein Zufall sein, dass ich schon so viele Jahre in Deutschland Single geblieben bin. Ich werde es sicherlich für die kommenden zwei Jahre hier weiter sein. Schließlich bin ich nur für die Arbeit umgezogen. Ich sollte daran gewöhnt sein, alleine zu leben. Warum finde ich es auf einmal so schwer und deprimierend? Mir ging’s gestern Abend richtig mies.

Wie auch immer, ich habe heute mein Installationsproblem gelöst. Ich hatte gestern einfach nicht die ganze Quelle heruntergeladen, also doch nicht die richtige Datei ausgesucht, deswegen kannte das System ./configure nicht. Nach dem make habe ich gesehen, dass einige Teilprogramme aus dem Packet fehlten. Ich habe sie einfach aus der früheren Version kopiert. Danach gab’s Probleme mit dem Pfad für Tcl/Tk. Ich war froh, als ich den Namen des Softwarepackets eingetippt habe und das Fenster tatsächlich erschienen ist. Ich habe meine Kollegen, die mit dem Programm häufig arbeiten, darum gebettet, mich über Probleme zu informieren. Ich hoffe, keiner meldet sich, weil es dann heißen würde, dass ich es endlich richtig installiert habe.


Dieser Beitrag ist ursprünglich auf Meckereien & Co. erschienen.