什么是“质量差”包?

如果我安装质量差但仍然安装的软件包,会有什么样的质量软件包是什么意思?

在此处输入图像描述

通过查看该对话框中提供的详细信息,您可以了解为什么特定包被视为质量差。 它通常必须处理包的封装方式而不是封装本身。

如果软件包不符合Debian政策 ,那么它被认为质量很差。

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

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

从deb到deb的含义可能有所不同,它基本上意味着缺少/没有100%正确包装的东西。

您可以使用dpkg安装它:

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

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

或者使用Gdebi。 首先安装Gdebi:

 sudo apt-get install gdebi gdebi-core 

然后,您可以右键单击.deb文件并选择“使用Gdebi Package Installer打开”。

我几个小时前发布了这个问题: 如何安装.Deb文件获取“软件包质量不好”错误在Ubuntu软件中心

为了确保我们使用软件中心安装的软件包没有错误和Debian策略违规,我们使用Lintian进行检查。 只有这样才能批准安装包。

如果没有覆盖它的选项,我们可以通过其他更传统的路径安装包。


USC的“质量差”错误有助于选择非标准软件包并警告我们它们不完全符合Debian政策 。 在使用lintian安装包之前检查包是个好主意。 这正是软件中心所做的事情:

 lintian name_of_package.deb 

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

“质量差的软件包”很可能不会影响您的整体系统稳定性或破坏您的系统。 当您信任您的来源时,情况就更不如此了。 甚至还有一个由Debian维护的列表,显示了Debian档案包中Lintian标签的出现 。

然而,在安装这样的软件包之前找出确切的错误是个好主意。 这也将帮助您提交错误报告,以便包装人员有机会修复它。

包裹质量很差

“不允许安装违反质量标准的包装。这可能会导致您的计算机出现严重问题。请联系提供此包装文件的人员或组织,并在下方提供详细信息。”

有时,包装的质量确实很差,但大多数时候,它只是一个误报。 我们无法检查这些软件包的质量,但如果您信任这些软件包,则可以尝试使用这些替代软件进行软件包安装。

质量差也表明下载时丢包,例如丢包或间歇性Internet访问。

  • 解决问题

使用GDebi Package Manager进行安装

sudo apt-get install gdebi gdebi-core

这个答案是为开发人员写的,因为我在另一个主持人似乎合并的问题中回答了这个问题……

因此,如果我正确地理解您,那么您正在打包一个软件,但像软件中心这样的安装程序正在抱怨软件包的质量。

在包装时尝试使用Lintian ,因为这是在安装时检查的工具。 简而言之,它是一个

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:开头,则会出现严重错误,这会阻止您以常规方式分发包。 他们只需要有一定的质量。

WebUpd8上的此页面包含可能对您有用的信息。 如果包是“.deb”文件,则会在其中列出修复程序。 该页面的一般解释如下:

有时,这些包的质量确实很差,但大多数时候只是包描述中的简单错误等,这些都不会对您产生影响。 无论哪种方式,安装它们需要您自担风险!

您的系统可能会中断。 安装软件包后,系统可能无法正常启动,或者系统中的某些组件可能无法按预期运行