사용자가 앱이나 응용 프로그램을 설치하고 실행하면 정해진 규칙에 따라 특정 경로에 설치가 되고 해당 위치에 설치한 항목이 위치하는 것을 기본으로 해서 시스템에서 찾고 동작하게 됩니다. 프로그램을 설치했을 때, 그 프로그램의 위치를 운영 체제나 다른 시스템에 알려주는 역할을 하는 것이 바로 환경 변수입니다. 이로 인해 운영 체제와 다른 프로그램들은 해당 프로그램을 필요로 할 때 정확한 위치에서 찾아 사용할 수 있게 됩니다.
이러한 경로 정보는 환경 변수를 통해 추가하거나 삭제하면서 사용자에 의해 관리되기도 합니다. 예를 들어, PATH 환경 변수는 운영 체제가 실행 파일을 찾아갈 위치들을 나열하고 있습니다.
프로그램을 설치하면 해당 프로그램의 위치 등 정보를 운영체제에게 알려주는 역할을 합니다. 더불어 환경 변수는 시스템 설정 정보를 공유하고 관리하는 중요한 역할도 합니다.
환경 변수란
환경 변수는 운영 체제에서 프로그램의 위치 정보와 같은 중요한 시스템 설정 정보를 저장하고 공유하는 역할을 합니다. 이를 통해 사용자는 특정 프로그램을 경로 지정 없이 어디서든 바로 실행할 수 있습니다.
환경 변수는 프로그램이 정상적으로 작동하고 필요한 리소스를 찾을 수 있도록 도와줍니다. 또한, 환경 변수는 시스템 전체에서 공유되거나, 필요에 따라 특정 사용자 또는 응용 프로그램에 대해 설정될 수 있습니다. 이런 방식으로 환경 변수는 시스템 설정 관리와 응용 프로그램 간 상호 작용을 원활하게 합니다.
대부분의 응용 프로그램은 설치 과정에서 필요한 환경 변수를 자동으로 등록합니다. 이렇게 함으로써 해당 응용 프로그램이 정상적으로 작동하고 다른 응용 프로그램과 상호 작용할 수 있는 적절한 환경을 구성합니다. 명령 프롬프트나 터미널에서 해당 응용 프로그램을 실행할 때마다 복잡한 경로 지정 없이도 바로 실행할 수 있게 됩니다.
그러나 일부 경우에는 사용자가 직접 환경 변수를 설정해야 할 때도 있습니다. 이런 경우 주로 사용자 지정 구성이 필요하거나 특별한 요구 사항이 있는 소프트웨어들입니다. 이럴 때에는 해당 소프트웨어의 설치 가이드나 문서 등에서 어떤 환경 변수를 어떻게 설정해야 하는지 안내받게 됩니다.
환경 변수 설정 시 주의 사항
환경 변수를 설정할 때는 다음과 같은 내용들을 주의해야 합니다.
- 환경 변수는 대소문자를 구분합니다. 따라서 정확한 이름을 사용해야 합니다. 또한, 경로나 파일명 등을 입력할 때도 오타가 없어야 합니다.
- 시스템 환경 변수는 컴퓨터 전체에 영향을 미칩니다. 특히 PATH와 같은 중요한 시스템 환경 변수를 변경할 때는 매우 주의해야 합니다. 잘못 변경하면 시스템이 제대로 동작하지 않을 수 있습니다.
- 필요 없다고 생각되는 환경 변수를 삭제하기 전에 그 변수가 어떤 역할을 하는지 반드시 확인해야 합니다. 중요한 환경 변수를 삭제하면 응용 프로그램이 제대로 동작하지 않거나, 시스템 오류가 발생할 수 있습니다.
- 큰 변화를 줄 경우 혹시 모르니 원래 값들을 따로 저장해두는 것을 권장합니다.
- 환경 변수 변경 후에 적용되기 위해서는 일부 경우에서 컴퓨터 재부팅이 필요할 수 있습니다.
- 특정 프로그램에서 요구하는 환경 변수 설정 사항이 있는지 확인하고, 그에 맞게 설정하세요.
운영 체제별 환경 변수
환경 변수 설정은 각 운영체제에서 쉘 환경의 설정 파일을 편집하여 변경할 수 있습니다. 이러한 설정은 컴퓨터 시스템의 동작 및 응용 프로그램의 구성을 조정하는 데 중요한 역할을 합니다.
Windows
Windows에서는 다양한 방법으로 환경 변수를 설정하고 관리할 수 있습니다.
- 환경 변수 메뉴: 환경 변수 설정 메뉴를 통해 환경 변수를 수정하거나 추가할 수 있습니다. 이 방법은 주로 GUIGraphical User Interface를 선호하는 사용자에게 적합합니다.
- 명령 줄을 통한 설정:
setx
명령어와 같은 명령 줄 도구들을 이용하여 환경변수를 추가, 삭제, 수정할 수 있습니다. 이 방법은 주로 명령줄 인터페이스(CLI)를 선호하는 개발자나 IT 전문가들이 많이 사용합니다. - 일반적으로 사용자 환경 변수는 시스템 환경 변수보다 우선권을 가지게 됩니다. 다만, Windows에서 path 변수는 이와 반대로 동작하게 됩니다.
- 일반적으로 Windows 의 환경 변수 파일은
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
경로의 레지스트리에 시스템 환경 변수가 저장되고HKEY_CURRENT_USER\Environment
에 사용자 환경 변수가 저장됩니다.
macOS
macOS에서는 Bash 또는 Zsh와 같은 쉘이 주로 사용되며, 해당 쉬의 설정 파일(.bashrc, .zshrc) 등에서 환경변수를 정의하고 관리합니다.
- 사용자 별 환경 변수: 각 사용자마다 자신만의 쉘이 있으며, 그 안에서 개인적인 작업환경이 형성됩니다. 따라서 각각의
.bashrc
또는.zshrc
파일 내에 원하는 환경변수를 정의함으로써 개인적인 작업환경 구성이 가능합니다. - 시스템 전체적인 경로 정보:
/etc/paths
파일 내부에 원하는 경로 정보(PATH) 추가가 가능하며, 이것은 시스템 전체적으로 영향력을 발휘합니다.
Linux
Linux 역시 macOS와 유사하게 Bash 등 다양한 종류의 Shell이 주로 사용되며, 해당 Shell들의 설정 파일(.bashrc, .bash_profile 등)에서 환경변수를 정의하고 관리합니다.
- 사용자 별 환경 변수: 사용자마다 각각의
.bashrc
또는.bash_profile
파일이 존재하며, 이 파일들 내에 원하는 환경변수를 정의함으로써 개인적인 작업환경 구성이 가능합니다. - 시스템 전체 환경 변수:
/etc/environment
파일은 시스템 전체에 영향을 미치는 환경변수를 설정할 수 있는 곳입니다. 이곳에 설정된 변수들은 모든 사용자와 프로세스에서 참조됩니다.
모바일
일반적으로 모바일 기기에서는 환경 변수를 직접적으로 설정하거나 조작하는 것은 일반 사용자에게는 제한되어 있습니다.
- Android 및 iOS와 같은 모바일 운영체제는 사용자에게 앱을 통해 제한된 환경 설정만 허용하고, 시스템 레벨의 환경 변수에 대한 접근을 허용하지 않습니다. 모바일 운영체제는 이러한 환경 변수를 자체적으로 관리하며, 일반적인 사용자는 환경 변수를 직접 조작할 필요가 없습니다.
- 모바일 앱은 사용자의 데이터 및 환경 설정을 관리하고, 앱의 설정 화면을 통해 사용자가 앱의 동작을 조정할 수 있게 제공합니다. 사용자는 각 앱의 설정을 통해 환경과 관련된 특정 설정을 변경할 수 있습니다. 이러한 설정은 개별 앱에서 제어되며, 시스템 전체적인 환경 변수에 대한 직접적인 접근은 보안 및 안정성 이슈로 인해 일반적으로 허용되지 않습니다.
- 따라서 모바일 기기에서는 환경 변수를 직접 다루는 대신, 각 앱의 설정 및 시스템 설정을 통해 필요한 사용자 지정을 수행하게 됩니다.