Debian:使用 PPA 更新软件包失败,并出现错误“gpg:未找到有效的 OpenPGP 数据”

Debian:使用 PPA 更新软件包失败,并出现错误“gpg:未找到有效的 OpenPGP 数据”

我的操作系统是 Debian 9.1 和 Cinnamon 3.2.7。我从包管理器安装了 Audacious(版本 3.7.2),并想要更新到最新版本。每这些说明,我尝试通过输入以下命令进行更新:

sudo add-apt-repository ppa:nilarimogard/webupd8   
sudo apt update   
sudo apt install audacious

提示按 Enter 后,我收到以下输出:

gpg: keybox '/tmp/tmpseyl6p36/pubring.gpg' created  
gpg: /tmp/tmpseyl6p36/trustdb.gpg: trustdb created  
gpg: key 531EE72F4C9D234C: public key "Launchpad webupd8" imported  
gpg: no ultimately trusted keys found  
gpg: Total number processed: 1  
gpg:               imported: 1  
gpg: no valid OpenPGP data found.  
Exception in thread Thread-1:  
Traceback (most recent call last):  
  File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner  
    self.run()  
  File "/usr/lib/python3.5/threading.py", line 862, in run  
    self._target(*self._args, **self._kwargs)  
  File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 688, in addkey_func  
    func(**kwargs)  
  File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 386, in add_key  
    return apsk.add_ppa_signing_key()  
  File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 273, in add_ppa_signing_key  
    cleanup(tmp_keyring_dir)  
  File "/usr/lib/python3/dist-packages/softwareproperties/ppa.py", line 234, in cleanup  
    shutil.rmtree(tmp_keyring_dir)  
  File "/usr/lib/python3.5/shutil.py", line 480, in rmtree  
    _rmtree_safe_fd(fd, path, onerror)  
  File "/usr/lib/python3.5/shutil.py", line 438, in _rmtree_safe_fd  
    onerror(os.unlink, fullname, sys.exc_info())  
  File "/usr/lib/python3.5/shutil.py", line 436, in _rmtree_safe_fd  
    os.unlink(name, dir_fd=topfd)  
FileNotFoundError: [Errno 2] No such file or directory: 'S.gpg-agent.browser'  

然后,当我尝试运行更新步骤 ( sudo apt-get install --only-upgrade audacious) 时,我收到更多错误:

Ign:1 http://deb.debian.org/debian stretch InRelease  
Ign:2 http://www.scootersoftware.com bcompare4 InRelease                         
Ign:3 http://ftp.us.debian.org/debian stretch InRelease                          
Hit:4 http://deb.debian.org/debian stretch Release                               
Hit:5 http://www.scootersoftware.com bcompare4 Release                           
Hit:6 http://ftp.us.debian.org/debian stretch-updates InRelease                  
Hit:7 http://security.debian.org/debian-security stretch/updates InRelease       
Hit:8 http://ftp.us.debian.org/debian stretch Release                            
Ign:11 http://ppa.launchpad.net/alexanderk23/ppa/ubuntu artful InRelease         
Ign:13 http://ppa.launchpad.net/nilarimogard/webupd8/ubuntu disco InRelease     
Err:14 http://ppa.launchpad.net/alexanderk23/ppa/ubuntu artful Release  
  404  Not Found  
Err:15 http://ppa.launchpad.net/nilarimogard/webupd8/ubuntu disco Release  
  404  Not Found  
Reading package lists... Done  
E: The repository 'http://ppa.launchpad.net/alexanderk23/ppa/ubuntu artful Release' does not have a Release file.  
N: Updating from such a repository can't be done securely, and is therefore disabled by default.  
N: See apt-secure(8) manpage for repository creation and user configuration details.  
E: The repository 'http://ppa.launchpad.net/nilarimogard/webupd8/ubuntu disco Release' does not have a Release file.  
N: Updating from such a repository can't be done securely, and is therefore disabled by default.  
N: See apt-secure(8) manpage for repository creation and user configuration details.

最后,当我运行安装步骤 ( sudo apt install audacious) 时,它表示最新版本已安装。它一定没有接受购电协议。

