Добавляете в profile.local в Ubuntu?

Добавляете в profile.local в Ubuntu?

Мне сказали настроить /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 ситуации:

  1. Если пользователь не существует, добавьте эту строку в

    /etc/skel/.profile
    

    Каталог SKEL может быть пропущен по умолчанию, если у вашего пользователя уже есть ~/.bash_profileили ~/.bash_loginфайлы. И это не работает для существующих пользователей.

  2. Для существующих пользователей (например, если это root) вам следует вручную добавить его в /root/.profileили для другого пользователя в ~/.profileили ~/.bash_profile. И повторно войти в систему после этого шага.

Этот совет подходит для такой ОС как Ubuntu. Другие ОС могут иметь это встроенное решение. Например SUSE Linux.

Связанный контент