无法从Apache安装Cassandra包:仓库未签名错误求助
解决Apache Cassandra仓库未签名&状态码470问题
问题分析
当前使用的Apache官方Debian仓库路径已停止维护,且原apt-key方式已被弃用,导致出现无法获取InRelease文件、仓库未签名的错误,同时返回状态码470。
修复步骤
1. 清理旧配置和密钥
先移除之前的错误仓库配置与过期密钥:
RUN rm -f /etc/apt/sources.list.d/cassandra.sources.list RUN apt-key del $(apt-key list | grep "Apache Cassandra" | awk '{print $2}')
2. 添加归档仓库配置(deb822格式)
Cassandra 3.11的官方资源已迁移至归档仓库,创建新的仓库配置文件:
RUN cat <<EOF > /etc/apt/sources.list.d/cassandra.sources Types: deb URIs: https://archive.apache.org/dist/cassandra/debian Suites: 311x Components: main Signed-By: /usr/share/keyrings/cassandra-archive-keyring.gpg EOF
3. 导入签名密钥(合规keyring方式)
不再使用apt-key,将密钥存入系统标准keyring目录:
RUN curl https://downloads.apache.org/cassandra/KEYS | gpg --dearmor -o /usr/share/keyrings/cassandra-archive-keyring.gpg
4. 更新软件包列表
重新执行更新命令即可正常完成:
RUN apt-get update
补充提示
- Cassandra 3.11属于官方停止维护的旧版本,建议优先考虑升级至4.x等支持版本
- 原状态码470是因为旧仓库路径已失效,归档仓库
archive.apache.org是官方指定的旧版本资源存储地址
内容的提问来源于stack exchange,提问作者Cedric Mendes
相关产品推荐
相关产品推荐

