Sho*_*Sho 19 virtualbox vagrant centos6 server
上次,我想出了如何在vagrant服务器中调整系统时钟.但是,当我停止流浪汉再次启动时,系统时钟总是晚9个小时.我可以手动使用ntp命令进行调整,但我想知道如何自动调整系统时钟.
我已经尝试了以下,但它仍然无法正常工作.有什么建议吗?
Fré*_*nri 34
我使用的方法不应该是提供者特定的是在我的Vagrantfile中添加以下内容
config.vm.provision :shell, :inline => "sudo rm /etc/localtime && sudo ln -s /usr/share/zoneinfo/Europe/Paris /etc/localtime", run: "always"
Run Code Online (Sandbox Code Playgroud)
您需要将'/ Europe/Paris'替换为您想要设置的时区
接受的答案不够健壮,因为它不考虑在时区之间旅行的人,并且要求最终用户修改Vagrantfile而不是仅仅做vagrant up.
建立在Scott P.的答案上,这是一个更灵活的解决方案,可以自动将VM时区与主机的tz相匹配.在他的片段的Etc/GMT时区选择中有一个拼写错误/错误,根据POSIX GMT + 7套时钟落后 7小时(见维基解释),因此我们需要交换补偿:
Vagrant.configure("2") do |config|
require 'time'
offset = ((Time.zone_offset(Time.now.zone) / 60) / 60)
timezone_suffix = offset >= 0 ? "-#{offset.to_s}" : "+#{offset.to_s}"
timezone = 'Etc/GMT' + timezone_suffix
config.vm.provision :shell, :inline => "sudo rm /etc/localtime && sudo ln -s /usr/share/zoneinfo/" + timezone + " /etc/localtime", run: "always"
end
Run Code Online (Sandbox Code Playgroud)
小智 6
我有:
\n\n[vagrant@ansiblecontrol ~]$ date -s \\"$(curl -I google.com 2>&1 | grep Date: | cut -d\' \' -f3-6)Z\\"\ndate: extra operand \xe2\x80\x982018\xe2\x80\x99\nTry \'date --help\' for more information.\nRun Code Online (Sandbox Code Playgroud)\n\n这对我有用:
\n\nsudo date -s "$(curl -I google.com 2>&1 | grep Date: | cut -d\' \' -f3-6)Z"\nSun Apr 1 16:36:59 CEST 2018\nRun Code Online (Sandbox Code Playgroud)\n\n所以去掉了“\\”转义符。
\n小智 5
自动设置时区的最简单方法是使用vagrant-timezone插件。
安装 vagrant-timezone 插件
vagrant plugin install vagrant-timezone
Run Code Online (Sandbox Code Playgroud)
之后,将以下内容添加到您的 Vagrantfile
if Vagrant.has_plugin?("vagrant-timezone")
config.timezone.value = "UTC"
end
Run Code Online (Sandbox Code Playgroud)
您可以用此处列出的任何 tz 值替换“UTC” 。例如:“亚洲/加尔各答”。
| 归档时间: |
|
| 查看次数: |
15285 次 |
| 最近记录: |