Ubuntu服务器时间和本地时间不一致怎么解决——Linux的Local Time和RTC time

最近一直在搞大模型的相关工作,所以一直在用Linux服务器,前面的文章里也提到了,我用的是一台Dell PowerEdge R730xd。

但在使用中发现,IDRAC中的日志时间和本地时间存在时差,大概相关8小时。

对于技术人员,8小时这个时差还是相对比较敏感的,这就是UTC时间和CST时间的时差啊。

因为我们国内时区是东八区,所以和UTC相关8小时的时差。所以问题相必就在ubuntu-server的时区设置上。

1、查看当前时区

使用命令 timedatectl 查看当前时区和设置

可以看到 Local Time是采用的UTC, RTC time也是。其中和我们今天设置相关的就是这两项设置。

2、设置时区

命令: timedatectl set-timezone Asia/Shanghai

然后再查看当前时区

但是,经过上面修改后,你会发现某些位置,如某些日志的时间戳显示还是有问题,这就用到了另一个时钟了——RTC time(硬件时间)。

3、修改硬件时区

命令 timedatectl set-local-rtc yes

修改之后就会发现,有问题的时间戳显示正常了。

关于Local time和RTC time:

很多装到Windows和Mac双系统的朋友可能有印象,每次从Mac切换系统到Windows后,Windows的时间会变化,和当前时区的时间会相差几个小时(在国内一般是8个小时)。

其实原因也类似——macOS系统和Windows系统对时间的处理方式不同。macOS 把硬件时间当作 UTC,操作系统中显示的时间是硬件时间经过换算得来的。Windows把系统硬件时间当作本地时间(Local Time),操作系统中显示的时间和 BIOS 中是一样的。

操作系统在同步时间的时候,同时会修改BIOS时间,因此导致Windows/macOS显示的时间不一致。

先看Linux几个时间的功能介绍:

Local time: Sun 2024-09-01 11:49:33 CST  # 本地时间

Universal time: Sun 2024-09-01 03:49:33 UTC  # 协调世界时间

RTC time: n/a  # 硬件时间

Time zone: Etc/UTC (UTC, +0000)  # 时区

Network time on: yes  # NTP时间同步是否开启,yes表示是

NTP synchronized: yes  # 如果和远程NTP服务器成功同步,显示为yes

RTC in local TZ: no # no表示硬件时钟设置为协调世界时(UTC),yes表示硬件时钟设置为本地时间

所以,和Mac/Windows时间问题差不多的思路,直接调整硬件时间,就能解决时间戳显示的问题了。

### Ubuntu 系统更新检查时出现问题的原因分析 当遇到 `A problem occurred` 错误消息时,这通常表明系统在尝试访问软件源或执行某些操作期间遇到了问题。以下是可能导致此错误的一些常见原因以及解决方案: #### 原因一:损坏的软件包列表文件 有时,APT 软件包管理器可能无法正确下载或解析存储库中的索引文件。 - **解决方法** 可以清除并重新生成 APT 缓存来解决问题: ```bash sudo apt-get clean cd /var/lib/apt/lists/ sudo rm * sudo apt-get update ``` 上述命令会清理旧缓存并强制重新同最新的软件包信息[^1]。 --- #### 原因二:兼容的第三方 PPA 或仓库 如果安装了来自可靠来源的第三方 PPA 或者这些资源已停止维护,则可能会引发冲突。 - **解决方法** 禁用有问题的PPA或者删除它们后再重试更新过程即可恢复正常工作状态。 编辑 `/etc/apt/sources.list.d/*.list` 文件并将可疑条目注释掉(通过在其前面加 `#` 符号),之后再次运行以下指令完成刷新动作: ```bash sudo add-apt-repository --remove ppa:<problematic_ppa> sudo apt-get update ``` --- #### 原因三:时间不同引起的安全证书验证失败 Linux Windows 双启动环境下的用户经常面临这样的情况——每次切换操作系统都会调整硬件时钟设置从而造成混乱现象;因为两者对于 CMOS Time 的理解存在差异所致(UTC vs Localtime)[^2]. - **解决办法** 确保所有操作系统都统一采用相同的时间标准 (推荐 UTC),具体做法如下所示: 针对Ubuntu配置修改骤为打开终端输入下面这条语句进入nano文本编辑模式下找到对应行数将其值设成true保存退出重启服务生效. ```bash timedatectl set-local-rtc 0 systemctl restart systemd-timedated.service ``` --- #### 原因四:网络连接稳定或是目标服务器负载过高 偶尔由于互联网状况佳或者是官方镜像站点暂时性繁忙也可能阻止正常获取数据流. - **应对措施** 更改默认使用的下载地址到距离较近且稳定的国内镜像站上比如阿里云、清华大学开源项目组提供的选项之一就是错的替代方案.[^3] 编辑主配置文档路径位于/etc/apt/ 下面的名字叫做sources.list 替换成新的链接形式样例展示如下: ```plaintext deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse ... ``` 完成后记得做一次全面升级确认无误结束整个流程: ```bash sudo apt-get update && sudo apt-get dist-upgrade ``` --- ### 总结 以上列举了几种典型的触发条件及其对应的处理方式供参考选用。如果按照上述指导仍然未能排除故障的话建议查阅日志记录进一定位确切位置再采取针对性行动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值