什么是“质量差”的包裹?

什么是“质量差”的包裹?

质量差的软件包意味着什么(什么样的品质才会成为质量差的软件包)以及如果我安装了一个质量差但仍可安装的软件包会发生什么。

在此处输入图片描述

答案1

通过查看该对话框中提供的详细信息,您可以了解为什么某个包的质量不佳。它通常与包的打包方式有关,而不是包本身。

如果包裹不符合Debian 政策,则其质量较差。

触发此警告的一些常见问题包括:

  • 该软件包存在一些文件所有权错误
  • 控制文件等中没有有效的“安装大小”字段。

答案2

其含义在不同的 deb 中可能有所不同,基本含义是缺少某些东西/没有 100% 正确打包。

您可以使用 dpkg 安装它:

假设您已将 .deb 下载到 ~/Downloads 文件夹中,请在终端中运行以下命令来安装所有 .deb 文件:

cd ~/Downloads
sudo dpkg -i *.deb
sudo apt-get install -f

或者使用 Gdebi。先安装 Gdebi:

sudo apt-get install gdebi gdebi-core

然后您可以右键单击 .deb 文件并选择“使用 Gdebi 包安装程序打开”。

我实际上几个小时前就发布过关于此的帖子:如何在 Ubuntu 软件中心出现“软件包质量不好”错误时安装 .Deb 文件

答案3

为了确保我们使用软件中心安装的软件包没有错误,Debian 政策检查违规行为时使用林田. 只有这样,软件包的安装才会被允许。

如果没有选项可以覆盖此设置,我们可以通过以下方式安装软件包其他更传统的路径


“质量差”USC 的错误有助于挑选非标准软件包,并警告我们它们不完全符合Debian 政策. 在安装之前,最好先检查一下软件包林田。这正是软件中心所做的:

lintian name_of_package.deb

然后您将看到错误 (E) 或警告 (W),它们表明软件中心抱怨的软件包的弱点到底是什么。在上面的示例中,文件权限设置为错误的用户或组 ID。如果软件包没有替换系统文件,这不会影响您的整体系统稳定性,因此不太可能对您的安装造成风险。但是,错误的权限可能是新安装的应用程序无法按预期运行的原因。

“质量差的软件包”很可能不会影响整个系统的稳定性或破坏系统。如果你信任你的来源,情况就更是如此。Debian 甚至维护了一个列表,其中列出了Debian 档案库中的软件包中的 Lintian 标签

尽管如此,在安装这样的包之前找出到底出了什么问题还是一个好主意。这也将帮助您提交错误报告,让包装人员有机会修复它。

答案4

这个答案是为开发人员编写的,因为我在另一个问题中回答了它,而版主似乎已经将其合并了......

所以,如果我理解正确的话,你正在打包一个软件,但像软件中心这样的安装程序却对打包质量有所抱怨。

尝试使用林田打包时,因为这也是安装时的工具检查。简而言之,它是

Debian 软件包检查器。它可用于检查二进制和源软件包是否符合 Debian 政策以及其他常见的打包错误。

例子:

$ lintian -i packagename.deb
W: packagename: package-name-doesnt-match-sonames packagename
N: 
N:    The package name of a library package should usually reflect the soname
N:    of the included library. The package name can determined from the
N:    library file name with the following code snippet:
N:    
N:     $ objdump -p /path/to/libfoo-bar.so.1.2.3 | sed -n -e's/^[[:space:]]*SONAME[[:space:]]*//p' | sed -e's/\([0-9]\)\.so\./\1-/; s/\.so\.//'
N:    
N:    Severity: normal, Certainty: possible
N:    
N:    Check: binaries, Type: binary, udeb
N:

当你使用构建包时debuild(你应该这样做),你甚至不能用错误首先,所以我最好的猜测是你以错误的方式构建它。 debuild 在源包上运行 Lintian,并且在构建过程中你也会看到输出:

$ debuild -S
[...]
Now running lintian...
W: packagename source: debian-rules-missing-recommended-target build-arch
W: packagename source: debian-rules-missing-recommended-target build-indep
Finished running lintian.
[...]

如果您的行以 开头E:,则说明其中存在严重错误,这将阻止您以常规方式分发软件包。它们只需要具有一定的质量。

相关内容