System time/ko

시스템 클록에서 돌아온 시스템 시간은 유닉스 시스템에서 시간 상태를 유지할 때 사용합니다. 하드웨어 시계 또는 외부 시간 서버로 설정할 수 있습니다.

소프트웨어 시계 vs 하드웨어 시계
커널에서 제공하는 시스템 시계는 세계 시간 기준(UTC) 1970년 1월 1일 0시 0분 0초부터 지난 간단한 초 횟수로 구연했습니다. 이를 유닉스 시간이라고 합니다.

하드웨어 시계(실시간 시계 또는 RTC)는 보통 메인보드에 붙어있는 부분입니다. 언제든 운영체제의 상태와 상관 없이 일방적으로 동작하며 컴퓨터를 끌 때도 동작합니다.

UTC 시간 vs 지역 시간
하드웨어 시계의 시간은 지역 시간 또는 UTC 시간 두가지 표준 방식으로 표현하여 수정할 수 있습니다. 지역 시간은 DST를 포함한 시간대의 실제 시간입니다. 적당한 시간은 UTC 시간인데 시스템 시간은 시간대를 추가하여 시간차와 DST를 계산하기 때문입니다. 그래서 일광 절약 시간을 자동으로 적용하도록 바꾸며, 하드웨어 시계를 바꾸지 않아도 시간대를 바꿀 수 있습니다. 예외가 있다면 듀얼 부팅을 수행하는 시스템에 있습니다. 다른 운영체제가 UTC 하드웨어 시계 설정을 지원하지 않은 경우입니다(기본적으로 윈도우는 지역 시간을 사용합니다).

시간대
시간을 제대로 유지하려면, 시간대를 선택하여 시스템이 어디에 위치했는지 알려야합니다.

OpenRC
에서 지역 시간대를 찾아보십시오. 시간대는 기대하던 지역을 나타내는 이름이 아니므로 사용을 피하십시오. 예를 들어 는 실제로 GMT+8입니다. 지역 시간을 설정하려면 localtime 시간대를 선택하십시오.

지역 정보를 선택하고 나면 Germany와 같이 에 시간대를 설정하십시오:

이 파일의 정보는 각 꾸러미마다 에 선택한 지역 정보 파일을 복사하여 업데이트하는 에서 사용합니다. 이 파일을 순서에 관계없이 설정하려면 다음 명령을 실행하십시오:

systemd
systemd/ko 에는 시간대를 관리하는 명령이 있습니다:

현재 시간대를 확인하려면:

존재하는 시간대를 확인하려면:

시간대를 Germany 처럼 바꾸려면:

LC_TIME
이 환경 변수en 에는 날짜와 시간의 형식을 정합니다. 자세한 내용은 The GNU C 라이브러리 문서를 참고하십시오.

시스템 시계
보통 시스템 클록 시간은 부팅 과정에서 하드웨어 클록이 설정합니다. 이 대신 네트워크 시간 서버를 활용하거나 시스템 시계를 직접 설정할 수도 있습니다.

시스템 클록 시간을 관리할 때 명령을 사용할 수 있습니다:

현재 소프트웨어 시계 시간을 확인하려면:

2012년 12월 17일 12:30으로 시스템 시계를 설정하려면:

시간 서버
See the NTP article for information concerning the use of time servers.

systemd
systemd에는 시스템 클록 시간을 다루는 명령이 들어있습니다:

현재 소프트웨어 클록 시간을 확인하려면:

시스템 시계를 설정하려면:

하드웨어 시계
하드웨어 시계 기능을 사용하려면, 다음 커널 옵션을 활성화해야합니다:

실행 시간에 현재 하드웨어 시계 시간을 확인하려면:

하드웨어 시계를 현재 시스템 시계에 맞추려면:

하드웨어 시계와 시스템 시간 동기화
보통 하드웨어 시계는 시스템 시계를 부팅과정에 설정할 떄 사용합니다. 이 과정은 커널 자체적으로 처리하거나 부팅 서비스(초기화 스크립트)에서 처리할 수 있습니다. 또한 시스템을 끌 때, 커널이나 서비스에서 소프트웨어 시계를 하드웨어 시계에 기록할 수 있습니다. 이 동작을 통해 부팅을 진행할 때 시스템에서 올바른 시간 정보를 가지고 있도록 보장합니다.

커널 자체 방식
최근의 커널(3.9 이상)에서 리눅스는 시스템 시계를 자동으로 설정할 수 있습니다. 이렇게 설정하려면, Set system time ...로 이동한 후 활성화 할 Set the RTC time ... 드라이버를 선택하십시오:

참고로 일부 NTP 구현체에서는 Set the RTC time based on NTP synchronization 기능을 사용하지 않습니다. 지원하는 NTP 구현체는 (자세한 내용은 여기)와   (NTP 게시글en )가 있습니다.. OpenNtpd 는 하드웨어 시간 설정을 지원하지 않으므로, 이 경우 사용을 피해야 합니다.

하드웨어 시간이 최신인지 확인하려면 다음 명령을 실행하십시오:

보고한 64비트의 숫자는 설정하지 않은(0값) 상태여야 합니다. 더 많은 내용은 hwclock 맨 페이지를 살펴보십시오('11 minute mode'로 검색).

OpenRC
OpenRC가 을 사용할 떄 초기화 스크립트에서는 부팅 과정에서 시스템 시계를 설정할 수 있고, 시스템을 끌 때 시스템 시계를 하드웨어 시계와 동기화할 수 있습니다. 기본적으로 서비스를 활성화한 상태인데 위에서 언급한 커널 내장 방식을 선호한다면 비활성화해야 합니다. 스크립트는 커널의 실시간 시계를 활용할 경우 실행하지 말아야합니다.

그러나 OpenRC에서 필요로 한다면 에서  와  를  로 설정하십시오. 기본적으로 서비스는 UTC 시간대 표준으로 설정합니다. 이 설정을 지역 시간대로 설정하려면,  을 추가하십시오.

서비스를 다시 시작하고 하드웨어 시계 초기화 스크립트를 부팅할 때 동작하도록 설정하십시오:

Systemd
systemd는 부팅 과정에서 시스템 클록을 설정할 수 있습니다. 하드웨어 시계를 관리하려면 명령을 사용하십시오:

현재 하드웨어 시계 시간을 확인하려면:

하드웨어 시계를 현재 시스템 시계에 맞추려면(UTC 시간 표준):

하드웨어 시계를 현재 시스템 시계에 맞추려면(지역시간 표준):

추가 참조

 * NTP - Another way to manage system time is through the network time protocol.
 * OpenNTPD - Lightweight NTP server ported from OpenBSD

외부 자료

 * http://lifehacker.com/5742148/fix-windows-clock-issues-when-dual-booting-with-os-x - MS 윈도우와 듀얼부팅. RealTimeIsUniversal을 참조하십시오. Windows 10에서 시험했습니다.
 * http://tldp.org/HOWTO/Clock-2.html - The Clock Mini-HOWTO.