Wenn ich aus dem Quellcode kompilierte Software installiere, platziere ich sie normalerweise in / usr / local /, was meiner Erfahrung nach der mit Abstand häufigste Standard ist, und in der Standardpraxis zumindest für Debian und seine Derivate.
Jetzt möchte ich etwas in meinem Home-Verzeichnis installieren, und obwohl ich theoretisch jedes Unterverzeichnis erstellen und dort platzieren konnte, begann ich mich über die verschiedenen Optionen zu fragen und darüber, ob es eine Standardpraxis gibt. Ich habe im Wesentlichen zwei Antworten gefunden:
- Benutzerdefiniertes Unterverzeichnis mit dem Namen Programme , usr
- Kein Unterverzeichnis mit Unterverzeichnissen ~ / bin , ~ / lib64
Ich mag keines von beiden und dachte, da es bereits ein ~ / .local- Unterverzeichnis gibt, warum nicht dort installieren? Es enthält bereits eine ~ / .local / Freigabe , was die private / usr / Freigabe eines lokalen Benutzers bedeutet. Daher erscheint es sehr logisch, Programme zu installieren und die gesamte ~ / .local / bin , ~ / .local / zu erstellen lib etc.
Meine Frage ist: Ist es in Ordnung, lokale Software in ~ / .local zu installieren?
Warum finde ich keine Verweise darauf, wenn ich in Google oder Stackexchange nach Orten suche, an denen Software pro Benutzer installiert werden kann? Für mich scheint es ein so offensichtlicher Ort zu sein, dass das Fehlen von Beiträgen darauf hindeutet, dass es irgendwo einen Haken geben muss.
Vielleicht kann jemand, der dies getan hat, seine Erfahrungen teilen, sei es positiv oder negativ?
Antworten:
Das ist gut.
Denken Sie daran, es ist Ihr Home-Verzeichnis. Sie können dort alles tun, was Sie wollen. GNOME / KDE / was auch immer sich beschweren könnte, wenn Sie .config löschen, aber alles, was Sie in Ihrem Home-Verzeichnis tun, wirkt sich per Definition nur auf Sie aus . Das Hinzufügen einiger Verzeichnisse in .local ist harmlos.
Das Einfügen von Daten in ein Punktverzeichnis ist je nach Workflow leicht unpraktisch. Wie stark Sie davon betroffen sind, hängt davon ab, wie Sie im Dateisystem navigieren und wie oft Sie dies tun müssen. Wenn ich es wäre, würde ich ein reguläres Verzeichnis erstellen, das als Root fungiert (wahrscheinlich als lokal oder als Apps bezeichnet ) und es auf diese Weise verwenden, aber das ist eine persönliche Präferenz.
Wenn Sie auf Probleme stoßen, ist das System nicht so eingerichtet, dass Ihr Verzeichnis angezeigt wird. Sie müssen PATH, MANPATH, INFOPATH und LD_LIBRARY_PATH in Ihrer .bashrc-Datei anpassen (oder was auch immer für Ihre Shell geeignet ist). Es wird wahrscheinlich auch andere kleine "Fallstricke" geben.
Ich bin bereit zu sein, dass es hier nicht viele Posts darüber gibt, weil nicht viele Leute es tun müssen. Wenn es sich um einen Personal Computer handelt, gibt es nur wenige Gründe, / usr / local nicht zu verwenden. In den meisten Distributionen ist bereits alles dafür eingerichtet. Wenn Sie nur ein paar Apps installieren, erstellen viele Leute Verzeichnisse in / opt (wie / opt / blender). Solaris tut dies, wenn Sie ein Paket installieren.
Der einzige wirkliche Anwendungsfall für das, was Sie beschreiben, ist für Entwickler oder Leute, die kein Root auf ihrem Computer haben. Die meisten Leute, die kein Root haben, bitten den Administrator einfach, ein Programm für sie zu installieren - sie würden wahrscheinlich sowieso nicht wissen, wie man ein Programm kompiliert.
quelle
Die offensichtlichen Gründe warum nicht:
~/bin
zu Ihrem hinzugefügtPATH
(was die Installation in diesem Verzeichnis bequemer macht )./usr/local/bin
. Ihr Punktverzeichnis kann (normalerweise) nicht mit anderen Benutzerkonten geteilt werden.Positiv zu vermerken ist, dass es die Unordnung ein wenig reduzieren würde. Ich habe 55 reguläre Verzeichnisse in meinem Home-Verzeichnis sowie 91 Punktverzeichnisse.
quelle
Die gemeinsame Konvention (wird zB mit einigen
install-home
Zielen, wie zum merkuriellen , genannthg
) besteht darin , sie setzen sich direkt unter$HOME
, das heißt, in$HOME/bin
,$HOME/etc
,$HOME/lib
, und so weiter. Dies ist das Ergebnis des GNUish-Konfigurationstanzes, der mit beginnt./configure --prefix=$HOME
.quelle
Ja, das können Sie, aber es wird durch andere Softwareinstallationen verschmutzt. Ich benutze
$HOME/local
und modifiziere bashrc mit Pfad wieSie wissen also, was Sie installiert haben, und da sie sich zuerst auf dem Pfadstapel befinden, werden sie vor den anderen Binärdateien, Bibliotheken usw. gefunden. Wenn Sie beispielsweise configure oder cmake verwenden, ist das Präfix leicht zu merken
quelle
~/.local
Software einzufügen, "aber sie wird durch andere Softwareinstallationen verschmutzt." Also "Ich benutze$HOME/local
..." (stattdessen). Huh? Was ist der Unterschied? (2) Nicht.
am Anfang von setzenPATH
.