TeXLive mktexlsr keine Berechtigung trotz root

Hinweis: In dem Thema TeXLive mktexlsr keine Berechtigung trotz root gibt es 11 Antworten auf 2 Seiten. Der letzte Beitrag () befindet sich auf der letzten Seite.
  • Hallo zusammen,


    ich versuche nun schon seit Stunden mir die Minion Pro für LaTeX mit Fontpro ( GitHub - sebschub/FontPro: LaTeX support for Adobe's Pro opentype fonts: Minion Pro, Myriad Pro, Cronos Pro and possibly more )zu installieren. Jedoch bekomme ich, wenn ich als
    root den Befehl

    Code
    mktexlsr /usr/local/share/texmf

    ausführen möchte stets die folgende Ausgabe:



    Code
    linux-vaio:/home/Florian/Desktop/FontPro-master # mktexlsr /usr/local/share/texmf
    /usr/lib/mktex/mktexlsr: Zeile 188: /usr/local/share/texmf/ls-R: Keine Berechtigung
    mktexlsr: could not create file '/usr/local/share/texmf/ls-R'. Skipping...
    mktexlsr: Done.

    Ich kann mir darauf absolut keinen Reim machen, da ich mktexlsr als root mit su ausführe, dürfte diese Meldung eigentlich nicht erscheinen.



    Wäre nett, wenn hier jemand einen Rat hätte.


    Vielen Dank


    Flo

  • Das Verzeichnis hast Du angelegt?


    Zitat
    • mktexlsr: could not create file '/usr/local/share/texmf/ls-R'. Skipping...
    • mktexlsr: Done.

    Für den Inhalt des Beitrages 94848 haftet ausdrücklich der jeweilige Autor: Sauerland

  • Nein, das ist mein lokaler TeX Pfad. Der wird mir mit

    Code
    kpsexpand '$TEXMFLOCAL'


    ausgegeben. Das Verzeichnis existiert aber auf jeden Fall, da das install script von FontPro wie auf der von mir verlinkten GitHub Seite beschrieben durchgelaufen ist, mir aber diese Fehlermeldung ausgegeben hat. Ich habe mir das install script dann mal angeschaut und bemerkt, dass der Fehler eben genau von der letzen Zeile, also dem

    Code
    mktexlsr /usr/local/share/texmf

    ausgelöst wird, der Rest läuft sauber durch. Ich habe auch nachgesehen und in dem Verzeichnis befinden sich alle Dateien, die das install Skript da hin kopieren sollte. Wenn ich mktexlsr alleine aufrufe, also ohne Pfadangabe, dann geht er ja alle Verzeichnisse im TeX-Baum durch. Da bekomme ich genau die selbe Fehlermeldung. Mir ist es ein Rätsel, wie root auf dieses Verzeichnis keine Schreibberechtigung haben kann. Ich habe auch danach gegoogelt und die selbe Fehlermeldung auch bei anderen Leuten öfter gesehen, allerdings immer, weil sie das Kommando nich als root, sondern als user ausgeführt haben.

  • Normalerweise befinden sich die tex/latex Verzeichnisse unter usr/share/...
    Überprüfe mal die Verzeichnisstrukturen und die -rechte unter
    usr/share/tex ..
    usr/local/share ..


    warum installierst Du nicht über die repos mit yast und co.


    Müßte nicht nach der Installation noch ein aktivierungs-Befehl durchlaufen (ist zu lange her)?


    LG

    Für den Inhalt des Beitrages 94867 haftet ausdrücklich der jeweilige Autor: Apfelmann

  • Die Minion Pro kann ja leider nicht über Yast und Co. installiert werden, weil es sich um eine kostenpflichtige kommerzielle Schriftart von Adobe handelt, die zunächst aus den otf Files konvertiert werden muss.
    /usr/local/share/texmf ist mein lokaler TeX Pfad, der auch in der entsprechenden Umgebungsvariable gespeichert ist. Die Verzeichnisse haben alle Eigentümer root
    und natürlich auch nur Schreibberechtigung für root. Da ich mktexlsr aber als root ausführe, sollte das kein Problem sein. Ich möchte die Schrift ja auch systemweit installiert
    haben.

  • Es ist ziemlich egal, was in Shellvariablen steht.
    Und du benennst die Dinge nicht, sondern schreibst über sie.
    Es ist besser zu schreiben: "Ich habe das Script ./scripts/install" ja ausführen lassen, stat "das lief ja durch".
    Es ist auch meist falsch irgendwelche Annahmen für wahr zu halten ( "da das script lief, muss ja auch...")
    Das Script verwendet mkdir -p .....
    Per definitionem gibt dieser Befehl KEINE Fehlermeldung aus.
    Von daher hat Sauerland schon recht, wenn er nachfragt, ob das Verzeichnis auch vorhanden ist.
    Wenn das Script ohne gesetzte Variable TEXMFLOCAL und ohne Argument aufgerufen wird, so erzeugt es fälschlicherweise im Root seine Verzeichnisse.


    Was ergibt denn


    Code
    ls -al /usr/share/texmf

    ?

  • Code
    mktexlsr /usr/local/share/texmf


    ausgelöst wird, der Rest läuft sauber durch. Ich habe auch nachgesehen und in dem Verzeichnis befinden sich alle Dateien, die das install Skript da hin kopieren sollte. Wenn ich mktexlsr alleine aufrufe, also ohne Pfadangabe, dann geht er ja alle Verzeichnisse im TeX-Baum durch. Da bekomme ich genau die selbe Fehlermeldung. Mir ist es ein Rätsel, wie root auf dieses Verzeichnis keine Schreibberechtigung haben kann. Ich habe auch danach gegoogelt und die selbe Fehlermeldung auch bei anderen Leuten öfter gesehen, allerdings immer, weil sie das Kommando nich als root, sondern als user ausgeführt haben.


    Ich glaube aus meinem letzten Post ist durchaus rauszulesen, dass ich in den entsprechenden Verzeichnissen nachgesehen habe und nicht nur einfach davon ausgegangen bin, dass alles passt, nur weil das script gelaufen ist. Im Übrigen habe ich auch geschrieben, dass das script erst durchgelaufen ist, nachdem ich die mktexlsr Zeile entfernt habe. Außerdem habe ich auch vor Ausführung des scripts den Inhalt von /usr/local/share/texmf überprüft und da war der Pfad leer. Auch habe ich geschrieben, dass ich mir das script angesehen habe und dann überprüft habe, ob alles richtig erledigt wurde. Ich kann also ruhigen gewissens sagen, dass das script durchlief. Außerdem möchte ich dir widersprechen, wenn du sagst, es ist egal, was in Umgebungsvariablen steht. Wenn ein shell-script den Inhalt einer Umgebungsvariablen abfrägt, dann ist definitiv nicht egal, was da drinnen steht. Wie auch bereits erwähnt, tritt der Fehler auch auf, wenn ich "mktexlsr /usr/local/share/texmf" einzeln aufrufe. Der Fehler kommt also ganz sicher von mktexlsr. So gut kenn ich mich schon aus...Sorry, wenn das jetzt etwas pampig klingt, aber mich ärgert es, wenn mir die Worte im Mund verdreht werden, ohne meine Posts richtig zu lesen.


    Hier noch die gewünschte Ausgabe, die ich auch noch für /usr/local/share/texmf gemacht habe, da /usr/share/texmf nicht mein lokaler TeX-Pfad ist



    @boser
    mir ist nicht ganz klar, was mir das sagen soll. Da steht doch lediglich, dass TeX-Pfade im Home Verzeichnis von root nicht beachtet werden, wenn mktexlsr als root ausgeführt wird, was ja auch Sinn macht. /usr/local/share/texmf befindet sich jedoch nicht in /root und mit Nutzerrechten habe ich keine Schreibrechte auf /usr/local/share/texmf. mktexlsr muss schon als root laufen für eine systemweite Installation. Ich habe auch nicht vor, TeX unter root zu nutzen.

  • Na denn.


    Da du ja über genügend Wissen verfügst, dass du sogar bei einem install Fehler ignorieren kannst,
    wird der Hinweis genügen:

    Code
    man public
  • Interessant, was manche Leute für eine Einstellung haben. Zuerst nicht richtig lesen und dann auf trotzig machen.
    Ich wüsste nicht, wo ich irgendwelche Fehler ignoriert habe. Bis zu besagtem Punkt ist alles ohne Fehler erledigt worden.


    Naja, vielleicht kommen ja von anderen Leuten noch produktivere Antworten....Und nein, wenn du nicht weiter helfen willst: ich
    brauch keine weitere unreife Trotzantwort von dir, also wenn du nichts sinnvolles zu sagen hast, lass es einfach sein...Danke