• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

Terminal Befehle werden nicht gefunden

Macnum

Martini
Registriert
28.07.10
Beiträge
659
Hallo liebe AT'ler,

ich versuche gerade ein eigenes Paket in meinen LaTeX Dokumenten zu integrieren.
Habe es sowohl in den ordner
/usr/local/texlive/texmf-local/tex/latex/local
als auch
/usr/local/texlive/2010/texmf-dist/tex/latex
kopiert. Nun wollte ich das Kommando
Code:
texhash
ausführen, allerdings meldet mir das Terminal, dass dieser Befehl nicht existiert.
Auch ein
Code:
sudo texhash
bringt keine Änderung.
Hatte dieses Problem schon häufiger. Auch
Code:
makefile, pdflatex, etc.
funktionieren im Terminal nicht, und werden mit der Meldung "Command not found" quittiert.
Wie sage ich LaTeX nun, dass es die Verzeichnisse aktualisieren soll?

Ich habe eine 64-bit Texlive 2010 Installation, die ich als Teil des Mactex Paketes von tug.org geladen habe.
Ich bin als Admin angemeldet und habe auch die Rechte an den Ordnern nicht verändert.
 

MacAlzenau

Golden Noble
Registriert
26.12.05
Beiträge
22.522
Für das Terminal musst du dien Pfad zu den Befehlen in der entsprechenden Variable einsetzen.
Mit Echo $PATH kannst du ihn dir anzeigen lassen, über export verändern.
 

Macnum

Martini
Registriert
28.07.10
Beiträge
659
Ok den Befehl habe ich jetzt gefunden.
Er liegt unter /usr/local/texlive/2010/bin/x86_64-darwin/.
Wenn ich diesen Pfad jetzt abgebe, werden die Befehle zwar ausgeführt, allerdings kommt dann immer:
Code:
directory not writable
Würde der export-Befehl hier Abhilfe schaffen?


EDIT: gelöst

wenn man
Code:
[B]sudo[/B]/usr/local/texlive/2010/bin/x86_64-darwin/texhash
eintippt, kommt die Passwortabfrage und es wird geupdatet.
 

quarx

Brauner Matapfel
Registriert
17.04.05
Beiträge
8.444
Eigene Pakete gehören in den [tt]texmf[/tt]-Baum, also z.B. lokal nach
Code:
~/Library/texmf
oder ggf. in weitere Unterordner. Dann braucht man noch nicht mal [tt]texhash[/tt] auszuführen.
http://www.tug.org/mactex/faq/#qm04
 

Macnum

Martini
Registriert
28.07.10
Beiträge
659
ok das werde ich mal testen

wie kann ich eigentlich erreichen, dass ich nur sudo texhash eingeben muss und nicht den kompletten Pfad?
 

quarx

Brauner Matapfel
Registriert
17.04.05
Beiträge
8.444
Hast Du MacTeX installiert oder eine andere Distribution? In ersterem Fall sollte [tt]texhash[/tt] immer im Pfad liegen.
 

Macnum

Martini
Registriert
28.07.10
Beiträge
659
nur MacTex, aber als 64bit und da liegen sämtliche Befehle in einem anderen Ordner
 

quarx

Brauner Matapfel
Registriert
17.04.05
Beiträge
8.444
Das müsste man doch transparent umschalten können?
Doku schrieb:
Snow Leopard users will see both sets of binaries in the TeX Distribution Preference Pane, and can switch between them.
Und TeX ist in 32 Bit IMHO fast genauso schnell. :)
 

Macnum

Martini
Registriert
28.07.10
Beiträge
659
Auf 32bit umzustellen bringt nichts. Das Kommando wird nicht gefunden...
Woran könnte es noch liegen, dass TeX-Kommandos nicht im richtigen Ordner liegen? Habe lediglich das MacTeX Paket installiert und soweit ich mich erinnere auch bei der Installation nichts verändert. Merkwürdig...


Wrote with my iPhone using Fingertips
 

quarx

Brauner Matapfel
Registriert
17.04.05
Beiträge
8.444
Sieht Dein Screenshot aus den Systemeinstellungen ungefähr so aus:

7554391eyb.jpg


