환경변수란?

개발 환경/os 2010. 2. 6. 21:30
개발을 하려면, 대부분~ 제일 처음하는 일이 개발환경을 마련하는 것이다.
개발환경이라하면, OS(운영체제)에 개발에 관련된 프로그램들을 주루루룩 설치하는 것인데...
이때 대부분 거치게 되는 것 중에 하나가 "환경변수"의 설정이다.

"환경변수" 란?
그럼, 환경변수라는게 뭘까?
네이버에서 찾아봤다.

IT(정보기술) 용어로, OS의 셸(shell) 등에 설정되어 있다. 
변수의 이름과 의미는 미리 정해져 있기 때문에 환경변수를 읽으면 시스템의 설정을 어느 정도 알 수 있다.

OS의 환경변수는 시스템의 실행파일이 놓여 있는 디렉토리의 지정 등 OS 상에서 동작하는 응용소프트웨어가 참조하기 위한 설정이 기록된다. 
응용소프트웨어로부터는 시스템 콜(system call:프로그래밍 언어에서 지원하지 않는 기능에 대하여 운영체계의 루틴을 호출하여 이용하는 것)이나 OS의 표준 API 등을 통하여 간단히 값을 얻을 수 있도록 되어 있다.

또한 웹 브라우저의 내부 데이터의 일부를 환경변수라고 하는 경우도 있는데, 이것은 HTTP를 요청할 때 송신되는 것으로, 브라우저의 종류나 링크되어 있는 웹 페이지 등 웹 서버가 웹 브라우저에 대하여 최적의 처리를 하기 위해 송신되는 것이다. HTTP를 요청하는 응용소프트웨어는 모두 환경변수를 송신하고 있다고 할 수 있다.

사용자가 의도적으로 변환할 수 있는 환경변수도 많으며, 특히 웹 브라우저에서는 자신의 정체를 숨길 목적으로 브라우저 등의 변수를 변환하는 경우도 있다.

그러나 사실과 다른 값을 환경변수에 설정하면 그 환경변수를 사용하고 있는 서버나 응용소프트웨어가 올바르게 작동하지 않을 수 있다. 특히, 셸의 환경변수를 변환했을 경우에는 심각한 오작동을 일으킬 수 있기 때문에 이를 취급하는 경우에는 주의가 필요하다.

색칠한 부분과 밑줄친 부분이 중요하다.
실행파일이 놓여 있는 디렉토리를 OS에게 알려주는 일, 바로 환경변수의 설정이다.

환경변수의 종류는 사용자 변수, 시스템 변수 등으로 구분이 된다.
개발환경 설정 시에 손대야 할 것은 변수는 PATH, CLASS_PATH 등인데
OS 사용자 별로 개발환경을 다르게 잡고 싶다면 사용자 변수를 수정하고, 
시스템 전체적으로 개발환경을 적용하고 싶으면 시스템 변수를 수정한다.

PATH의 경우에는 실행프로그램의 위치만을 변수 값으로 갖게 되며,
CLASS_PATH의 경우에는 실행프로그램에서 사용하게 되는 라이브러리 파일의 위치를 변수값으로 갖는다.

'개발 환경 > os' 카테고리의 다른 글

환경변수의 설정(XP)  (0) 2010.02.06