Dan*_*les 6 debian package-management audacious ppa
我的操作系统是 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
Run Code Online (Sandbox Code Playgroud)
提示按 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'
Run Code Online (Sandbox Code Playgroud)
然后,当我尝试运行更新步骤 ( 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.
Run Code Online (Sandbox Code Playgroud)
最后,当我运行安装步骤 ( 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.
Run Code Online (Sandbox Code Playgroud)
在线浏览后,我输入以下命令来撤消更改:
sudo add-apt-repository --remove ppa:nilarimogard/webupd8
sudo apt update
sudo apt-key del 531EE72F4C9D234C
sudo apt update
Run Code Online (Sandbox Code Playgroud)
为了正确添加 PPA,我需要运行哪些附加命令?
小智 6
不要在 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
这并没有\xe2\x80\x99t回答你所说的问题,但它会给你一个Debian 9上的Audacious 3.10的打包版本。这里\xe2\x80\x99s如何在Debian 9上重建当前的Buster包:
\n\n启用 Stretch backports,我们\xe2\x80\x99将需要它
\n\necho deb http://deb.debian.org/debian stretch-backports main | sudo tee /etc/apt/sources.list.d/stretch-backports.list\nsudo apt update\nRun Code Online (Sandbox Code Playgroud)安装一些我们\xe2\x80\x99需要的有用工具
\n\nsudo apt install devscripts\nRun Code Online (Sandbox Code Playgroud)切换到临时目录
\n\ncd /tmp\nRun Code Online (Sandbox Code Playgroud)下载源码包
\n\ndget -xu http://deb.debian.org/debian/pool/main/a/audacious/audacious_3.10-1.dsc\ndget -xu http://deb.debian.org/debian/pool/main/a/audacious-plugins/audacious-plugins_3.10-1.dsc\nRun Code Online (Sandbox Code Playgroud)开始构建大胆的
\n\ncd audacious-3.10\nRun Code Online (Sandbox Code Playgroud)使用构建依赖项构建一个元包(这将允许我们稍后进行清理)
\n\nmk-build-deps debian/control\nRun Code Online (Sandbox Code Playgroud)安装它然后将其移开
\n\nsudo apt install ./audacious-build-deps_3.10-1_all.deb\nmv audacious-build-deps_3.10-1_all.deb ..\nRun Code Online (Sandbox Code Playgroud)现在构建大胆的
\n\ndpkg-buildpackage -us -uc\nRun Code Online (Sandbox Code Playgroud)安装我们\xe2\x80\x99构建 Audacious 插件所需的软件包(我们可以\xe2\x80\x99t 自行安装 Audacious,无需这些)
\n\ncd ..\nsudo 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\nRun Code Online (Sandbox Code Playgroud)构建插件的过程相同(此处需要升级debhelper到 Stretch 向后移植版本)
cd audacious-plugins-3.10\nmk-build-deps debian/control\nsudo apt install -t stretch-backports debhelper\nsudo apt install ./audacious-plugins-build-deps_3.10-1_amd64.deb\nmv audacious-plugins-build-deps_3.10-1_amd64.deb ..\ndpkg-buildpackage -us -uc\nRun Code Online (Sandbox Code Playgroud)Audacious 及其插件之间的相互依赖性使构建变得复杂,这就是为什么您需要首先构建 Audacious,安装其库和开发包,然后构建插件。完成所有 \xe2\x80\x99s 后,您可以使用生成的包安装 Audacious 本身:
\n\ncd ..\nsudo dpkg -i audacious_3.10-1_amd64.deb audacious-plugins_3.10-1_amd64.deb audacious-plugins-data_3.10-1_all.deb\nRun Code Online (Sandbox Code Playgroud)\n\n要清理构建期间使用的包:
\n\nsudo apt purge audacious-dev build-essential debhelper devscripts gcc gcc-6 audacious-build-deps audacious-plugins-build-deps\nsudo apt --purge autoremove\nRun Code Online (Sandbox Code Playgroud)\n