PATH erweitern für astrometry.net

 

Betriebssystem

openSUSE Tumbleweed

Astrometry.net

Astrometry.net ist Projekt, mit dem Sternenaufnahmen analysiert werden können.

Ein typischer Befehl, um eine Sternenaufnahme zu analysieren ist

solve-field Sternenbild.jpg

Wenn wir den Befehl nun in ein Terminal hacken in der freudigen Erwartung, mitgeteilt zu bekommen, was auf unserem Sternenbild alles drauf ist, so werden wir nun eine Enttäuschung erleben. Aller Vorraussicht nach kommt nämlich eine Fehlermeldung, daß die Anweisung nicht bekannt ist.

Es ist nicht unwahrscheinlich, daß die Anweisung „solve-field“ in folgenden Ordner installiert wurde.

/usr/local/astrometry/bin

Geben wir die Anweisung nun mit dem kompletten Pfad ein, so funktioniert alles:

/usr/local/astrometry/bin/solve-field Sternenbild.jpg

Woran liegt das?

Die PATH-Envirement-Variable

In Linux befinden sich die ausführbaren Dateien meistens in bin-Ordnern. Ein paar Beispiele:

/bin
/usr/bin
/usr/local/bin

Einige dieser bin-Ordner sind in der PATH-Variable gelistet.

Wird nun ein Befehl ohne Pfadangabe aufgerufen, so schaut das System zuerst in der PATH-Variable nach. Enthält eines der dort gelisteten Verzeichnisse den gewünschten Befehlt, so ist alles gut. Der Befehl wird ausgeführt. Wird er dort nicht gefunden, haben wir Pech gehabt. Wir müssen entweder von Hand in das Verzeichnis wechseln, in dem sich die Anweisung befindet oder wir stellen die Pfadangabe voran.

Der Inhalt der PATH-Variable

Der Inhalt der PATH-Variable sieht bei meinem System so aus:

echo $PATH
/home/mein_username/bin:/usr/local/bin:/usr/bin:/bin:/usr/lib/mit/sbin

Es sind eine Menge bin-Ordner, getrennt jeweils durch einen Doppelpunkt, gelistet. Das bin-Verzeichnis von astromety.net suchen wir dort aber vergeblich.

PATH-Variable temporär erweitern

Es gibt eine Möglichkeit, die PATH-Variable für die aktuelle Sitzung um den Pfad zu den bin-Dateien von astromety.net zu erweitern:

export PATH="$PATH:/usr/local/astrometry/bin"

Der Inhalt von $PATH schaut nun so aus:

echo $PATH
/home/mein_username/bin:/usr/local/bin:/usr/bin:/bin:/usr/lib/mit/sbin:/usr/local/astrometry/bin

Das Problem liegt nun in dem Wort temporär. Solange wir die aktuelle Terminalsitzung nicht beenden, ist alles gut. „solve-field“ wird ausgeführt ohne zu meckern. Schließen wir aber die Terminalsitzung,  ist die schöne Erweiterung von  PATH wieder weg. Ein erneutes  „solve-field“ in einer neuen Terminalsitzung führt zu der uns nun schon zur Genüge bekannten Fehlermeldung, daß die Anweisung nicht bekannt ist.

Etwas unbequem, die ganze Sache…

PATH-Variable dauerhaft erweitern

Im Systemverzeichnis /etc befindet sich eine Konfigurationsdatei mit dem Namen profile. In dieser Datei wird unter anderem der Inhalt von PATH festgelegt. Wir könnten nun unseren Pfad zu den astrometry-bins dort hineinzwängen. Allerdings ist das nicht empfehlenswert. Es besteht nämlich die durchaus berechtigte Hoffnung, daß /etc/profile bei einem Systemupdate überschrieben wird. Dann wäre die Änderung wieder weg.

Die Lösung liegt in einer Datei mit dem Namen /etc/profile.local. In dieser Datei schaut unser Computer zuerst nach, wenn er wissen will, was in der PATH-Variable steht. Und das schöne ist: Ein Systemupdate kann /etc/profile.local nichts anhaben.

Schreiben wir also den export Befehl in die Datei /etc/profile.local.

echo "export PATH="$PATH:/usr/local/astrometry/bin"" | sudo tee -a /etc/profile.local

Gab es die Datei noch nicht, so wird sie nun angelegt und der export-Befehl hineingeschrieben. Gibt es die Datei schon, wird der export-Befehl hinten an den schon existierenden Dateiinhalt angehängt.

Fehlt noch ein Neustart des Computers und gut isses.

Typischer Befehl

  • EOS6D 100mm tif
solve-field --downsample 4 --scale-units arcsecperpix --scale-low 13 --scale-high 14 *.tif

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

w

Verbinde mit %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.