Mein [tt]texhash[/tt] liegt in
Code:
/usr/texbin/texhash
(gib mal [tt]which texhash[/tt] im Terminal ein)
 

Macnum

Martini
Registriert
28.07.10
Beiträge
659
Bei mir liegt es auch in texbin. Allerdings ist dieses nur ein Alias des Verzeichnisses:
/usr/local/texlive/2010/bin/universal-darwin

Meine Systemeinstellungen beinhalten nur die beiden TexLive-Versionen von 2010...
Habe auch einen Test mit der Kopie nach /usr/local/bin gestartet, allerdings zeigt es mir dann folgende Meldung:
Code:
/usr/local/bin/texhash: line 114: kpsewhich: command not found
texhash: Done.

Eine Bekannte von mir hat ebenfalls nur TexLive 2010 installiert und kann den texhash-Befehl anstandslos ausführen.
Welcher Vorgang kann denn dazu führen, dass ein Befehl, welcher im selben Verzeichnis wie auf anderen Rechnern liegt, nicht gefunden wird?
 

quarx

Brauner Matapfel
Registriert
17.04.05
Beiträge
8.444
Also bei mir ist [tt]/usr/texbin[/tt] ein Link auf [tt]/Library/TeX/Distributions/.DefaultTeX/Contents/Programs/i386[/tt], der aber selbst wiederum auf [tt]/usr/local/texlive/2010/bin/x86_64-darwin[/tt] zeigt... und nicht auf [tt]universal-darwin[/tt]. Hast Du mal probiert, in den Systemeinstellungen von 64 Bit auf 32 umzuschalten und ggf. wieder zurück?
 

Macnum

Martini
Registriert
28.07.10
Beiträge
659
Ja habe ich versucht und sowohl bei 32bit als auch wieder zurück auf 64bit funtioniert es nicht. Die einzige Variante die mir noch einfällt, ist alles
neu zu installieren... aber da fehlen mir im Moment die Möglichkeiten...

@Rastafari: Was meinst du mit der "PATH-Variablen" ? Habe die Pfade alle so angegeben, wie sie dastehen und die Datei existiert auch im angesprochenen Verzeichnis...

Wrote with my iPhone using Fingertips
 
Zuletzt bearbeitet:

quarx

Brauner Matapfel
Registriert
17.04.05
Beiträge
8.444
Was sagt denn Dein Terminal bei
Code:
which texhash
 
  • Like
Reaktionen: Macnum

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
PATH == Umgebungsvariable, automatische Suchpfade für ausführbare Programme in der Shell.

Man werfe einen Blick nach /private/etc/paths.d/
Dort finden sich kleine Textdateien, welche beim Shell-Login in alphabetischer Reihenfolge nach Pfadangaben durchsucht werden. Alle dort gefundenen Zeilen werden verkettet zur systemweit verfügbaren Umgebungsvariable PATH.
Um einen oder mehere Ordner zu diesem Suchpfad hinzuzufügen (wobei man eigene Definitionen immer nur am Ende der Kette hinzufügen soll), einfach dort eine weitere Datei mit den entsprechenden Angaben erstellen. (Einfach nach dem gleichen simplen Muster wie die bereits vorhandenen Dateien). Ab dem nächsten Shell-Login (zB neues Fenster/neuer Tab) wird das wirksam, und zwar für alle Benutzer.
 

Macnum

Martini
Registriert
28.07.10
Beiträge
659
Was sagt denn Dein Terminal bei
Code:
which texhash

wenn ich das Kopieren nicht durchführe, dann sagt es gar nichts, erst wenn ich es in /usr/local/bin verschiebe wird ebenjener Pfad gefunden.

Ich werde mal die PATH Variablen ergänzen und mich bei Erfolg oder Misserfolg nochmal melden.


Wrote with my iPhone using Fingertips
 

Macnum

Martini
Registriert
28.07.10
Beiträge
659
Ab dem nächsten Shell-Login (zB neues Fenster/neuer Tab) wird das wirksam, und zwar für alle Benutzer.

Das ist es in der Tat. Es funktioniert, meine Shell kennt endlich texhash und ich habe mir eine langwierige Neuinstallation erspart. Vielen Dank für die Hilfe! :)
Mgdfs Macnum



Wrote with my iPhone using Fingertips