Reading package lists... Done  
Building dependency tree         
Reading state information... Done  
audacious is already the newest version (3.7.2-1+b1).  
0 upgraded, 0 newly installed, 0 to remove and 241 not upgraded.  

在线浏览后,我输入以下命令来撤消更改:

sudo add-apt-repository --remove ppa:nilarimogard/webupd8  
sudo apt update  
sudo apt-key del 531EE72F4C9D234C  
sudo apt update  

为了正确添加 PPA,我需要运行哪些附加命令?

答案1

不要在 Debian 中使用 Ubuntu PPA。

不要制作 FrankenDebian Debian 稳定版不应与其他版本结合使用。如果您尝试安装当前 Debian 稳定版本中不可用的软件,那么为其他 Debian 版本添加存储库并不是一个好主意。这些问题可能不会立即发生,而是在您下次安装更新时发生。

事情可能会出现问题的原因是,为某个 Debian 版本打包的软件是为了与该版本的其他软件兼容而构建的。例如,在stretch系统上安装buster的软件包也可以安装更新版本的核心库,包括libc6。这会导致系统未经过测试或稳定,而是两者的混合体。

如果与 Debian Stable 一起使用,则可以创建 FrankenDebian 的存储库:

Debian 测试版本(目前为 Buster)

Debian 不稳定版本(也称为 sid)

Ubuntu、Mint 或其他衍生存储库与 Debian 不兼容!

Ubuntu PPA

来源https://wiki.debian.org/DontBreakDebian

Debian 存储库中的 Audacious 出了什么问题?https://packages.debian.org/search?keywords=audacious

答案2

这并不能回答您所说的问题,但它会为您提供 Debian 9 上 Audacious 3.10 的打包版本。以下是如何在 Debian 9 上重建当前的 Buster 软件包:

  • 启用我们需要的 Stretch backports

    echo deb http://deb.debian.org/debian stretch-backports main | sudo tee /etc/apt/sources.list.d/stretch-backports.list
    sudo apt update
    
  • 安装一些我们需要的有用工具

    sudo apt install devscripts
    
  • 切换到临时目录

    cd /tmp
    
  • 下载源码包

    dget -xu http://deb.debian.org/debian/pool/main/a/audacious/audacious_3.10-1.dsc
    dget -xu http://deb.debian.org/debian/pool/main/a/audacious-plugins/audacious-plugins_3.10-1.dsc
    
  • 开始构建大胆的

    cd audacious-3.10
    
  • 使用构建依赖项构建一个元包(这将允许我们稍后进行清理)

    mk-build-deps debian/control
    
  • 安装它然后将其移开

    sudo apt install ./audacious-build-deps_3.10-1_all.deb
    mv audacious-build-deps_3.10-1_all.deb ..
    
  • 现在构建大胆的

    dpkg-buildpackage -us -uc
    
  • 安装构建 Audacious 插件所需的软件包(如果没有这些,我们就无法单独安装 Audacious)

    cd ..
    sudo dpkg -i audacious-dev_3.10-1_amd64.deb libaudcore5_3.10-1_amd64.deb libaudgui5_3.10-1_amd64.deb libaudtag3_3.10-1_amd64.deb
    
  • 构建插件的过程相同(此处需要升级debhelper到 Stretch 向后移植版本)

    cd audacious-plugins-3.10
    mk-build-deps debian/control
    sudo apt install -t stretch-backports debhelper
    sudo apt install ./audacious-plugins-build-deps_3.10-1_amd64.deb
    mv audacious-plugins-build-deps_3.10-1_amd64.deb ..
    dpkg-buildpackage -us -uc
    

Audacious 及其插件之间的相互依赖性使构建变得复杂,这就是为什么您需要首先构建 Audacious,安装其库和开发包,然后构建插件。完成所有操作后,您可以使用生成的包安装 Audacious 本身:

cd ..
sudo dpkg -i audacious_3.10-1_amd64.deb audacious-plugins_3.10-1_amd64.deb audacious-plugins-data_3.10-1_all.deb

要清理构建期间使用的包:

sudo apt purge audacious-dev build-essential debhelper devscripts gcc gcc-6 audacious-build-deps audacious-plugins-build-deps
sudo apt --purge autoremove

相关内容