반응형
여러 환경에 설치 되어 있는 unix 를 사용하다보면, 문자가 깨져서 특수문자가 출력되는 경우가 종종 있다.
그 경우 export LANG=C 라는 명령어를 통해서 영어로 바꾸어 알아볼 수 있게 했었는데 이 의미가 무엇인지 조사해보았다.
- 우선 Locale의 의미를 이해해야한다.
-
- Locale 은 각나라 고유표현 방법등을 고려한 국제화(현지화)를 시키는 기능이라고 할 수 있다.
- 예를 들어, 우리나라는 20201년 03월 18일이라고 표현하지만, 미국에서는 Mar 18 2021 이라고 표현한다.
- 이 때 Locale 과 같은 기능이 없다면, 애플리케이션에서 직접 분기시켜서 처리해야 하는 하드코딩을 거쳐야 하지만,
- Locale을 잘 활용하면 쉽게 국제화가 가능하다.
- Locale 관련 환경변수의 의미
- $ locale
- 터미널에 locale 입력시 환경변수들이 출력된다.
- LANG, LC_ALL, LC_TIME, LC_NUMERIC, LC_ALL 등이 있으며 우리가 주로 설정하는 것은 LANG이다.
- LANG
- 모든 카테고리에 대한 Locale을 설정하는 환경변수 이다.
- 다른 LC_* 환경변수보다는 우선순위가 낮다. (가장 낮다고 보면된다.)
- $ locale
- export LANG=C 의 의미
- 어플리케이션 등이 한글 메시지를 출력할 때 터미널이 한글을 지원하지 못해 깨져 보일 경우 export LANG=C 를 입력하여 해결하곤 한다.
- LANG을 'C'로 설정한다는 것은 locale을 끄는 의미이고
- 즉, 한글로 된 국제화를 취소하고, C언어 혹은 POSIX(glibc)에서 사용하는 기본 Local을 따른다는 의미라고 생각하면된다.
- glibc 란?
- GNU C, GNU프로젝트가 C 표준 라이브러리를 구현한 것
- POSIX 란?
- 이식 가능한 운영 체제 인터페이스 (Portable Operating System Interface)
- UNIX OS의 공통 API를 정리하여 이식성이 높은 유닉스 응용 프로그램을 개발하기 위한 목적으로 IEEE가 책정한 어플리케이션 인터페이스 규격
- 마지막 X는 유닉스 OS 들에 보통 X가 붙어서 붙인거라고 함
- glibc 란?
728x90
반응형
'IT 공부 > OS' 카테고리의 다른 글
OSI 7계층 (L4, L7 스위치) (0) | 2024.02.24 |
---|---|
[ShellScript] getopts 를 이용하여 옵션 받기 (0) | 2022.12.21 |
[Linux] 백스페이스가 안될때 (0) | 2021.05.23 |
[가상환경구성] VirtualBox 게스트확장 CD 관련.. (0) | 2021.05.22 |
[가상환경구성 - 4] CentOS 8 패키지 관리 및 설치 (0) | 2021.05.22 |