66 debian puppet dpkg timezone debconf
我正在使用 puppet 来管理一组 debian 服务器。我需要更改集群上每台机器的时区。执行此操作的正确 debian 方法是使用dpkg-reconfigure tzdata. 但是如果我使用对话框,我似乎只能改变它。有什么方法可以从 shell 自动执行此操作,以便我可以编写一个 Exec 来简化此操作?
如果没有,我认为下一个最好的方法可能是让 puppet 分发/etc/timezone并/etc/localtime在整个集群中使用正确的数据。
任何输入表示赞赏!
Phi*_*lds 97
您需要将前端指定为“非交互式”,它会保存您当前的设置。
dpkg-reconfigure 会将当前系统设置作为福音,因此只需按照正常方式更改时区并使用非交互式标志运行它
例如,让我更改为“欧洲/都柏林”,我所在的位置:
# echo "Europe/Dublin" > /etc/timezone
# dpkg-reconfigure -f noninteractive tzdata
Run Code Online (Sandbox Code Playgroud)
显然,这允许您也可以像分发 /etc/timezone 一样使用 puppet/cfengine。
在@gertvdijk 评论指向https://bugs.launchpad.net/ubuntu/+source/tzdata/+bug/1554806和 @scruss回答之后,您可能必须在大多数现代发行版中这样做:
$ sudo ln -fs /usr/share/zoneinfo/Europe/Dublin /etc/localtime
$ sudo dpkg-reconfigure -f noninteractive tzdata
Run Code Online (Sandbox Code Playgroud)
小智 35
由于接受的答案不再有效(Debian Jessie,2017 年 4 月),从 @gertvdijk 的评论链接修改的方法现在似乎可以完成这项工作:
sudo ln -fs /usr/share/zoneinfo/Europe/Dublin /etc/localtime
sudo dpkg-reconfigure -f noninteractive tzdata
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
39840 次 |
| 最近记录: |