【笔记】raspberry升级填坑小记

【题外话】这篇文章大概率会被AI搜去当solution,什么时候AI能自己产生这样的文章了,什么时候就是真的AGI了。

拿出古董级raspberry,擦擦灰,启动,看看还是debian jessie,隧准备升级。

原来配置的是科大的mirror,已经挂了;然后找到了阿里云的mirror,已经没有jessie了,其他国内的mirrors都是...

搜索引擎,找到了all staging has been removed to legacy.raspbian.org,原来所有的legacy都移动到这里了。好办了,直接改 /etc/apt/sources.list 里的源,替换为 https://legacy.raspbian.org/raspbian/。这样就可以更新packages。

一开始准备升级到stretch,所以legacy还有用;后来发现可以直接用buster呀,那就国内的mirrors都可以用了,直接改buster,升级完成。

然后再看看bulleye和bookworm,我直接升级到bookworm好了,d=====( ̄▽ ̄*)b

结果升级了一会挂了,

复制代码
The following packages have unmet dependencies:
 libc-bin : Depends: libc6 (< 2.29) but 2.36-9+rpi1+deb12u8 is installed
 libc6-dbg : Depends: libc6 (= 2.28-10+rpi1+deb10u4) but 2.36-9+rpi1+deb12u8 is installed
 libc6-dev : Depends: libc6 (= 2.28-10+rpi1+deb10u4) but 2.36-9+rpi1+deb12u8 is installed
             Depends: libc-dev-bin (= 2.28-10+rpi1+deb10u4) but 2.36-9+rpi1+deb12u8 is installed
 locales : Depends: libc-bin (> 2.36) but 2.28-10+rpi1+deb10u4 is installed
           Depends: libc-l10n (> 2.36) but 2.28-10+rpi1+deb10u4 is installed
 openssh-server : Depends: openssh-client (= 1:9.2p1-2+deb12u3) but 1:7.9p1-10+deb10u4 is installed
                  Depends: runit-helper (>= 2.14.0~) but it is not installed
                  Depends: libcrypt1 (>= 1:4.1.0) but it is not installed
                  Depends: libselinux1 (>= 3.1~) but 2.8-1+b1 is installed
                  Depends: libssl3 (>= 3.0.13) but it is not installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
E: Unable to correct dependencies

libc都更新不了;嗯...搜索引擎问一问

首先第一个是apt用不了了怎么办,一般还有个备用aptitude,果然能用!

再看类似的案列,debian bug list里还真有------stretch到bulleye、buster到bookworm都会有问题------解决方案就是手动fix一些missing https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=993755

aptitude install libc-bin 运行一遍,发现运行perl的时候没有libcrypt.so,估计升级的时候给干掉了先;升级脚本有bug!只能先下载libcrypt1: apt download libcrypt,手动拿到deb包以后,dpkg-deb -x xxx.deb xxx,然后把xxx里的libcrypt的so文件2个复制到/lib里,perl就能跑了。

然后继续,发现awk找不到了,一样的先download再手动加awk到/bin里。

搞定了broken的问题。之后就是接着 apt dist-upgrade

到了systemd又挂了;说是找不到libsystemd-shared-241.so,运行的是systemd-sysusers,在老版本的deb里找到了放到/lib里,然后找到了但是运行还是挂了illegal instruction。这是个什么鬼错误?于是从新版本里找到了这个命令systemd-sysusers复制到机器里覆盖原来的,过了;另外还有一个需要复制systemd-tmpfiles,我没复制但报错以后继续跑了,姑且认为是因为备份啥东西所以无大碍。

对于 usrmerge 我劝大家写个脚本,先 ls /binls /usr/bin,然后 diff -Nur ls1 ls2,把没有+/-的取出来,然后备份下/bin里的;之后把 /bin 里的都备份移动出来;如果有,再把 dash bash cp 移回去,把/usr/bin 的移动回来;这样这个usrmerge就可以过了。

完毕。

相关推荐
LuminousCPP1 分钟前
数据结构 - 排序(二):快速排序从错误初版到优化版|双指针划分 + 三数取中 + 小区间插入优化
c语言·数据结构·笔记·算法·排序算法
Jul1en_1 小时前
Matt 与 Uncle Bob 的播客访谈有感
开发语言·经验分享·笔记·ai·开源·github·ai编程
驭渊的小故事1 小时前
算法训练笔记:添加逗号、跳台阶、扑克牌顺子
笔记
噜~噜~噜~2 小时前
操作系统笔记-3.1.1.3 进程的内存映像
笔记·操作系统
摇滚侠2 小时前
《Spring Boot 3:高级与架构设计》第 2 章 IOC容器的高级机制 Environment 阅读笔记 4
spring boot·笔记·后端
李帅朋11 小时前
微分基本定义笔记
人工智能·笔记·深度学习·神经网络
xian_wwq14 小时前
【学习笔记】深度认知系列-第16讲-提示词工程
人工智能·笔记·学习
youm200315 小时前
认识Redis
redis·笔记·学习
亮工硬件16 小时前
1-11 STM32内部FLASH(数据掉电保存)
笔记·stm32·单片机·嵌入式硬件·学习
疯狂打码的少年18 小时前
【数据库技术】复习日:关系代数 + SQL + 规范化(整理对比表)
jvm·数据库·笔记·sql