/etc/profile.local
(루트로서) 조정하려면 다음 줄을 사용하라는 지시를 받았습니다 .
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를 처음 접했기 때문에 도움을 주시면 대단히 감사하겠습니다. 글로벌 업데이트를 시도했지만 /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의 답변/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
zsh
사용자가 또는 bash
또는 와 같은 Bourne 스타일 쉘을 사용하는 경우 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
모든 사용자에게는 두 가지 시나리오가 있습니다.
사용자가 존재하지 않으면 다음 행을 추가하십시오.
/etc/skel/.profile
~/.bash_profile
사용자에게 이미 SKEL 디렉터리나 파일이 있는 경우 기본적으로 SKEL 디렉터리가 누락될 수 있습니다~/.bash_login
. 그리고 기존 사용자에게는 작동하지 않습니다.기존 사용자(예: 루트인 경우)의 경우 수동으로 추가하거나 또는
/root/.profile
에 추가 사용자를 추가 해야 합니다 . 이 단계 후에 다시 로그인하세요.~/.profile
~/.bash_profile
이 권장 사항은 Ubuntu와 같은 운영 체제에 적용됩니다. 다른 운영 체제에는 이에 대한 솔루션이 내장되어 있을 수 있습니다. 예를 들어 SUSE Linux입니다.