System time/ko

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

소프트웨어 시계 vs 하드웨어 시계
커널에서 제공하는 시스템 시계는 세계 시간 기준 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
This environment variable defines formatting of dates and times. For more details see The GNU C Library

시스템 시계
Typically the system clock time is set up by the hardware clock on boot. Alternatively it is possible to manually set the system clock or use a network time server.

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

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

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

시간 서버
시간 서버 사용을 다루는 정보를 살펴보려면 NTP 게시글을 살펴보십시오.

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

To check the current software clock time:

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

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

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

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

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

커널 자체 방식
On a sufficiently modern kernel (3.9 or newer), Linux can be configured to handle setting the system time automatically. To do so, also the Set system time ... and Set the RTC time ... drivers need to be activated:

Please not that Set the RTC time based on NTP synchronization is not used by some NTP implementations. Supported NTP implementations include: (more information here) and  (more information in the NTP article). OpenNtpd does not support setting the hardware time and therefore should be avoided.

To check if the hardware time is updated, run:

The 64 bit of the reported number should be unset (0). More information in hwclock man pages (search '11 minute mode').

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

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

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

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

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

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

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

추가 참조

 * NTP - 네트워크 시간 프로토콜을 통해 시스템 시간을 관리하는 다른 방법.

외부 자료

 * http://lifehacker.com/5742148/fix-windows-clock-issues-when-dual-booting-with-os-x - Dual booting with MS Windows, set RealTimeIsUniversal. Also tested with Windows 10.
 * http://tldp.org/HOWTO/Clock-2.html - The Clock Mini-HOWTO.