本文及资源最后更新时间 2021-01-20 by sky995
deepin系统源(内含deepin-wine5等):
## Generated by deepin-installer
deb [by-hash=force] https://community-packages.deepin.com/deepin/ apricot main contrib non-free
#deb-src https://community-packages.deepin.com/deepin/ apricot main contrib non-free
备注:#deb-src
以#
开头,表示它被注释掉了,也就是没启用。这是deepin系统的源代码仓库,通常我们不需要源代码,所以默认不启用。如果你想启用,删掉开头的#
即可。
deepin应用商店源(内含微信等):
deb https://cdn-package-store6.deepin.com/appstore eagle appstore
星火应用商店源(内含星火应用商店打包的微信等):
deb [by-hash=force] https://sucdn.jerrywang.top /
使用方法:
- 使用以下命令启用i386架构,因为很多wine应用都是32位的,不启用i386架构就看不到。
sudo dpkg --add-architecture i386
- 把上述软件源添加到
/etc/apt/sources.list
文件的末尾。 - 然后执行以下命令,这是为了导入缺失的公钥,自动解决“无法验证以下签名: NO_PUBKEY ……”的问题:
sudo apt-get update 2>&1 | tee /tmp/apt.tmp; cat /tmp/apt.tmp | grep 'NO_PUBKEY' | awk -F'NO_PUBKEY' '{print $2}' | sort | uniq | xargs sudo apt-key adv --keyserver keyserver.ubuntu.com --recv
反复运行上面的命令,直到“由于没有公钥,无法验证下列签名: NO_PUBKEY”不再出现。
- 运行
sudo apt update
来更新软件包列表,然后你就可以用sudo apt install
来安装你想要的软件了。比如sudo apt install com.qq.weixin.spark
(星火商店微信)。 - 如果由于依赖关系问题,无法使用
apt
命令安装某个软件包,可以考虑使用aptitude
命令安装。
注意:如果是32位软件包,aptitude
必须给软件包后面加:i386
,用apt
的时候不需要,但是aptitude
如果不加就不能安装。sudo apt install aptitude sudo aptitude install com.qq.weixin.spark:i386
aptitude
会给出解决依赖关系的方案。请仔细看清楚方案,否则系统可能会损坏!如果方案包括删除软件包的操作,请格外注意。如果删除的是你不想删除的软件包,或者一次性删除数十个甚至上百个软件包,那就千万不能回复
y
接受!应该回复n
让它尝试下一个方案。如果方案不包括删除软件包的操作,但你要安装的软件包处于“保持 下列软件包于其当前版本:…… [未安装的]”里面,那也不能接受(因为接受了也不会安装该软件包,相当于什么也没做),应该回复
n
让它尝试下一个方案。如果方案可接受,则回复
y
进行安装。如果找不到合适的方案,只能回复
q
退出安装。如果问题是由deepin系统源引起的,你可以考虑注释deepin系统源,然后直接去 https://community-packages.deepin.com/deepin/pool/ 里面下载依赖包进行安装。这样就不会陷入“大量软件包版本冲突,找不到解决方案”的麻烦了(这种情形也被称作“依赖包地狱”)。比如,
deepin-wine5
可以去这里下载:https://community-packages.deepin.com/deepin/pool/main/d/deepin-wine5/ - 如果你的系统不是deepin,请阅读下面的防止陷入依赖包地狱一节。在阅读完之前不要进行任何系统更新!这非常重要,否则日后你可能会遇到无尽的麻烦。
澄清:sudo apt update
不是系统更新,只是更新软件包列表,你想什么时候做都可以,对系统毫无影响。sudo apt upgrade
才是系统更新。
如何高效查找软件包?
- 安装新立得软件包管理器:
sudo apt install synaptic
- 在启动器找到“新立得软件包管理器”图标并打开。
- 在左下角选择“源自”,然后选择应用商店源的地址,就可以看到应用商店提供的软件包了。注意相同的地址可能有好几个类别(比如
stable/contrib
,stable/non-free
等)。大部分Windows移植的软件包都在stable/non-free
里。
防止陷入依赖包地狱:
如果你的系统不是deepin,添加deepin系统源时建议遵循“用完就注释”的原则。就是:
- 平常注释掉deepin系统源(在
deb
前面加#
)。 - 如果安装deepin应用商店源或星火应用商店源的时候缺少依赖(比如
deepin-wine5
),就临时取消deepin系统源的注释(删除deb
前面#
,然后执行sudo apt update
)。 - 安装完成后,再次注释deepin系统源(在
deb
前面加#
)。 - 在deepin系统源启用期间,不要进行
sudo apt upgrade
或者任何形式的系统升级、系统更新。否则,你的系统软件包可能会与deepin的系统软件包混合,导致后期安装其他软件时陷入依赖包地狱(就是不管怎么做都有依赖包冲突,完全无法安装新软件)。澄清:
sudo apt update
不是系统更新,只是更新软件包列表,你想什么时候做都可以,对系统毫无影响。sudo apt upgrade
才是系统更新。 - 你也可以考虑始终注释deepin系统源,然后直接去https://community-packages.deepin.com/deepin/pool/里面下载所需的依赖包进行安装。这样就几乎没有任何陷入“依赖包地狱”的风险。比如,
deepin-wine5
可以去这里下载:https://community-packages.deepin.com/deepin/pool/main/d/deepin-wine5/