在树莓派上通过apt安装各种应用的时候始终有如下依赖错误提示:
“有一些软件包无法被安装。如果您使用的是unstable发行版,这也许是因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件包尚未被创建或者是它们已被从新到(Incoming)目录移出。下列软件包未满足依赖关系。”
【原创】本文已经上传至百度经验:https://jingyan.baidu.com/article/6b1823090fa81bfa59e1594e.html
这是个常见的“安装源与本地系统分支不符”导致的问题,而本次问题的主要原因是:
使用PINN在树莓派上安装的多系统启动,因为官方的迷之原因,在安装完树莓派官方Debian系统之后source源指向的是旧版本,并未跟随新版更新。
接下来大家可以跟随本教程学习排查以及解决方法(故障状况如图):
工具/原料
- 树莓派
- Debian
问题排查
这是个常见的“安装源与本地系统分支不符”导致的问题,在其他分支的Linux版本中同样可能会遇到类似问题,所以我们先获取详细系统版本信息以便于接下来的对比。
在树莓派的“LX终端”中输入下列命令获取详细系统版本(如图):
cat /etc/os-release其他类型的Linux系统查询命令为:
cat /etc/*-release其中
VERSION_ID表示为版本号:10
VERSION_CODENAME表示为代号/分支:buster
在上面的操作我们获取到了版本号与代号/分支
接下来我们需要检查一下apt仓库源文件是否与上面获取到的版本一致
在树莓派的“LX终端”中输入下列命令获取apt仓库源地址(如图):
cat /etc/apt/sources.list我们看到在获取的信息中第三列(以空格分隔)就是apt仓库源对应的代号/分支信息了,上面显示的是stretch。
这显然与我们获取当前系统buster代号/分支的不符,这也就是问题的所在。
解决方法
检查buster代号/分支在apt仓库源地址中是否存在。
随便复制一个apt仓库源地址,粘贴到网页浏览器进行访问,确认该分支是否存在(如图)。
在树莓派的“LX终端”中输入下列命令修改apt仓库源地址(如图):
sudo nano /etc/apt/sources.list将其中的关键字stretch全部替换为buster
***如果找不到nano请先使用sudo apt install nano进行安装***
在nano编辑器中使用:
Ctrl+\ 进行替换(手动逐行改也行)
Ctrl+X 进行保存
提示是否覆盖时点击Y
在树莓派的“LX终端”中输入下列命令进行升级(如图):
sudo apt update在树莓派的“LX终端”中输入任意装包命令,测试是否可以正常装包(如图):
例如安装samba服务
sudo apt install samba可以看到下图中显示正常安装且没有依赖报错:
问题解决,至此教程结束。
若需转载本文,请标注来源与链接:原创内容AndyX.Net版权所有 https://andyx.net/resolve-the-apt-dependence-problem-of-raspberry-pie/