초보자가 Vagrant 시간의 어긋남을 수정하기 전에 한 일
소개
로컬 개발 환경에서 PHP의 공부중에 터미널에 표시되는 시각이 어긋나 있는 것을 깨닫고, 이 시각의 어긋남을 고치려고 했습니다. 초보자를 위해, 무엇을 조사하면 좋을지도 모르는 상태에서 시작하고 있습니다.
만약을 위해, 자신의 학습 일기적인 것이므로 누군가의 참고가 되는 대물이 아닙니다. . .
했던 일
PHP의 시간대 확인
다른 도시에 설정되어 있으면 물론 시간은 어긋나는 것으로, 타임 존을 확인했습니다.
덧붙여서 「UTC(협정 세계시)」란, 세계 각지의 표준시를 결정할 때의 기준이 되는 「세계 표준시」를 말하며, 예를 들어 일본의 표준시(JST)는 「UTC」보다 9시간 진행되어 표시되어 라는 것.
<?php
phpinfo();
?>
소스 파일에 상기를 기술해, 브라우저상에서 실행합니다.
《Default timezone》이 Asia/Tokyo가 되어 있으므로 문제 없었습니다.
덧붙여서, 상기 이외의 확인 방법도 있습니다. 그리고, 만약 Default timezone이 다른 경우는 php.ini 를 설정하거나라고 구그하면 많은 기사가 나왔습니다.
호스트 측 시간과 동기화
$ date
2019年 6月21日 金曜日 21時37分12秒 JST
$ vagrant ssh
Last login: Tue Jun 18 17:52:56 2019 from 10.0.2.2
[vagrant@localhost ~]$ date
2019年 6月 18日 火曜日 17:54:08 JST
PC(mac)의 시각은 맞고 있는 것과, Vagrant에 로그인한 뒤에 시각이 어긋나므로 호스트측의 시각과 동기 시키면 좋을까라고 생각해 조사해 본다.
vagrant로 시간이 이상한 경우의 대처법 참고
Vagrantfile을 검색하면 여러 나오고 곤란하다.
그 같은 녀석을 선택하고 Vagrantfile의 마지막 end 직전에 다음 코드를 추가하여 저장.
config.vm.provider :virtualbox do |vb|
vb.customize ["setextradata", :id, "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled", 0]
end
# -*- mode: ruby -*-
# vi: set ft=ruby :
# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure("2") do |config|
# The most common configuration options are documented and commented below.
# For a complete reference, please see the online documentation at
# https://docs.vagrantup.com.
# Every Vagrant development environment requires a box. You can search for
# boxes at https://vagrantcloud.com/search.
config.vm.box = "bento/centos-6.8"
# Disable automatic box update checking. If you disable this, then
# boxes will only be checked for updates when the user runs
# `vagrant box outdated`. This is not recommended.
# config.vm.box_check_update = false
# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine.
# NOTE: This will enable public access to the opened port
# config.vm.network "forwarded_port", guest: 80, host: 8080
# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine and only allow access
# via 127.0.0.1 to disable public access
# config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"
# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network "private_network", ip: "192.168.33.10"
# Create a public network, which generally matched to bridged network.
# Bridged networks make the machine appear as another physical device on
# your network.
# config.vm.network "public_network"
# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
# config.vm.synced_folder "../data", "/vagrant_data"
# Provider-specific configuration so you can fine-tune various
# backing providers for Vagrant. These expose provider-specific options.
# Example for VirtualBox:
#
# config.vm.provider "virtualbox" do |vb|
# # Display the VirtualBox GUI when booting the machine
# vb.gui = true
#
# # Customize the amount of memory on the VM:
# vb.memory = "1024"
# end
#
# View the documentation for the provider you are using for more
# information on available options.
# Enable provisioning with a shell script. Additional provisioners such as
# Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
# documentation for more information about their specific syntax and use.
# config.vm.provision "shell", inline: <<-SHELL
# apt-get update
# apt-get install -y apache2
# SHELL
config.vm.provider :virtualbox do |vb|
vb.customize ["setextradata", :id, "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled", 0]
end
end
결과 좋지 않았습니다.
편집한 Vagrantfile이 잘못 되었습니까?
새로 추가할 3행의 삽입할 위치가 잘못되어 있나요?
NTP 서버를 참조하여 시간을 맞추기
네트워크에서 현재 시간을 제공하는 서비스(NTP)에 따라 시간을 맞춥니다.
그건 그렇고, 시간은 하드웨어 시계와 소프트웨어 시계입니다.
Linux/UNIX 서버가 시작되면 우선 시간 동기화 설정 참고
$ date
2019年 6月21日 金曜日 21時37分12秒 JST
[root@localhost vagrant]# date;clock
2019年 6月 18日 火曜日 18:10:25 JST
2019年06月18日 18時10分26秒 -0.315130 秒
시간은 어긋난 상태로 남아 있습니다.
# chkconfig
에서 나오는 목록에 ntpd가 있는지 확인합니다.
[root@localhost vagrant]# chkconfig
auditd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
blk-availability 0:off 1:on 2:on 3:on 4:on 5:on 6:off
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
htcacheclean 0:off 1:off 2:off 3:off 4:off 5:off 6:off
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ip6tables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off
kdump 0:off 1:off 2:off 3:on 4:on 5:on 6:off
lvm2-monitor 0:off 1:on 2:on 3:on 4:on 5:on 6:off
mdmonitor 0:off 1:off 2:on 3:on 4:on 5:on 6:off
mysqld 0:off 1:off 2:off 3:on 4:on 5:on 6:off
netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off
netfs 0:off 1:off 2:off 3:on 4:on 5:on 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
nfs 0:off 1:off 2:off 3:off 4:off 5:off 6:off
nfs-rdma 0:off 1:off 2:off 3:off 4:off 5:off 6:off
nfslock 0:off 1:off 2:off 3:on 4:on 5:on 6:off
ntpdate 0:off 1:off 2:off 3:off 4:off 5:off 6:off
postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off
rdisc 0:off 1:off 2:off 3:off 4:off 5:off 6:off
rdma 0:off 1:off 2:off 3:off 4:off 5:off 6:off
restorecond 0:off 1:off 2:off 3:off 4:off 5:off 6:off
rpcbind 0:off 1:off 2:on 3:on 4:on 5:on 6:off
rpcgssd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
rpcsvcgssd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
rsyslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
saslauthd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
udev-post 0:off 1:on 2:on 3:on 4:on 5:on 6:off
vboxadd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
vboxadd-service 0:off 1:off 2:on 3:on 4:on 5:on 6:off
vboxadd-x11 0:off 1:off 2:off 3:on 4:off 5:on 6:off
없었기 때문에,
# yum install ntp
에서 설치(Redhat 계)합니다.
(있는 경우 설치되었으므로 생략)
# chkconfig
에서 다시 확인.
ntpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
모두 off이므로
[root@localhost vagrant]# chkconfig ntpd on
에서 자동 시작 설정
[root@localhost vagrant]# service ntpd restart
ntpd を停止中: [失敗]
ntpd を起動中: [ OK ]
에서 ntpd를 다시 시작
[root@localhost vagrant]# ntpq -p
에서 동기화 상태 확인
[root@localhost vagrant]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
+y.ns.gin.ntt.ne 249.224.99.213 2 u 16 64 1 19.630 1.750 3.933
*jptyo5-ntp-004. .SHM. 1 u 15 64 1 17.545 -0.088 4.329
+ntp3.jst.mfeed. 133.243.236.17 2 u 14 64 1 29.366 -1.279 4.191
+kuroa.me 35.73.197.144 2 u 46 64 1 23.841 -0.510 4.544
각 서버 앞에 * 또는 +가 붙으면 동기화 완료
(*, +가 붙지 않을 때는 조금 기다렸다가 다시 # ntpq -p 로 확인)
[root@localhost vagrant]# date;clock
2019年 6月 25日 火曜日 05:57:39 JST
2019年06月18日 18時35分17秒 -0.763819 秒
시스템 시계의 시간이 수정되었습니다.
하드웨어 시계의 시간은 여전히 좋지 않습니다.
Linux 서버 시간 설정 절차 및 오류(the NTP socket is in use, exiting) 참고
$ sudo hwclock -w
로 하드웨어 시계의 시간을 시스템 시계의 시간으로 맞추기
[root@localhost vagrant]# date;clock
2019年 6月 25日 火曜日 17:48:33 JST
2019年06月25日 17時48分34秒 -0.768130 秒
이제 시간의 어긋남을 수정할 수 있었습니다.
끝에
/etc/ntp.conf를 편집하는 것이 더 좋습니까? 라고도 생각했습니다만, 우선 시각은 수정할 수 있었으므로 또 이번에 하고 싶습니다.
Reference
이 문제에 관하여(초보자가 Vagrant 시간의 어긋남을 수정하기 전에 한 일), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/y0shihiro/items/13628b39e620354be6a3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
PHP의 시간대 확인
다른 도시에 설정되어 있으면 물론 시간은 어긋나는 것으로, 타임 존을 확인했습니다.
덧붙여서 「UTC(협정 세계시)」란, 세계 각지의 표준시를 결정할 때의 기준이 되는 「세계 표준시」를 말하며, 예를 들어 일본의 표준시(JST)는 「UTC」보다 9시간 진행되어 표시되어 라는 것.
<?php
phpinfo();
?>
소스 파일에 상기를 기술해, 브라우저상에서 실행합니다.
《Default timezone》이 Asia/Tokyo가 되어 있으므로 문제 없었습니다.
덧붙여서, 상기 이외의 확인 방법도 있습니다. 그리고, 만약 Default timezone이 다른 경우는 php.ini 를 설정하거나라고 구그하면 많은 기사가 나왔습니다.
호스트 측 시간과 동기화
$ date
2019年 6月21日 金曜日 21時37分12秒 JST
$ vagrant ssh
Last login: Tue Jun 18 17:52:56 2019 from 10.0.2.2
[vagrant@localhost ~]$ date
2019年 6月 18日 火曜日 17:54:08 JST
PC(mac)의 시각은 맞고 있는 것과, Vagrant에 로그인한 뒤에 시각이 어긋나므로 호스트측의 시각과 동기 시키면 좋을까라고 생각해 조사해 본다.
vagrant로 시간이 이상한 경우의 대처법 참고
Vagrantfile을 검색하면 여러 나오고 곤란하다.
그 같은 녀석을 선택하고 Vagrantfile의 마지막 end 직전에 다음 코드를 추가하여 저장.
config.vm.provider :virtualbox do |vb|
vb.customize ["setextradata", :id, "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled", 0]
end
# -*- mode: ruby -*-
# vi: set ft=ruby :
# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure("2") do |config|
# The most common configuration options are documented and commented below.
# For a complete reference, please see the online documentation at
# https://docs.vagrantup.com.
# Every Vagrant development environment requires a box. You can search for
# boxes at https://vagrantcloud.com/search.
config.vm.box = "bento/centos-6.8"
# Disable automatic box update checking. If you disable this, then
# boxes will only be checked for updates when the user runs
# `vagrant box outdated`. This is not recommended.
# config.vm.box_check_update = false
# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine.
# NOTE: This will enable public access to the opened port
# config.vm.network "forwarded_port", guest: 80, host: 8080
# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine and only allow access
# via 127.0.0.1 to disable public access
# config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"
# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network "private_network", ip: "192.168.33.10"
# Create a public network, which generally matched to bridged network.
# Bridged networks make the machine appear as another physical device on
# your network.
# config.vm.network "public_network"
# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
# config.vm.synced_folder "../data", "/vagrant_data"
# Provider-specific configuration so you can fine-tune various
# backing providers for Vagrant. These expose provider-specific options.
# Example for VirtualBox:
#
# config.vm.provider "virtualbox" do |vb|
# # Display the VirtualBox GUI when booting the machine
# vb.gui = true
#
# # Customize the amount of memory on the VM:
# vb.memory = "1024"
# end
#
# View the documentation for the provider you are using for more
# information on available options.
# Enable provisioning with a shell script. Additional provisioners such as
# Puppet, Chef, Ansible, Salt, and Docker are also available. Please see the
# documentation for more information about their specific syntax and use.
# config.vm.provision "shell", inline: <<-SHELL
# apt-get update
# apt-get install -y apache2
# SHELL
config.vm.provider :virtualbox do |vb|
vb.customize ["setextradata", :id, "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled", 0]
end
end
결과 좋지 않았습니다.
편집한 Vagrantfile이 잘못 되었습니까?
새로 추가할 3행의 삽입할 위치가 잘못되어 있나요?
NTP 서버를 참조하여 시간을 맞추기
네트워크에서 현재 시간을 제공하는 서비스(NTP)에 따라 시간을 맞춥니다.
그건 그렇고, 시간은 하드웨어 시계와 소프트웨어 시계입니다.
Linux/UNIX 서버가 시작되면 우선 시간 동기화 설정 참고
$ date
2019年 6月21日 金曜日 21時37分12秒 JST
[root@localhost vagrant]# date;clock
2019年 6月 18日 火曜日 18:10:25 JST
2019年06月18日 18時10分26秒 -0.315130 秒
시간은 어긋난 상태로 남아 있습니다.
# chkconfig
에서 나오는 목록에 ntpd가 있는지 확인합니다.
[root@localhost vagrant]# chkconfig
auditd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
blk-availability 0:off 1:on 2:on 3:on 4:on 5:on 6:off
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
htcacheclean 0:off 1:off 2:off 3:off 4:off 5:off 6:off
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ip6tables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off
kdump 0:off 1:off 2:off 3:on 4:on 5:on 6:off
lvm2-monitor 0:off 1:on 2:on 3:on 4:on 5:on 6:off
mdmonitor 0:off 1:off 2:on 3:on 4:on 5:on 6:off
mysqld 0:off 1:off 2:off 3:on 4:on 5:on 6:off
netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off
netfs 0:off 1:off 2:off 3:on 4:on 5:on 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
nfs 0:off 1:off 2:off 3:off 4:off 5:off 6:off
nfs-rdma 0:off 1:off 2:off 3:off 4:off 5:off 6:off
nfslock 0:off 1:off 2:off 3:on 4:on 5:on 6:off
ntpdate 0:off 1:off 2:off 3:off 4:off 5:off 6:off
postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off
rdisc 0:off 1:off 2:off 3:off 4:off 5:off 6:off
rdma 0:off 1:off 2:off 3:off 4:off 5:off 6:off
restorecond 0:off 1:off 2:off 3:off 4:off 5:off 6:off
rpcbind 0:off 1:off 2:on 3:on 4:on 5:on 6:off
rpcgssd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
rpcsvcgssd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
rsyslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
saslauthd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
udev-post 0:off 1:on 2:on 3:on 4:on 5:on 6:off
vboxadd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
vboxadd-service 0:off 1:off 2:on 3:on 4:on 5:on 6:off
vboxadd-x11 0:off 1:off 2:off 3:on 4:off 5:on 6:off
없었기 때문에,
# yum install ntp
에서 설치(Redhat 계)합니다.
(있는 경우 설치되었으므로 생략)
# chkconfig
에서 다시 확인.
ntpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
모두 off이므로
[root@localhost vagrant]# chkconfig ntpd on
에서 자동 시작 설정
[root@localhost vagrant]# service ntpd restart
ntpd を停止中: [失敗]
ntpd を起動中: [ OK ]
에서 ntpd를 다시 시작
[root@localhost vagrant]# ntpq -p
에서 동기화 상태 확인
[root@localhost vagrant]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
+y.ns.gin.ntt.ne 249.224.99.213 2 u 16 64 1 19.630 1.750 3.933
*jptyo5-ntp-004. .SHM. 1 u 15 64 1 17.545 -0.088 4.329
+ntp3.jst.mfeed. 133.243.236.17 2 u 14 64 1 29.366 -1.279 4.191
+kuroa.me 35.73.197.144 2 u 46 64 1 23.841 -0.510 4.544
각 서버 앞에 * 또는 +가 붙으면 동기화 완료
(*, +가 붙지 않을 때는 조금 기다렸다가 다시 # ntpq -p 로 확인)
[root@localhost vagrant]# date;clock
2019年 6月 25日 火曜日 05:57:39 JST
2019年06月18日 18時35分17秒 -0.763819 秒
시스템 시계의 시간이 수정되었습니다.
하드웨어 시계의 시간은 여전히 좋지 않습니다.
Linux 서버 시간 설정 절차 및 오류(the NTP socket is in use, exiting) 참고
$ sudo hwclock -w
로 하드웨어 시계의 시간을 시스템 시계의 시간으로 맞추기
[root@localhost vagrant]# date;clock
2019年 6月 25日 火曜日 17:48:33 JST
2019年06月25日 17時48分34秒 -0.768130 秒
이제 시간의 어긋남을 수정할 수 있었습니다.
끝에
/etc/ntp.conf를 편집하는 것이 더 좋습니까? 라고도 생각했습니다만, 우선 시각은 수정할 수 있었으므로 또 이번에 하고 싶습니다.
Reference
이 문제에 관하여(초보자가 Vagrant 시간의 어긋남을 수정하기 전에 한 일), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/y0shihiro/items/13628b39e620354be6a3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)