리눅스시스템의 날짜와 시간관리
hwclock, date, rdate
안녕하세요. 지토우에요.
지금 막 세미나 하고 온 차라 심장이 덜덜덜...
그래도 이번 것은 간단하고 쉬운거니까요.
다들 재밌게 해봅시다 ^_^
1. 리눅스시스템의 날짜와 시간관리 개념
리눅스 시스템에는 두 가지 개념의 시간이 존재합니다.
하나는 하드웨어 시간, 다른 하나는 운영체제 시간인데요.
하드웨어의 시간은 메인보드에 있는 CMOS의 시간(ROM-BIOS에서 인식하고 있는 시간)을 의미하는 것으로
hwclock 명령어로 확인하고 재설정합니다.
운영체제의 시간은 리눅스시스템(리눅스커널)에서 인식하고 있는 시간을 의미하는 것으로
date 명령어로 확인하고 재설정 할 수 있습니다.
이번 시간에는 hwclock , date , rdate 사이의 정확한 개념을 배워보는 시간입니다.
리눅스 시스템은 새로 부팅을 하거나 재부팅을 할 때에 하드웨어의 CMOS 에서 날짜 및 시간 정보를 가져와서 그 값을 그대로 인식합니다.
즉, 리눅스커널이 인식하고 있는 운영체제의 시간은 하드웨어의 시간값에 종속적인데요.
만약 CMOS의 시간이 틀리게 설정되어 있다면 부팅 후 커널이 인식하는 시간값도 그대로 틀리게 인식되어 있겠지요?
물론 해결방법도 있으므로, 지금부터는 그것에 대해 알아봅시다.
hwclock 명령어는 하드웨어의 시간을 관리하고
date 명령어는 운영체제의 시간을 관리합니다.
즉, hwclock은 CMOS의 시각을 설정 및 확인할 수 있는데요.
하드웨어의 시간을 가져와서 운영체제의 시간을 재설정 할 수도 있습니다.
또, 운영체제 시간을 가져와서 하드웨어의 시간을 재설정할 수도 있습니다.
date 명령어는 단순히 시스템(리눅스 운영체제) 즉 운영체제의 시각을 설정하는 것이며
서버의 CMOS 시각을 설정할 수는 없습니다.
리눅스시스템이 부팅될 때에는 CMOS 시각이 운영체제에 넘겨져서 부팅시 초기시각으로 설정되기 때문입니다.
따라서, hwclock 명령어로 CMOS 시각을 정확히 설정해둬야 합니다.
* 하드웨어 시간과 운영체제 시간의 구분*
구분 |
하드웨어 시간 |
운영체제 시간 |
의미 |
메인보드에 있는 CMOS의 시간 ROM-BIOS에서 인식하고 있는 시간 |
리눅스 시스템의 시간 리눅스 커널의 시간 |
구분 |
하드웨어적인 의미의 시간 |
소프트웨어적인 의미의 시간 |
관계 |
운영체제(리눅스)가 부팅 시 마다 하드웨어의 시간을 가져와서 운영체제에 적용함. 운영체제의 시간이 하드웨어의 시간에 종속됨 | |
변경방법 |
hwclock |
date |
2. 시간 확인
하드웨어의 시간을 확인해 볼까요?
이번에는 운영체제의 시간을 확인해봅시다.
3. hwclock으로 하드웨어 시간과 운영체제 시간 재설정하기
hwclock -s 옵션을 사용해 CMOS 의 시간을 가져와 현재 운영체제의 시간을 재설정했습니다.
결과적으로 둘의 시간값이 동일해졌습니다.
4. 원격 타임 서버와 날짜시간 동기화 시키기
각 나라 및 지역에는 타임서버라는 것이 있습니다.
그 서버의 시간값과 동기화를 시키면 애써 DATE 명령어로 날짜시간을 재설정하지 않아도 자동으로 설정하도록 할 수 있습니다.
rdate 라는 명령어를 사용하는 것인데요.
지정한 원격타임서버의 시간과 현재 시스템의 운영체제 시간을 동기화하는 작업을 합니다.
즉 지정한 원격지의 타임서버로부터 날짜시간정보를 받아와 보여주거나 날짜시간을 재설정하는 역할을 하는 것이지요.
rdate -p 명령어를 사용하면
지정한 원격지의 타임서버에서 시간정보를 가져와서 보여줍니다.
rdate -s 명령어를 사용하면
원격타임서버와 동기화해줍니다.