树莓派以及linux ubuntu 上,各种依赖不满足,修复不了:E: Release file for xxx InRelease is not valid yet (invalid for xxx

sudo apt update报错:

Reading package lists… Done E: Release file for
https://mirrors.tuna.tsinghua.edu.cn/ubuntu/dists/focal-updates/InRelease
is not valid yet (invalid for another 9d 23h 6min 27s). Updates for
this repository will not be applied. E: Release file for
https://mirrors.tuna.tsinghua.edu.cn/ubuntu/dists/focal-backports/InRelease
is not valid yet (invalid for another 9d 23h 6min 47s). Updates for
this repository will not be applied. E: Release file for
https://mirrors.tuna.tsinghua.edu.cn/ubuntu/dists/focal-security/InRelease
is not valid yet (invalid for another 9d 23h 6min 16s). Updates for
this repository will not be applied.

sudo apt install -f报错

Preparing to unpack …/libgl-dev_1.3.1-1_amd64.deb …
Unpacking libgl-dev:amd64 (1.3.1-1) …
dpkg: error processing archive /var/cache/apt/archives/libgl-dev_1.3.1-1_amd64.deb (–unpack):
trying to overwrite ‘/usr/include/GL/gl.h’, which is also in package mesa-common-dev:amd64 20.0.8-0ubuntu1~18.04.1
dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
Preparing to unpack …/libglx-dev_1.3.1-1_amd64.deb …
Unpacking libglx-dev:amd64 (1.3.1-1) …
dpkg: error processing archive /var/cache/apt/archives/libglx-dev_1.3.1-1_amd64.deb (–unpack):
trying to overwrite ‘/usr/include/GL/glx.h’, which is also in package mesa-common-dev:amd64 20.0.8-0ubuntu1~18.04.1
Errors were encountered while processing:
/var/cache/apt/archives/libgl-dev_1.3.1-1_amd64.deb
/var/cache/apt/archives/libglx-dev_1.3.1-1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

sudo dpkg --configure -a报错

$ sudo dpkg --configure -a
[sudo] password for wjc:
dpkg: dependency problems prevent configuration of libglvnd-dev:amd64:
libglvnd-dev:amd64 depends on libgl-dev (>= 1.3.0-1); however:
Package libgl-dev:amd64 is not installed.
libglvnd-dev:amd64 depends on libglx-dev (>= 1.3.0-1); however:
Package libglx-dev:amd64 is not installed.

dpkg: error processing package libglvnd-dev:amd64 (–configure):
dependency problems - leaving unconfigured dpkg: dependency problems
prevent configuration of libglvnd-core-dev:amd64:
libglvnd-core-dev:amd64 depends on libglvnd-dev; however: Package
libglvnd-dev:amd64 is not configured yet.

dpkg: error processing package libglvnd-core-dev:amd64 (–configure):
dependency problems - leaving unconfigured Errors were encountered
while processing: libglvnd-dev:amd64 libglvnd-core-dev:amd64

解决:

可能是系统时间出问题了
手动修改服务器时间:

启用网络时间协议:
为了保证时间的准确性,推荐使用NTP网络时间协议来同步时间。对的,跟windows中的 Internet 时间同步是一样一样的。

NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议。NTP可以使计算机时钟与 Internet 时间服务器同步。 这意味着可以更新计算机上的时钟,以与时间服务器上的时钟匹配,这有助于确保计算机上的时钟是准确的。它的用途是把计算机的时钟同步到世界协调时间UTC,其精度在局域网内可达0.1ms,在互联网上绝大多数的地方其精度可以达到1-50ms。

运行以下命令,启用NTP:

sudo timedatectl set-ntp true

启用NTP以后,时间就是正常的吗?我们来通过date命令来查看当前时间:

date

若没对上现在时间,说明时区不正常
使用以下命令修改本地时区:

sudo dpkg-reconfigure tzdata

在“Configuring tzdata”中,依次选择Asia、Chongqing,回车确认,出现了以下提示信息:

cp: cannot create regular file '/etc/localtime.dpkg-new': Read-only file system                                  

Current default time zone: 'Asia/Chongqing'
Local time is now:      Mon Apr  6 08:49:52 UTC 2015.
Universal Time is now:  Mon Apr  6 08:49:52 UTC 2015.

debconf: DbDriver "config": could not write /var/cache/debconf/config.dat-new: Read-only file system

简单来说,就是文件系统是只读的,不能创建etc/localtime.dpkg-new文件和不能写config.dat-new文件。

当前默认的时区是已经改成了我们想要的’Asia/Chongqing’,但是本地时间和世界时间还是一样的,这里还有问题,应该就是只读文件系统造成时区没有完全配置。

使得文件系统可写
通过askubuntu找到了Read-only file system问题的解决办法,运行以下命令使得文件系统可写。

重复第二步修改时区
这一次重新配置时区就比较顺利了。本地时间变成了CST时间,也就是China Standard Time UTC+8:00 中国沿海时间(北京时间)。

Current default time zone: 'Asia/Chongqing'
Local time is now:      Mon Apr  6 55 55 173)">173)">16:55:50 CST 2015.
Universal Time is now:  Mon Apr  6 08:55:50 UTC 2015.

