texmfhome=ordner mit beschränkten rechten. problem?

Alles rund um das System für Linux, Mac & Windows.


Dude85
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Di 2. Sep 2014, 17:11

texmfhome=ordner mit beschränkten rechten. problem?

Beitrag von Dude85 »

Hallo.

Ich habe mir nun unter opensuse 13.1 statt des im opensuse-repository befindlichen texlives das originaltexlive von der webseite http://tug.org/texlive/ heruntergeladen und installiere es gerade.
ich habe dabei die grafische benutzeroberfläche gewählt. bei dieser muss man auch die installationspfade auswählen. da ich als root installiert habe, war der standardpfad /usr/local/share/texlive/2014 überhaupt erst beschreibbar.

Im Normalfall nutze ich aber einen "normalen" user. ist die installation in den standardordner, für den ich als normaler nutzer keine schreibberechtigung habe, ein problem für das benutzen von latex als normaler nutzer?
auch der pfad für texmfhome und die anderen variablen (texmfsysvar, ...) führt auf ordner, für die ich als normaler nutzer nur lese- und ausführrechte habe.
Kann dies zu einem problem führen? Bspw. beim updaten/herunterladen von paketen? und falls ja, kann ich das beheben, indem ich bspw. den tlmgr (texlive manager) als root ausführe?
in welchen fällen muss man denn generell schreiben können, in den ordnern, auf die die variablen verweisen?

danke im vorraus
dude

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Updates kannst du nur als root ausführen, wenn du als root installiert hast. Das hättest du aber nicht tun müssen.

Wo ist den texmf-home?
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Besserwisser

Beitrag von Besserwisser »

TEXMFHOME ist in der Voreinstellung im HOME-Verzeichnis des Benutzers, der TeX gerade verwendet. Das ist also gar kein Problem.

Den Besitz an /usr/local/texlive (und allen Unterverzeichnissen und Dateien) kannst Du ebenfalls einem beliebigen Benutzer oder einer beliebigen Gruppe übertragen. Der Benutzer kann bzw. die Mitglieder der Gruppe können dann auch Updates etc. mit tlmgr vornehmen. Du musst nur dafür sorgen, dass sämtliche Verzeichnisse und Unterverzeichnisse für other lesbar und ausführbar sind und sämtliche Dateien für other lesbar. Das ist in der Voreinstellung aber normalerweise der Fall.

Um die Abhängigkeiten des Linux-Paketmanagers zu befriedigen solltest Du übrigens noch texlive-dummy (siehe CTAN) installieren. Du hättest auch gleich die 1-Click-Installation von http://www.komascript.de/texlive verwenden können. Die befriedigt die Abhängigkeiten, installiert ein kleines GUI-Programm für Installation und Verwaltung, das auch über das Menü des Desktops verfügbar ist, legt auch schon eine Gruppe für texlive-Manager an und sorgt dafür, dass bei der Installation auch diese Gruppe verwendet wird. Hat bei mir unter openSUSE 13.1 sehr gut funktioniert.

Dude85
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Di 2. Sep 2014, 17:11

Beitrag von Dude85 »

entschuldigt die verspätete Reaktion, ich konnte es heute erst wieder einrichten.

Dank an euch für die Antworten.

@Besserwisser: das texlive-dummy-Paket hatte ich schon vorher installiert. Danke für den Tipp mit der One-Click-Installation. Die werde ich wahrscheinlich das nächste Mal nehmen.
Wegen des Änderns der Besitzrechte, ich denke mal, dass es einen Sinn hat, dass die Verzeichnisse in usr/local/share/texlive nicht von allen beschreibbar sind. Andererseits wäre ja auch nur der texlive-Ordner betroffen. Trotzdem werde ich wohl dabei bleiben dort nichts an den Berechtigungen zu ändern, vorrausgesetzt das Updaten funktioniert.

Das scheint aber zu funktionieren und zwar wie Johannes schrieb:
tlmgr update --all
Ergebnis:
You don't have permission to change the installation in any way.
dagegen erbrachte
sudo tlmgr update --all
das gewünschte Ergebnis.

@Johannes: wie du beschrieben hast, als root geht das update. danke.
zum verzeichnis texmf-home: Das existiert nicht. Sollte es?
sudo find / -name "*texmf*"
erbrachte:
/var/lib/texlive/2014/texmf
/usr/local/share/texlive/2014/texmf-sysconfig
/usr/local/share/texlive/2014/texmf-sysvar
/usr/local/share/texlive/2014/texmf-dist
/usr/local/share/texlive/texmf-local
/usr/local/share/texmf-local
/etc/texlive/2014/texmf
/etc/texmf
.

Zusätzlich waren noch einige Dateien, die "texmf" im Namen haben, aufgelistet. Aber das Verzeichnis texmf-home war nicht dabei.

Wozu ist dieses Verzeichnis wichtig? In der Texliveinstallation steht dazu "Eigene Makro-Pakete". Wenn ich also selbst Packages schreibe, kann ich diese dann dort speichern und Latex wird beim Suchen nach den mittels "usepackage" eingebundenen Paketen auch dort nachschauen? Kann es sein, dass man davon ausgeht, dass ich, wenn ich root bin, meine selbstgeschriebenen Pakete sowieso dem ganzen System zur Verfügung stellen möchte und dass deswegen kein texmf-home-ordner für root angelegt wird?

P.S.: Aus kpsewhich werde ich noch nicht so richtig schlau. damit müssten die Verzeichnisse doch zu finden sein?
kpsewhich -var-value TEXMFHOME
gibt aber:
/usr/local/share//texmf-home
warum der doppelte slash? und was heißt das?
kpsewhich -var-value TEXMFLOCAL
gibt dagegen den existierenden Pfad (also das Verzeichnis texmf-local existiert, meine ich)
/usr/local/share/texmf-local
aus.

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

texmfhome sollte in deinem home-Verzeichnis sein, also besser gesagt ~. texmfhome gehört nämlich dir und nicht root, so kann jeder am System angelegte user eigene Pakete oder Konfigurationsdateien ablegen, welche von globalen Updates ausgeschlossen sind.
Wenn du beispielsweise TeX Live komplett deinstallierst um die neue Version zu instalieren (was du nicht musst), so bleibt texmfhome erhalten und die Pakete stehen auch mit der neuen Installation zur Verfügung.
Du musst TeX Live auch nicht als Root installieren, wenn du nicht willst oder nicht die nötigen Rechte hast.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Dude85
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Di 2. Sep 2014, 17:11

Beitrag von Dude85 »

hm, liegt definitiv nicht in meinem homeverzeichnis.
texmfhome gibt es gar nicht auf meinem system als verzeichnis.
wird das vielleicht erst angelegt, wenn ich es brauche?

Noch so einer

Beitrag von Noch so einer »

Gemeint ist das, was `kpsewhich -var-value=TEXMFHOME` ausgibt. Das sollte ein Verzeichnis im HOME-Verzeichnis des ausführenden Benutzers sein. Wenn man das Original-TeX-Live mit den Standardeinstellungen installiert, ist das auch der Fall.

Näheres zu den verschiedenen TEXMF-Verzeichnissen ist in Abschnitt 2.3 der aktuellen TeX-Live-Anleitung zu finden, die man bei installiertem TeX Live 2014 normalerweise mit `texdoc texlive` bekommt. Ansonsten muss man nach texlive-en.pdf suchen.

Noch so einer

Beitrag von Noch so einer »

PS: Es gibt natürlich auch eine deutsche Übersetzung davon: texlive-de.pdf.

Antworten