You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

添加PPA后APT无法显示可用的dosbox-staging deb包(系统已存在该软件的snap版本)

添加PPA后APT无法显示可用的dosbox-staging deb包(系统已存在该软件的snap版本)

遇到这种情况别慌,咱们一步步排查解决:

1. 先确认PPA是否真的正确添加并启用

首先检查系统里有没有成功生成目标PPA的源文件:

ls /etc/apt/sources.list.d/ | grep feignint

如果能看到类似feignint-ubuntu-dosbox-staging-jammy.list的文件,再检查文件内容有没有被注释(行开头带#):

cat /etc/apt/sources.list.d/feignint-ubuntu-dosbox-staging-jammy.list

要是有注释,去掉所有行开头的#,然后重新更新APT缓存:

sudo apt update

如果没找到对应的源文件,说明PPA没添加成功,重新执行添加命令:

sudo add-apt-repository ppa:feignint/dosbox-staging
sudo apt update

2. 检查系统架构与PPA包是否匹配

Launchpad上的PPA可能只提供特定架构的deb包,先确认你的系统架构:

dpkg --print-architecture

比如输出是amd64,就对应去确认PPA是否有该架构的jammy包。如果你的架构是arm64这类,而PPA没提供对应包,自然看不到deb版本。

3. 清理APT缓存后重新更新

有时候APT缓存可能出现异常,导致新添加的源信息没被正确读取,试试清理缓存再更新:

sudo apt clean
sudo apt update

4. 检查APT优先级规则(Pinning)

如果系统设置了APT优先级规则,可能会忽略这个PPA的包。查看优先级配置文件:

ls /etc/apt/preferences.d/

如果有相关配置文件,打开看看有没有针对dosbox-staging或该PPA的低优先级设置(比如Pin-Priority: 100),这类设置会让APT优先选择其他源的包甚至忽略该PPA。如果有,调整优先级或者删除对应规则,再更新APT。

5. 查看APT更新时的错误信息

执行sudo apt update时,仔细看输出内容,有没有关于这个PPA的错误提示,比如签名无效、无法连接源服务器等。如果是签名问题,重新导入PPA的GPG密钥:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <PPA密钥ID>

(密钥ID可以从Launchpad的PPA页面或更新错误信息里提取)

6. 直接查看可用版本源

最后,用apt policy命令查看dosbox-staging的所有可用源:

apt policy dosbox-staging

如果输出里能看到PPA提供的版本,直接执行安装命令即可:

sudo apt install dosbox-staging

要是还是看不到,可能是PPA源暂时有问题,可以过段时间再试,或者手动从Launchpad下载对应架构的jammy deb包,用以下命令安装:

sudo dpkg -i <下载的deb包文件名>
sudo apt -f install

备注:内容来源于stack exchange,提问作者Usermaxn

火山引擎 最新活动