Linux에서 timedatectl 명령을 사용하는 방법
게시 됨: 2022-06-16 Linux timedatectl
명령을 사용하면 시스템 시계와 실시간 시계의 시간, 날짜 및 시간대를 설정할 수 있습니다. 잠시 시간을 내어 모든 것이 어떻게 작동하는지 보여드리겠습니다.
그것은 모두 상대적이다
컴퓨터의 시간 처리는 매우 간단할 것으로 예상되는 것 중 하나입니다. 적어도, 당신이 그것을 조사하기 시작할 때까지는.
Linux 시스템 시계는 Unix 시대 이후의 초 수를 계산합니다. 1970년 1월 1일 UTC 기준 00:00:00입니다. UTC는 협정 세계시(Universal Time Coordinated)의 약자이지만 일반적으로 협정 세계시(Coordinated Universal Time) 또는 그냥 세계시(Universal Time)라고 합니다. 이것은 세상이 시간을 관리하고 규제하는 시간 표준입니다. 다른 시간대는 UTC에 오프셋을 적용하여 현지 시간을 얻습니다. 일부 시간대는 UTC보다 앞서고 다른 시간대는 그 뒤에 있습니다.
Linux 컴퓨터의 시스템 시계는 소프트웨어 기반입니다. 물론 컴퓨터 전원이 꺼져 있을 때는 실행할 수 없습니다. 배터리로 작동되는 하드웨어 기반 실시간 시계인 또 다른 시계는 컴퓨터가 꺼져 있을 때 실행할 수 있습니다. 그 목적은 Linux가 부팅될 때마다 시스템 시계에 시간을 알려주는 것입니다. NTP(네트워크 시간 프로토콜) 서버에 액세스할 수 없는 경우.
NTP 서버는 정확한 시간 정보를 요청하는 컴퓨터에 정확한 시간 정보를 제공하는 서버입니다. 컴퓨터나 랩톱을 부팅하고 인터넷에 액세스할 수 없거나 NTP 서버를 사용하도록 구성되지 않은 경우 실시간 시계가 NTP 서버 대신 시스템 시계를 준비하는 데 사용됩니다.
시스템 시계는 항상 UTC입니다. 현지 시간을 획득해야 하는 모든 애플리케이션은 다음을 수행해야 합니다.
- 시스템 시계에 액세스하고 UTC를 얻습니다.
- 현재 시간대를 파악하고 올바른 오프셋 적용
- 일광 절약 시간제가 적용되는지 여부를 고려하십시오.
UTC에서 현지 시간으로의 변환은 시스템 시계가 아닌 응용 프로그램에서 수행됩니다. 또는 더 정확하게는 응용 프로그램이 연결된 시간 및 날짜 라이브러리에 의해 변환이 수행됩니다. 그렇기 때문에 컴퓨터가 현재 시간대, UTC 시간, Unix 시대 이후 경과한 시간(초), 일광 절약 시간제 적용 여부를 아는 것이 중요합니다.
systemd 기반 Linux 배포판에서는 timedatectl
명령을 사용하여 해당 설정과 값을 보거나 변경합니다.
timedatectl 시작하기
현재 데이터, 시간 및 기타 값을 보려면 status
연산자와 함께 timedatectl
명령을 사용하십시오.
timedatectl 상태
실제로 상태를 삭제할 수 있으며 여전히 동일한 출력을 얻을 수 있습니다.
timedatectl
두 출력 세트 모두 다음을 표시합니다.
- 현지 시간 : 시간대에 따라 컴퓨터가 생각하는 시간입니다.
- 세계 시: UTC 시간입니다.
- RTC Time : 실시간 시계가 사용하는 시간입니다. 일반적으로 UTC입니다.
- 시간대 : 설정된 시간대에 대한 정보입니다.
- 동기화된 시스템 시계 : 시스템 시계가 NTP 서버와 동기화되었는지 여부.
- NTP 서비스 : 컴퓨터의 NTP 서비스가 활성화되어 있는지 여부.
- RTC in local TZ : 실시간 시계가 UTC 대신 현지 시간을 사용하는지 여부.
다음을 입력하여 timedatectl
명령이 지원하는 시간대 수를 확인할 수 있습니다.
timedatectl 목록-시간대 | 화장실 -l
그것은 세계의 시간대보다 훨씬 많습니다. 출력을 grep
으로 파이프하고 "America" 항목을 필터링하고 less
로 파이프하면 보다 관리하기 쉬운 목록을 스크롤할 수 있습니다.
timedatectl 목록-시간대 | grep "미국/" | 더 적은
해당 목록을 검토할 때 "미국"이 가능한 가장 넓은 의미를 갖는 것으로 간주됨을 알 수 있습니다. 두 번째로 알 수 있는 것은 대부분의 항목이 실제 시간대가 아니라는 것입니다.
시간대 설정
timedatectl
에서 지원하는 필터링되지 않은 시간대 목록을 살펴보면 시간대뿐만 아니라 장소도 볼 수 있습니다. 시간대를 설정하려면 EST 또는 GMT와 같은 이름으로 지정하거나 런던이나 뉴욕과 같이 나와 같은 시간대의 위치를 선택할 수 있습니다.
표준 시간대 재설정은 자주 하는 일이 아니지만 집으로 이사했거나 잠시 동안 일하면서 랩톱을 현지화하려는 경우일 수 있습니다. 시간대를 재설정해야 하는 경우 사용하려는 시간대의 위치를 선택하십시오.
이 컴퓨터를 Edmonton과 같은 시간대인 산지 시간으로 설정하겠습니다. 그러면 설정이 어떻게 변경되었는지 살펴보겠습니다.
timedatectl set-timezone "미국/에드먼턴"
timedatectl
시간대가 변경되었고 현지 시간이 변경되었으며 UTC와의 오프셋이 증가했습니다.
관련: Linux에서 파이프를 사용하는 방법
시간 및 날짜 수동 설정
시간과 날짜를 수동으로 설정할 수도 있지만 일반적으로 그럴 필요는 없습니다. 시간 동기화 및 NTP를 사용하는 것은 컴퓨터의 시간과 날짜를 정확하게 유지하는 데 선호되는 방법입니다. 컴퓨터의 날짜 또는 시간을 변경하려고 하면 시간 동기화가 사용 중임을 알리는 오류가 발생할 수 있습니다.
timedatectl 설정 시간 10:30:00
다음 명령을 사용하여 시간 동기화 서비스를 끕니다.
sudo systemctl stop systemd-timesyncd.service
timedatectl
set-time 연산자를 사용하여 시간, 날짜 또는 둘 다를 설정할 수 있습니다. 날짜는 년-월-일 순서 YYY-MM-DD이고 시간은 시-분-초 순서 HH:MM:SS입니다. 다음 명령으로 시간과 날짜를 설정합니다.
timedatectl 설정 시간 "2022-01-30 10:30:00"
그런 다음 timedatectl
을 사용하여 변경 사항이 발생했는지 확인합니다.
timedatectl
날짜와 시간이 변경되었습니다. 또한 컴퓨터가 잘못된 UTC 시간을 사용하고 있습니다. 또한 시스템 시계가 동기화되지 않고 NTP 서비스가 비활성화되었다는 알림을 받습니다.
인터넷에 액세스할 수 있는 경우 시간 동기화 서비스를 복원하는 즉시 시간이 검색되고 모든 세부 정보가 올바르게 재설정됩니다.
sudo systemctl 시작 systemd-timesyncd.service
timedatectl
RTC: UTC 또는 LTZ?
실시간 시계를 UTC 대신 현지 시간대 시간으로 설정하는 것이 가능하지만 권장되지는 않습니다. 변경하면 향후 시스템에 미칠 수 있는 심각한 영향에 대한 경고가 표시됩니다.
이 방법을 보여주는 이유는 시간 설정에 이상한 문제가 있는 컴퓨터를 만날 수 있기 때문입니다. 실시간 시계를 다시 UTC로 설정하는 방법입니다.
먼저 현지 시간대로 설정해야 합니다.
timedatectl set-local-rtc 1
그런 다음 timedatectl
에 상태를 요청할 것입니다.
timedatectl
나는 그들이 그들의 감정을 분명히 했다고 생각합니다.
실시간 시계를 UTC로 복원하려면 다음 명령을 사용하십시오.
timedatectl set-local-rtc 0
설정하고 잊어버려
Linux 배포판을 설치하는 동안 오류를 범하거나 재배치하지 않는 한 일반적으로 시스템 및 실시간 시계 설정을 수정할 이유가 없습니다.
시스템 시계를 표준 시간대에 설정하고 실시간 시계를 UTC로 설정하고 시스템이 네트워크 시간 프로토콜 서버를 폴링하는지 확인하십시오. 대부분의 설치 후 기본 상태입니다.
모든 설정이 완료되면 컴퓨터의 시간 시스템이 알아서 처리합니다.
관련: Linux 서버 시간을 NTP(Network Time Server)와 동기화하는 방법