Deepin软件源(记录在这里自用)

@Ta 2020-11-04发布,2020-11-04修改 743点击

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 /

使用方法:

  1. 使用以下命令启用i386架构,因为很多wine应用都是32位的,不启用i386架构就看不到。

    sudo dpkg --add-architecture i386
  2. 把上述软件源添加到/etc/apt/sources.list文件的末尾。

    image.png

  3. 然后执行以下命令,这是为了导入缺失的公钥,自动解决“无法验证以下签名: 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”不再出现。

  4. 运行sudo apt update来更新软件包列表,然后你就可以用sudo apt install来安装你想要的软件了。比如sudo apt install com.qq.weixin.spark(星火商店微信)。

  5. 如果由于依赖关系问题,无法使用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/

  6. 如果你的系统不是deepin,请阅读下面的防止陷入依赖包地狱一节。在阅读完之前不要进行任何系统更新!这非常重要,否则日后你可能会遇到无尽的麻烦。
    澄清:sudo apt update不是系统更新,只是更新软件包列表,你想什么时候做都可以,对系统毫无影响。sudo apt upgrade才是系统更新。


如何高效查找软件包?

  1. 安装新立得软件包管理器:

    sudo apt install synaptic
  2. 在启动器找到“新立得软件包管理器”图标并打开。

  3. 在左下角选择“源自”,然后选择应用商店源的地址,就可以看到应用商店提供的软件包了。注意相同的地址可能有好几个类别(比如stable/contribstable/non-free等)。大部分Windows移植的软件包都在stable/non-free里。

    image.png


防止陷入依赖包地狱:

如果你的系统不是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/

回复列表(3)
  • @Ta / 01-20 14:45
    感谢老哥分享。
    有没有mips64架构下的教程。龙芯+UOS用户表示软件很不好找。
  • @Ta / 1天前

    添加deepin应用商店软件源

    在终端运行以下命令:

    echo -e 'deb https://cdn-package-store6.deepin.com/appstore eagle appstore\ndeb [by-hash=force] https://community-packages.deepin.com/deepin/ apricot non-free' | sudo tee /etc/apt/sources.list.d/appstore.list
    
    然后运行
    sudo dpkg --add-architecture i386
    

    然后运行

    sudo apt update
    

    该命令会报错,错误提示里面有个NO_PUBKEY,后跟一串字母数字。运行以下命令手动导入缺失的公钥:

    sudo apt-key adv --keyserver keyserver.ubuntu.con --recv 把上一步看到的那一串字母数字粘贴在这里,不要无视这句话
    

    然后验证

    sudo apt update
    
    如果报错没了就继续,否则重复上一步。

    如果你看不懂上面的操作要你做什么,那就执行以下命令,这可以自动导入缺失的公钥,自动解决“无法验证以下签名: 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”提示不再出现。


    查找qq软件包:

    apt list | grep ^com.qq
    
    看到包名后
    sudo apt install 包名
    

    应用安装后图标不会出现,执行以下命令可以让图标出现:

    find /opt/apps/*/entries /opt/durapps/*/entries -type f | while read f; do dst="$HOME/.local/share/$(echo "$f" | awk -F'/entries/' '{print $2}')"; dstdir=`dirname "$dst"`; echo -e "$f\n\t-> $dst"; mkdir -p "$dstdir"; ln -sf "$f" "$dst"; done
    
    如果以后不想要图标了,自己去 `~/.local/share/applications/` 删除。
  • @Ta / 1天前

    /opt/apps/com.oray.sunlogin.client/files/bin/sunloginclient

添加新回复
回复需要登录

[聊天-此处没有老虎] MINE:MUTxRxEnable