Zu profile.local in Ubuntu hinzufügen?

Zu profile.local in Ubuntu hinzufügen?

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.localDatei 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.locales 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.localliegt darin, dass diese Datei nicht überschrieben wird, jedoch /etc/profileaktualisiert 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.dauch 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 zshoder bashoder 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.localdie Datei durch Hinzufügen benutzerdefinierter Befehle erstellt haben, sollten Sie die nächste Zeichenfolge in der Benutzerdatei .profilehinzufügen

test -s /etc/profile.local && . /etc/profile.local

Für alle Benutzer gibt es zwei Situationen:

  1. 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_loginUnd es funktioniert nicht für bestehende Benutzer.

  2. Für bestehende Benutzer (wenn dies beispielsweise root ist) sollten Sie es manuell zu /root/.profileoder für andere Benutzer zu ~/.profileoder 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.

verwandte Informationen