이 기사에서는 시간, 날짜, 시간대를 설정하고 NTP 서버와 시간을 동기화하고 CentOS Linux의 일반적인 문제를 해결하는 방법을 보여줍니다.
서버에는 두 가지 유형의 시계가 있습니다. 하드웨어 서버가 꺼져 있고 운영 체제 소프트웨어에도 작동하는 하나(실시간 시계) 시계. 이 시계의 시간은 다를 수 있습니다. 운영 체제를 시작한 후 소프트웨어 시계는 하드웨어 시계를 기반으로 하며 OS에 의해 조정될 수 있습니다.
대부분의 애플리케이션은 작동 시 소프트웨어 시계 시간을 사용합니다.
Hwclock:하드웨어 시간 구성
Hwclock Linux에서 하드웨어 시간을 확인하는 데 사용됩니다.
hwclock --localtime
— 수정 없이 하드웨어 시간 확인hwclock --utc
– 하드웨어 시계가 UTC 시간을 표시하는 경우 시간을 표시합니다.
# hwclock --localtime
2020-10-12 06:12:02.912866-04:00
# hwclock --utc
2020-10-12 02:12:18.915319-04:00
시스템 시간에 따라 하드웨어 시간을 설정하려면 다음 명령을 실행하십시오.# hwclock --systohc
원하는 하드웨어 시간을 설정하려면 다음을 실행하십시오.# hwclock --set --date "11 Oct 2020 17:30"
CentOS에서 수동 시간 구성
Linux의 경우 날짜 또는 timedatectl 도구는 소프트웨어 시간을 확인하고 설정하는 데 사용됩니다. 날짜로 전화하면 매개변수가 없으면 서버의 현재 시간이 표시됩니다.
# date
Sun Oct 11 22:14:54 EDT 2020
수동으로 시간을 설정하려면 날짜를 사용할 수 있습니다. 추가 매개변수 사용:
# date MMDDhhmm
예:
# date 10261740
날짜, 시간, 시간대, 동기화 설정, 일광 절약 시간 설정(DST), timedatectl에 대한 자세한 정보를 얻으려면 사용. 서버의 시간 설정에 대한 자세한 정보를 제공합니다.
Timedatectl은 또한 시간을 변경할 수 있습니다.
# timedatectl set-time '2020-10-11 17:51:00'
CentOS에서 시간대를 설정하는 방법
CentOS Linux에서 시간대에 따라 시간을 설정하려면 수동으로 변경할 수 있습니다. 이를 위해 두 가지 도구를 사용할 수 있습니다.
- timedatectl
- tzdata
timedatectl을 사용하여 시간대를 변경하려면 , 다음 명령을 실행하십시오:
# timedatectl set-timezone Canada/Pacific
# date
또는 tzdata를 사용할 수 있습니다. . 이 방법을 사용하려면 /etc/localtime 파일을 교체하세요. 당신이 필요로하는 사람과. 전체 시간대 목록은 /usr/share/zoneinfo/
에 있습니다. 예배 규칙서. 시간대를 캐나다/태평양으로 변경해 보겠습니다. . 현재 위치 시간 파일 백업:
# mv /etc/localtime /etc/localtime.bak
설정하려는 시간대에 대한 심볼릭 링크를 만듭니다.# ln -s /usr/share/zoneinfo/Canada/Pacific /etc/localtime
NTP 시간 서버와 시간을 동기화하도록 CentOS 구성
외부 NTP(Network Time Protocol) 서버를 사용하여 호스트에서 자동 시간 동기화를 구성할 수 있습니다. 그러려면 ntp 서비스를 설치해야 합니다. . 예를 들어 CentOS 7에서 yum을 사용하여 설치할 수 있습니다.
# yum install ntp -y
설치 후 ntpd 서비스를 시작하고 시작 프로그램에 추가합니다.
# systemctl start ntpd.service
# systemctl enable ntpd.service
서비스가 실행 중인지 확인하십시오.
# service ntpd status
Redirecting to /bin/systemctl status ntpd.service ● ntpd.service - Network Time Service Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2020-10-11 15:37:33 +06; 5min ago Main PID: 3057 (ntpd) CGroup: /system.slice/ntpd.service └─3057 /usr/sbin/ntpd -u ntp:ntp -g
/etc/ntp.conf에서 시간을 동기화할 NTP 서버를 지정합니다. :
server 0.pool.ntp.org server 1.pool.ntp.org server 2.pool.ntp.org
시간은 차례로 동기화됩니다. 첫 번째 NTP 서버를 사용할 수 없는 경우 두 번째 NTP 서버가 사용됩니다.
다음 명령을 사용하여 수동으로 지정된 NTP 서버와 시간을 동기화할 수 있습니다.
# ntpdate 192.168.1.23
기본적으로 ntpd "11분 모드"를 활성화합니다. 즉, 11분마다 시간이 동기화됩니다. ntpd를 사용할 수 없는 경우 데몬에서 cron을 사용하여 시간 동기화를 구성할 수 있습니다. cron에 다음 명령을 추가하십시오.
# ntpdate pool.ntp.org
Chronyd를 사용하여 CentOS 8에서 시간을 동기화하는 방법은 무엇입니까?
CentOS 8에서는 chrony를 사용해야 합니다. ntp와 ntpdate가 공식 저장소에서 제거되었기 때문에 시간을 동기화합니다.
chrony의 주요 이점은 다음과 같습니다.
- 시간 동기화의 고속 및 정확성
- 마스터 클록에 대한 액세스 권한이 없는 경우 올바른 작동(ntpd는 일반 요청 필요)
- 기본적으로 동기화 직후에는 프로그램 실행에 문제가 발생하지 않도록 시간을 수정하지 않습니다.
- 더 적은 리소스를 사용합니다.
기본적으로는 크로니 CentOS Linux에 이미 설치되어 있지만 어떤 이유로 설치되어 있지 않다면 설치하십시오:
# dnf install chrony
다른 서비스와 마찬가지로 설치 후 chrony를 시작하고 시작에 추가해야 합니다.
# systemctl start chronyd
# systemctl enable chronyd
chronyd 서비스 상태 확인:
# systemctl status chronyd
시간 동기화가 작동하는지 확인하려면 다음 명령을 실행하십시오.
# timedatectl status
NTP Service: active
<강한>
Chrony 구성 파일은 /etc/chrony.conf입니다. . 동기화에 사용할 NTP 서버 목록을 지정합니다. ntp 좋아요 , chrony에는 chronyc 명령줄 인터페이스가 있습니다. . 현재 시간 동기화 옵션에 대한 정보를 보려면 다음 명령을 실행하십시오.
# chronyc tracking
동기화 서버에 대한 정보를 보려면:
# chronyc sources
특정 날짜와 시간을 수동으로 설정하려면 날짜를 사용할 수 있습니다. 하지만 이전에 chronyd 를 비활성화했습니다. 데몬.
CentOS의 일반적인 시간 동기화 문제
이 섹션에서는 timedatectl로 작업할 때 나타나는 일반적인 오류에 대해 설명합니다. , ntp .
수동 시간 동기화 중에 다음 오류가 발생할 수 있습니다.
# ntpdate pool.ntp.org
ntpdate [26214]: the NTP socket is in use, exiting
즉, ntpd 데몬이 실행 중이며 수동 시간 동기화를 방지하고 있습니다. 시간을 수동으로 동기화하려면 ntpd 데몬을 중지하십시오.
# service ntpd stop
그리고 동기화를 다시 실행하십시오.
timedatectl로 작업할 때도 동일한 오류가 발생할 수 있습니다.
Failed to set time: Automatic time synchronization is enabled.
timedatectl에서 자동 동기화를 비활성화해야 합니다.
# timedatectl set-ntp 0
그리고 다음 명령을 실행하여 원하는 시간과 날짜를 설정하십시오.
# timedatectl set-time '2020-11-12 17:41:00'
표준 시간대를 사용하여 작업할 때 표준 시간대가 서버에 설치되어 있지 않고 현지 시간에 대한 심볼릭 링크를 생성할 수 없는 경우가 발생할 수 있습니다. 호스트에서 시간대를 사용할 수 있도록 하려면 tzdata 도구를 설치하세요.
# yum install tzdata -y
또한 수동 동기화 중에 다음과 같은 몇 가지 오류가 발생할 수 있습니다.
11 Oct 21:11:19 ntpdate[897482]: sendto(xx.xx.xx.98): Operation not permitted
이 경우 방화벽/iptables 규칙을 확인하고 서버에서 UDP 포트 123이 열려 있는지 확인하세요. 또한 일부 NTP 호스트는 유효성 검사 중에 사용하지 못할 수 있습니다.