n-HIROKIの日常

n-HIROKIの取り組みを記録したものです。

Vagrantの時刻がおかしい。

こんにちは!
n-hirokiです!

今回はローカル開発環境のVagrantについてです!
hostはMacです。


Vagrantの時刻を調べる

Vagrantの時刻を調べました。
Vagrantにログインした状態でdateコマンド。

2018年 7月 15日 日曜日 12:57:17 JST
と表示して欲しいのですが...

2018年 7月 12日 木曜日 03:56:12 JST
と表示されました!

なので修正しないといけません。

Vagrantの時刻を修正する

Vagrantの時刻を修正します。

 sudo yum -y install ntpdate

でntpdateをインストールした後、

 sudo ntpdate ntp.nict.jp

これで時刻は修正されるはずなのですが、、、

2018年 7月 15日 日曜日 03:55:05 UTC

と表示されまだおかしいです。
もともとJSTだったのに、UTCに変わってしまいました。
確かに日付は正しくなったのですが、まだ修正できていませんね。

UTCJSTに修正する

  $ sudo rm /etc/localtime
  $ sudo ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

これでできるみたいです。
ですが、Vagrantにログインしている状態で1行目を実行してみると、

[vagrant@localhost ~]$ sudo rm /etc/localtime
rm: cannot remove `/etc/localtime': そのようなファイルやディレクトリはありません

となってしまいます。
なので、Vagrantにログインしていない状態で実行するのではないか?
と思い、ログアウトして実行してみました。

 $ exit
 $ cd
 $ sudo rm /etc/localtime
 $ sudo ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

................( ;∀;)

ターミナル自体の時刻が変わってしまいました。
2018年 7月 15日 日曜日 00:01:05 UTC
そしてPCの時計もおかしくなり上記の時刻を表示していました。

ターミナルの時刻を修正したいけど、、、。

いきなり時計がおかしくなってしまったら怖いですね(泣)


ターミナルの時刻も修正しないといけないのかーと思い、調べていたら、ターミナルを閉じてしばらくすると時計の表示が正常に戻ったのでdateコマンドで確かめてみたら戻っていました。

あの現象はなんだったのだろう、、、。
普段ターミナルをあまりいじらない僕にはわからないので、勉強しないといけないですね!

Vagrantの時刻が修正できた!!

ターミナルの時刻がなんとかなったのでVagrantに戻ります!
とりあえず、色々調べても先ほどのやり方しかなさそうだったので、もう一度試すことにしました!

Vagrantfileの下から2行目に追記

 config.vm.provider :virtualbox do |vb|
 vb.customize ["setextradata", :id, 
 "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled", 0]
 end

Vagrantにログインした状態です。

  $ sudo rm /etc/localtime
  $ sudo ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

1行目を実行すると、やはり先ほどと同じく「そのようなファイルやディレクトリはありません」と表示されてしまいました。
ですが、構わずに2行目も実行してみたら時刻が現在時刻に修正されました!!

2018年 7月 15日 日曜日 13:46:57 JST

Macの時計までおかしくなった時はかなり怖い思いをしました。やっぱりターミナルをいじる上であまり知識や経験がないと怖いですね。そのためにローカル開発環境を構築してみようと思っていじっていたのでいい経験になったと思います!
色々経験して理解を深めようと思います。

・参考
https://polidog.jp/2014/01/08/vagrant/