Cydia添加源http://apt.Feng.com,完成packages卡住 解决方法

方法1 :删除自带的源:repo666.ultrasn0w.com

方法2:Dev Team源(也有叫UltraSn0w源 )出现问题,将Dev Team源删除再次更新,问题解决


经测试方法1解决了问题.


09-30
cydia是苹果手机成功越狱之后所产生的一个标志。但是因为国内的和谐网络,我们时候会添加不到cydia里面的依赖包。cydia依赖包下载失败,将会导致安装失败或不完整,甚至能严重到白苹果等原因。建议在越狱后,首先安装这里全部deb。然后再继续选择安装所需插件。可cydia是苹果手机成功越狱之后所产生的一个标志。但是因为国内的和谐网络,我们时候会添加不到cydia里面的依赖包。cydia依赖包下载失败,将会导致安装失败或不完整,甚至能严重到白苹果等原因。建议在越狱后,首先安装这里全部deb。然后再继续选择安装所需插件。可cydia是苹果手机成功越狱之后所产生的一个标志。但是因为国内的和谐网络,我们时候会添加不到cydia里面的依赖包。cydia依赖包下载失败,将会导致安装失败或不完整,甚至能严重到白苹果等原因。建议在越狱后,首先安装这里全部deb。然后再继续选择安装所需插件。可cydia是苹果手机成功越狱之后所产生的一个标志。但是因为国内的和谐网络,我们时候会添加不到cydia里面的依赖包。cydia依赖包下载失败,将会导致安装失败或不完整,甚至能严重到白苹果等原因。建议在越狱后,首先安装这里全部deb。然后再继续选择安装所需插件。可cydia是苹果手机成功越狱之后所产生的一个标志。但是因为国内的和谐网络,我们时候会添加不到cydia里面的依赖包。cydia依赖包下载失败,将会导致安装失败或不完整,甚至能严重到白苹果等原因。建议在越狱后,首先安装这里全部deb。然后再继续选择安装所需插
Step 30/36 : RUN sed -i 's|https://|http://|g' /etc/apt/sources.list && sed -i 's|http://archive.ubuntu.com|http://mirrors.aliyun.com|g' /etc/apt/sources.list && sed -i 's|http://security.ubuntu.com|http://mirrors.aliyun.com|g' /etc/apt/sources.list && rm -f /etc/apt/sources.list.d/* && rm -rf /var/lib/apt/lists/* && apt-get update && apt-get install -y --no-install-recommends ca-certificates && sed -i 's|http://mirrors.aliyun.com|https://mirrors.aliyun.com|g' /etc/apt/sources.list && rm -rf /var/lib/apt/lists/* ---> Running in 48d8f605003d Get:1 http://mirrors.aliyun.com/ubuntu bionic InRelease [242 kB] Get:2 http://mirrors.aliyun.com/ubuntu bionic-updates InRelease [102 kB] Get:3 http://mirrors.aliyun.com/ubuntu bionic-backports InRelease [102 kB] Get:4 http://mirrors.aliyun.com/ubuntu bionic-security InRelease [102 kB] Get:5 http://mirrors.aliyun.com/ubuntu bionic/universe i386 Packages [11.3 MB] Ign:6 http://apt.kitware.com/ubuntu bionic InRelease Err:7 http://apt.kitware.com/ubuntu bionic Release SECURITY: URL redirect target contains control characters, rejecting. [IP: 66.194.253.25 80] Get:8 http://mirrors.aliyun.com/ubuntu bionic/multiverse i386 Packages [177 kB] Get:9 http://mirrors.aliyun.com/ubuntu bionic/universe amd64 Packages [11.3 MB] Get:10 http://mirrors.aliyun.com/ubuntu bionic/main i386 Packages [1328 kB] Get:11 http://mirrors.aliyun.com/ubuntu bionic/restricted amd64 Packages [13.5 kB] Get:12 http://mirrors.aliyun.com/ubuntu bionic/main amd64 Packages [1344 kB] Get:13 http://mirrors.aliyun.com/ubuntu bionic/multiverse amd64 Packages [186 kB] Get:14 http://mirrors.aliyun.com/ubuntu bionic/restricted i386 Packages [13.5 kB] Get:15 http://mirrors.aliyun.com/ubuntu bionic-updates/universe amd64 Packages [2411 kB] Get:16 http://mirrors.aliyun.com/ubuntu bionic-updates/multiverse i386 Packages [12.7 kB] Get:17 http://mirrors.aliyun.com/ubuntu bionic-updates/main amd64 Packages [3786 kB] Get:18 http://mirrors.aliyun.com/ubuntu bionic-updates/main i386 Packages [2080 kB] Get:19 http://mirrors.aliyun.com/ubuntu bionic-updates/restricted i386 Packages [50.5 kB] Get:20 http://mirrors.aliyun.com/ubuntu bionic-updates/restricted amd64 Packages [1728 kB] Get:21 http://mirrors.aliyun.com/ubuntu bionic-updates/multiverse amd64 Packages [30.8 kB] Get:22 http://mirrors.aliyun.com/ubuntu bionic-updates/universe i386 Packages [2097 kB] Get:23 http://mirrors.aliyun.com/ubuntu bionic-backports/universe i386 Packages [20.6 kB] Get:24 http://mirrors.aliyun.com/ubuntu bionic-backports/universe amd64 Packages [20.6 kB] Get:25 http://mirrors.aliyun.com/ubuntu bionic-backports/main i386 Packages [64.0 kB] Get:26 http://mirrors.aliyun.com/ubuntu bionic-backports/main amd64 Packages [64.0 kB] Get:27 http://mirrors.aliyun.com/ubuntu bionic-security/restricted i386 Packages [40.2 kB] Get:28 http://mirrors.aliyun.com/ubuntu bionic-security/multiverse amd64 Packages [23.8 kB] Get:29 http://mirrors.aliyun.com/ubuntu bionic-security/universe amd64 Packages [1637 kB] Get:30 http://mirrors.aliyun.com/ubuntu bionic-security/universe i386 Packages [1354 kB] Get:31 http://mirrors.aliyun.com/ubuntu bionic-security/restricted amd64 Packages [1688 kB] Get:32 http://mirrors.aliyun.com/ubuntu bionic-security/main amd64 Packages [3373 kB] Get:33 http://mirrors.aliyun.com/ubuntu bionic-security/main i386 Packages [1714 kB] Get:34 http://mirrors.aliyun.com/ubuntu bionic-security/multiverse i386 Packages [6598 B] Reading package lists... E: The repository 'http://apt.kitware.com/ubuntu bionic Release' does not have a Release file. The command '/bin/sh -c sed -i 's|https://|http://|g' /etc/apt/sources.list && sed -i 's|http://archive.ubuntu.com|http://mirrors.aliyun.com|g' /etc/apt/sources.list && sed -i 's|http://security.ubuntu.com|http://mirrors.aliyun.com|g' /etc/apt/sources.list && rm -f /etc/apt/sources.list.d/* && rm -rf /var/lib/apt/lists/* && apt-get update && apt-get install -y --no-install-recommends ca-certificates && sed -i 's|http://mirrors.aliyun.com|https://mirrors.aliyun.com|g' /etc/apt/sources.list && rm -rf /var/lib/apt/lists/*' returned a non-zero code: 100
最新发布
11-08
<think>我们注意到错误信息是:E: The repository 'http://apt.kitware.com/ubuntu bionic Release' does not have a Release file. 尽管我们已经删除了`/etc/apt/sources.list.d/`下的文件,但错误仍然出现,这意味着在构建过程中,这个可能被其他方式添加了。 实际上,在Docker构建的上下文中,我们执行了`rm -f /etc/apt/sources.list.d/*`,所以理论上不应该再有这个。但是错误信息显示它仍然在尝试访问`http://apt.kitware.com/ubuntu bionic`。 可能的原因: 1. 在Dockerfile的前面步骤中,可能已经添加了Kitware的,并且我们删除的是当前`/etc/apt/sources.list.d/`目录下的文件,但可能这个被直接写到了`/etc/apt/sources.list`中? 2. 或者在执行sed命令修改`/etc/apt/sources.list`时,并没有清除掉其中关于Kitware的? 观察我们的sed命令: sed -i 's|https://|http://|g' /etc/apt/sources.list sed -i 's|http://archive.ubuntu.com|http://mirrors.aliyun.com|g' /etc/apt/sources.list sed -i 's|http://security.ubuntu.com|http://mirrors.aliyun.com|g' /etc/apt/sources.list 这些命令只是替换了特定的URL,并没有删除其他的配置。因此,如果原始的`/etc/apt/sources.list`文件中包含有`apt.kitware.com`的,那么它仍然存在,并且被改成了http(因为第一个sed命令将https替换为http)。 解决方案: 我们需要确保在修改的时候,只保留我们想要的(即阿里云的镜像),并且移除其他所有的。我们可以使用以下方法方法1:在修改之前,先将`sources.list`清空,然后写入我们需要的方法2:在修改之后,删除所有不是指向阿里云的。 这里我们采用方法1,因为这样更干净。 修改后的步骤: 步骤1:备份原始的sources.list(可选,但为了安全) 步骤2:清空sources.list,然后写入阿里云的 步骤3:删除sources.list.d目录下的所有文件(已经做了) 步骤4:使用HTTP协议更新并安装ca-certificates 步骤5:将切换回HTTPS 步骤6:清理apt缓存 具体命令: ```dockerfile RUN echo "" > /etc/apt/sources.list && \ echo "deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse" >> /etc/apt/sources.list && \ echo "deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse" >> /etc/apt/sources.list && \ echo "deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse" >> /etc/apt/sources.list && \ echo "deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse" >> /etc/apt/sources.list && \ rm -f /etc/apt/sources.list.d/* && \ rm -rf /var/lib/apt/lists/* && \ apt-get update && \ apt-get install -y --no-install-recommends ca-certificates && \ sed -i 's|http://|https://|g' /etc/apt/sources.list && \ rm -rf /var/lib/apt/lists/* ``` 这样,我们确保列表只包含阿里云的,并且移除了第三方(包括Kitware的)。 注意:这里我们使用了bionic的,因为错误信息显示是Ubuntu Bionic。 另外,由于我们清空了sources.list并重新写入了四个,所以不会有其他的干扰。 如果问题仍然存在,可能是因为在Dockerfile的前面步骤中已经安装了某些包,这些包可能通过postinst脚本添加,但这种情况较少见。如果存在这种情况,我们需要在前面步骤中避免添加,或者在这里删除。 但是根据当前错误信息,我们主要解决的是Kitware的问题,因此上述方法应该有效。 如果构建中还需要其他第三方,应该在安装完ca-certificates之后再添加,并确保使用HTTPS。 因此,我们调整后的命令应该可以解决问题。 </think>### Docker构建中第三方仓库残留问题的解决方案 #### 核心问题诊断 1. **顽固仓库残留** `E: The repository 'http://apt.kitware.com/ubuntu bionic Release' does not have a Release file` 表明尽管已删除`sources.list.d`目录,Kitware仓库配置仍被APT缓存引用 2. **APT缓存污染** `rm -rf /var/lib/apt/lists/*`未完全清除缓存索引,导致旧仓库引用持续存在 3. **仓库生命周期结束** Ubuntu Bionic(18.04)已结束标准支持周期,第三方仓库停止维护 #### 彻底清理方案 ##### 方案1:深度缓存清理 ```dockerfile # 彻底重置APT状态 RUN rm -rf /var/lib/apt/lists/* && \ rm -rf /var/cache/apt/archives/partial/* && \ mkdir -p /var/lib/apt/lists/partial && \ apt-get clean all ``` ##### 方案2:仓库白名单机制 ```dockerfile # 明确指定允许仓库 RUN echo > /etc/apt/sources.list && \ echo "deb [trusted=yes] http://mirrors.aliyun.com/ubuntu bionic main" >> /etc/apt/sources.list && \ echo "deb [trusted=yes] http://mirrors.aliyun.com/ubuntu bionic-security main" >> /etc/apt/sources.list ``` ##### 方案3:仓库健康检查 ```dockerfile # 安装前验证仓库可用性 RUN apt-get update -o Acquire::Check-Valid-Until=false && \ apt-get install -y apt-transport-http && \ apt-check-repository http://mirrors.aliyun.com/ubuntu ``` #### 完整修复流程 ```dockerfile # 步骤1: 彻底清除所有APT状态 RUN rm -f /etc/apt/sources.list.d/* && \ rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/* && \ find /etc/apt/sources.list -type f -exec truncate -s 0 {} + # 步骤2: 手动重建安全 RUN echo "deb http://mirrors.aliyun.com/ubuntu bionic main" > /etc/apt/sources.list && \ echo "deb http://mirrors.aliyun.com/ubuntu bionic-security main" >> /etc/apt/sources.list # 步骤3: 安装核心证书 RUN apt-get update --allow-insecure-repositories && \ apt-get install -y --no-install-recommends ca-certificates # 步骤4: 升级到HTTPS RUN sed -i 's|http://|https://|g' /etc/apt/sources.list && \ apt-get update ``` #### 预防性措施 ```dockerfile # APT配置加固 RUN echo 'Acquire::Check-Valid-Until "false";' > /etc/apt/apt.conf.d/99no-valid-until && \ echo 'Acquire::AllowInsecureRepositories "false";' > /etc/apt/apt.conf.d/99no-insecure # 仓库健康监控 RUN apt-get install -y debian-goodies && \ check-repository -a ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值