Solaris 11에서 시작 시 전역 환경 변수 설정

Solaris 11에서 시작 시 전역 환경 변수 설정

시스템이 시작될 때마다 일부 "프로젝트"를 내보낼 수 있도록 Solaris에서 파일을 만들고 싶습니다.

머신이 시작될 때 ORACLE_HOME, ORACLE_SID 및 기타 일부 디렉토리를 내보내고 싶습니다.

내보내야 하는 2개의 Oracle 폴더는 다음과 같습니다.

export ORACLE_HOME=/oracle/product/11.1.0/db_1/
export ORACLE_SID=orcl

내보내야 할 또 다른 폴더는 다음과 같습니다.

export TESTFOLDER_DIR=/test/testfolder/bin/

기계가 시작될 때마다 이 작업을 수행해야 하는데, 이는 매우 짜증나는 일입니다.

인터넷 검색을 시도했지만 아직 아무것도 보지 못했습니다 (계속 검색 중). 내보내기 명령을 사용하여 파일을 생성하는 것은 쉽지만 시스템이 시작 시 사용할 수 있는 위치에 파일을 배치하는 것이 문제입니다.

제가 할 수 있는 방법이 있나요?

답변1

각 계정에 대해 이러한 변수를 설정해야 하는 경우 더 쉬운 방법은 내보내기 문을 /etc/profile. .) 각 계정에 대해 문서가 제공됩니다.

그런 다음 파일 끝에 추가할 수 있습니다.

export ORACLE_HOME=/oracle/product/11.1.0/db_1/
export ORACLE_SID=orcl
export TESTFOLDER_DIR=/test/testfolder/bin/

그렇지 않은 경우에는 쉘 시작 파일(아마도 $HOME/.profile또는 중 하나 $HOME/.bash_profile)에 다음 세 줄을 추가하면 됩니다.

루트로 로그인한 경우(좋은 습관은 아님) 다음 /.profile중 하나 가 됩니다./root/.profile

마지막으로, 어떤 쉘을 사용하든, 비대화형 로그인 콘텐츠(예: 서비스)에 대해서도 이러한 변수를 무조건 설정하려는 경우, 그리고 Solaris 11.3 이하를 실행 중인 경우 이 /etc/default/init파일을 사용할 수 있습니다. export이 파일은 실제 쉘 스크립트가 아니라 실제 구성 파일이므로 내장 명령이 필요하지 않습니다. 예를 들면 다음과 같습니다 .

ORACLE_HOME=/oracle/product/11.1.0/db_1/
ORACLE_SID=orcl
TESTFOLDER_DIR=/test/testfolder/bin/

Solaris 11.4에서는 더 이상 /etc/default/init환경 변수를 사용하여 서비스를 설정하지 않고 대신 svc:/system/environment:init속성을 사용합니다.

# svccfg -s svc:/system/environment:init setprop environment/ORACLE_HOME = astring: /oracle/product/11.1.0/db_1/
# svccfg -s svc:/system/environment:init setprop environment/ORACLE_SID = astring: orcl
# svccfg -s svc:/system/environment:init setprop environment/TESTFOLDER_DIR  = astring: /test/testfolder/bin/
# svcadm refresh svc:/system/environment

답변2

Solaris 11에는 /etc/default/init다음 명령문이 포함됩니다.

# READERS OF THIS FILE: This file is Obsolete.  Migrate to reading properties from svc:/system/environment:init.

따라서 시스템 전체 환경 변수는 SMF 유틸리티와 적절한 방식으로 구성된 적절한 서비스를 사용하여 설정할 수 있고 설정해야 합니다.

관련 정보