나는 다음 URL을 참조하고 있습니다 JAVA_HOME 설정
나는 Nils가 제공한 마지막 솔루션에 관심이 있습니다. 이는 /etc/profile.local 파일을 편집하여 모든 사용자에 대해 설정하는 것입니다. 문제는 제가 openSUSE 12.3을 사용하고 있는데 /etc/profile.local이 없다는 것입니다.
이런 상황에서는 어떻게 해야 할까요?
답변1
이 파일은 업데이트를 얻을 때 덮어쓰이지 않는 /etc/profile.local
시스템별 변경 사항이 발생한 위치였습니다 ./etc/profile
파일이 있으면 시스템에서 계속 파일을 얻을 수 있습니다. 파일이 /etc/profile
있는지 확인할 수 있습니다( profile.local
파일 이름을 검색하거나 파일을 생성하여 시도해 보세요).
그러나 디렉토리가 있고 /etc/profile.d
다음과 /etc/profile
같은 내용이 있는 경우(Ubuntu 12.04부터):
if [ -d /etc/profile.d ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi
. $i
그런 다음 이 메커니즘은 해당 디렉터리에 있는 모든 파일을 가져옵니다( ). 이는 .local
개별 파일을 위한 보다 현대적인 솔루션입니다(다른 패키지가 다른 콘텐츠를 손상시키지 않고 필요에 따라 파일에 넣고 삭제할 수 있다는 장점이 있음). OpenSUSE와 비슷한 것이 있다면 파일을 만들고 /etc/profile.d/your_name.sh
필요한 코드를 그 안에 넣으면 됩니다.
이러한 항목이 모두 없으면 행을 직접 추가할 수 있지만 /etc/profile
패키지가 업그레이드되면 변경 사항이 손실될 위험이 있습니다.
답변2
openSUSE의 첫 번째 줄부터 시작합니다 /etc/profile
.
# /etc/profile for SuSE Linux
#
# PLEASE DO NOT CHANGE /etc/profile. There are chances that your changes
# will be lost during system upgrades. Instead use /etc/profile.local for
# your local settings, favourite global aliases, VISUAL and EDITOR
# variables, etc ...
즉, 루트 계정에서 생성해야 합니다 /etc/profile.local
. 그러면 패키지가 업데이트될 때에도 내용이 /etc/profile
자동으로 선택됩니다 ./etc/profile.local
답변3
내 openSuSE 15.2 시스템의 /etc/profile에서:
#
# And now let's see if there is a local profile
# (for options defined by your sysadmin, not SUSE Linux)
#
test -s /etc/profile.local && . /etc/profile.local
프로덕션 SLES 12.3 서버에서도 동일한 작업을 수행합니다.