openwrt使用glibc时区无法生效问题解决方法

由于项目需要,将openwrt的uclibc切换到了glibc,但是使用中发现配置的时区无法生效。后来查找资料发现uclibc和glibc对时区的使用有差异:

1.对于uclibc,重要文件是/etc/TZ,实际连接到/tmp/TZ,修改时区后,会根据配置文件system中的timezone的option修改/tmp/TZ

2.对于glibc,重要文件是/etc/localtime,实际连接到/tmp/localtime,而/tmp/localtime也是连接文件,根据配置文件system中的zonename的option修改该连接

基于以上,使用glibc后,需要进行一下修改来生效时区:

1.make menuconfig,选中Utilities->zoneinfo中的所有package,会将时区相关的信息文件安装到/usr/share/zoneinfo/,/tmp/localtime连接到该目录下相应文件

2./etc/init.d/system中system_config函数将ln -s "/usr/share/zoneinfo/$zonename" /tmp/localtime修改为ln -sf "/usr/share/zoneinfo/$zonename" /tmp/localtime,强制建立连接,可以使系统完全启动后也能修改时区并生效

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值