ubuntu@localhost:/etc$ date
Mon Apr  6 55 173)">17:55 173)">19:56 CST 2015
ubuntu@localhost:/etc$ timedatectl status
      Local time: Mon 2015-04-06 55 173)">17:55 173)">36:55 173)">36 CST
  Universal time: Mon 2015-04-06 09:55 173)">36:55 173)">36 UTC
        RTC time: n/a
       Time zone: Asia/Chongqing (CST, +0800)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a
<think>好的,我现在需要解决用户遇到的Ubuntu apt update时出现的“Release file is not valid yet”错误。根据用户提供的引用信息,我需要先分析问题原因,再提出解决方案。 首先,用户提到错误信息显示时间无效,比如引用[1]中的错误信息提到“invalid for another 13h 54min 24s”,这说明系统时间和源服务器的时间同步。根据引用[5],用户执行date命令显示的时间是UTC时间2022年1月13日,而源服务器的时间可能更晚,导致系统认为证书尚未生效。因此,时间同步是主要原因之一。 接下来,用户可能使用的是内网源,如引用[2]所述,内网镜像源可能存在同步延迟。如果内网镜像没有及时同步官方源的元数据,就会导致本地系统无法获取有效的Release文件。 解决方法方面,首先需要检查系统时间是否正确。可以通过date命令查看,如果发现时间偏差,使用ntpdate或timedatectl命令同步网络时间。例如,安装ntpdate后运行sudo ntpdate ntp.ubuntu.com,然后再次尝试更新。 如果时间正确,问题可能出在内网源的同步上。用户需要联系内网源的管理员,确认镜像是否及时同步,或者临时切换回官方源进行测试。此外,清除apt缓存也是一个步骤,使用sudo apt clean和sudo rm -rf /var/lib/apt/lists/*,再执行sudo apt update。 另外,引用[3]和[4]提到社区中类似的解决方案,比如检查时区设置、确保NTP服务正常运行。如果用户是在Docker容器中遇到此问题,可能需要检查宿主机的系统时间,或者重建容器。 总结步骤应为:检查时间→同步时间→更换源→清除缓存。同时需要根据用户的具体环境调整,比如内网情况下可能需要手动同步时间或联系管理员处理镜像源的问题。</think>### 分步解决方案 Ubuntu执行`apt update`时出现`Release file is not valid yet`错误,通常由**系统时间与软件源服务器时间同步**或**内网镜像源未及时同步**导致。以下是具体解决步骤: --- #### **1. 检查并同步系统时间** 系统时间错误是此问题的常见原因。 - **查看当前时间**: ```bash date ``` 若时间与真实时间偏差较大(如相差几小时甚至几年),需同步时间[^1][^5]。 - **同步网络时间**: - 安装时间同步工具(若未安装): ```bash sudo apt install ntpdate ``` - 手动同步时间: ```bash sudo ntpdate ntp.ubuntu.com # 使用Ubuntu官方时间服务器 ``` - 或使用`timedatectl`(适用于systemd系统): ```bash sudo timedatectl set-ntp on # 启用自动时间同步 ``` --- #### **2. 检查软件源状态** 若时间正确但问题仍存在,可能是**软件源未及时同步**(尤其内网镜像源)。 - **临时切换官方源测试**: 编辑源列表文件: ```bash sudo nano /etc/apt/sources.list ``` 注释内网源,替换为官方源(示例为Ubuntu 20.04): ``` deb http://archive.ubuntu.com/ubuntu/ focal main restricted deb http://security.ubuntu.com/ubuntu/ focal-security main restricted ``` 更新并验证: ```bash sudo apt clean && sudo apt update ``` 若问题消失,说明内网镜像源需更新[^2]。 - **联系内网源管理员**: 若必须使用内网源,需确保镜像与官方源保持同步频率。 --- #### **3. 清除APT缓存** 过时的缓存可能导致时间校验失败: ```bash sudo apt clean # 清理已下载的包文件 sudo rm -rf /var/lib/apt/lists/* # 删除元数据缓存 sudo apt update # 重新生成缓存 ``` --- #### **4. 特殊情况处理** - **Docker容器内报错**: 检查宿主机时间是否准确,或重建容器[^4]。 - **硬件时钟问题**: 若重启后时间重置,检查主板电池或硬件时钟设置: ```bash sudo hwclock --show # 查看硬件时钟时间 ``` --- ### 总结流程图 ``` 系统时间错误? → 同步时间 → 成功 → 问题解决 ↓ 否 ↓ 内网源未同步? → 切换官方源测试 → 成功 → 更新内网镜像 ↓ 否 ↓ 清除APT缓存 → 问题解决 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

别出BUG求求了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值