Mir wurde gesagt, ich solle dies mit den folgenden Zeilen anpassen /etc/profile.local
(als Benutzer root):
export PATH=$PATH:~/cmds:.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/lib
export LIBRARY_PATH=$LIBRARY_PATH:~/lib
export ALLOW=1
Aber ich kann keine profile.local
Datei finden, ich verwende Ubuntu 14.04. Das Programm, für das ich dies tun muss, sucht jedenfalls nach einem Befehl in cmds
, also nehme ich an, dass hier nur mein Pfad aktualisiert wird?
Ich bin ziemlich neu bei Linux, daher wäre ich für jede Hilfe dankbar. Ich habe versucht, die globale zu aktualisieren /etc/profile
, aber das hat nichts bewirkt.
Antwort1
Wenn /etc/profile.local
es nicht vorhanden ist, können Sie es einfach erstellen und die Zeilen in einem beliebigen Texteditor schreiben oder diese einfach kopieren und einfügen:
cat <<EOF>/etc/profile.local
export PATH=$PATH:~/cmds:.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/lib
export LIBRARY_PATH=$LIBRARY_PATH:~/lib
export ALLOW=1
EOF
Der Grund, warum Sie dazu aufgefordert wurden, /etc/profile.local
liegt darin, dass diese Datei nicht überschrieben wird, jedoch /etc/profile
aktualisiert wird, wenn Ihr System aktualisiert wird.
Antwort2
Alternativ zu der in@jimmijs Antwort bezüglich/etc/profile.local
, Änderungen wie diese können /etc/profile.d
auch in einer Datei darunter abgelegt werden.
Dateien in diesem Verzeichnis werden bei der Anmeldung von Konten abgerufen. Beispiel:
$ ls -l /etc/profile.d/ | head -5
total 120
-rw-r--r--. 1 root root 771 Mar 26 2014 256term.csh
-rw-r--r--. 1 root root 841 Mar 26 2014 256term.sh
-rw-r--r--. 1 root root 2864 Apr 23 04:28 autojump.bash
-rw-r--r--. 1 root root 619 Apr 23 04:28 autojump.sh
Auf diese Dateien wird zugegriffen, wenn sich Benutzer mit Shells im Bourne-Stil wie zsh
oder bash
oder anmelden csh
.
Diese Dateien würden einfach Ihre Exporte wie folgt enthalten:
$ more /etc/profile.d/lithograph_software.sh
export PATH=$PATH:$HOME/cmds:.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/lib
export LIBRARY_PATH=$LIBRARY_PATH:$HOME/lib
export ALLOW=1
Antwort3
Habe das gleiche Problem und habe nirgendwo diese einfache Lösung gefunden. Nachdem Sie /etc/profile.local
die Datei durch Hinzufügen benutzerdefinierter Befehle erstellt haben, sollten Sie die nächste Zeichenfolge in der Benutzerdatei .profile
hinzufügen
test -s /etc/profile.local && . /etc/profile.local
Für alle Benutzer gibt es zwei Situationen:
Wenn der Benutzer nicht existiert, fügen Sie diese Zeile hinzu
/etc/skel/.profile
Das SKEL-Verzeichnis kann standardmäßig fehlen, wenn Ihr Benutzer bereits Dateien hat
~/.bash_profile
.~/.bash_login
Und es funktioniert nicht für bestehende Benutzer.Für bestehende Benutzer (wenn dies beispielsweise root ist) sollten Sie es manuell zu
/root/.profile
oder für andere Benutzer zu~/.profile
oder hinzufügen~/.bash_profile
. Und melden Sie sich nach diesem Schritt erneut an.
Dieser Ratschlag ist für Betriebssysteme wie Ubuntu geeignet. Andere Betriebssysteme können über diese integrierte Lösung verfügen. Zum Beispiel SUSE Linux.