Мне сказали настроить /etc/profile.local
следующие строки (как пользователь root):
export PATH=$PATH:~/cmds:.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/lib
export LIBRARY_PATH=$LIBRARY_PATH:~/lib
export ALLOW=1
Но я не могу найти profile.local
файл, у меня Ubuntu 14.04. В любом случае, программа, для которой мне нужно это сделать, ищет команду в cmds
, поэтому я предполагаю, что это просто обновление моего пути?
Я новичок в Linux, поэтому любая помощь будет оценена. Я пробовал обновить global /etc/profile
, но это ничего не дало.
решение1
Если /etc/profile.local
его нет, то вы можете просто создать его и написать эти строки в любом текстовом редакторе или просто скопировать и вставить этот:
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
Причина, по которой вам было сказано поместить его, /etc/profile.local
заключается в том, что этот файл не будет перезаписан, а /etc/profile
будет обновлен при обновлении вашей системы.
решение2
В качестве альтернативы методу, описанному в@jimmij's ответ относительно/etc/profile.local
, такие изменения /etc/profile.d
также можно поместить в файл под .
Файлы в этом каталоге берутся при входе в учетную запись. Например:
$ 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
Эти файлы будут получены, когда пользователи войдут в систему с помощью любой оболочки в стиле Bourne, такой как zsh
или bash
, или csh
.
Эти файлы будут просто содержать ваш экспорт следующим образом:
$ 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
решение3
Получил ту же проблему и не нашел нигде этого простого решения. После создания /etc/profile.local
файла путем добавления пользовательских команд Вам следует добавить следующую строку в пользовательский .profile
файл
test -s /etc/profile.local && . /etc/profile.local
Для всех пользователей возможны 2 ситуации:
Если пользователь не существует, добавьте эту строку в
/etc/skel/.profile
Каталог SKEL может быть пропущен по умолчанию, если у вашего пользователя уже есть
~/.bash_profile
или~/.bash_login
файлы. И это не работает для существующих пользователей.Для существующих пользователей (например, если это root) вам следует вручную добавить его в
/root/.profile
или для другого пользователя в~/.profile
или~/.bash_profile
. И повторно войти в систему после этого шага.
Этот совет подходит для такой ОС как Ubuntu. Другие ОС могут иметь это встроенное решение. Например SUSE Linux.