质量差的软件包意味着什么(什么样的品质才会成为质量差的软件包)以及如果我安装了一个质量差但仍可安装的软件包会发生什么。
答案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:
,则说明其中存在严重错误,这将阻止您以常规方式分发软件包。它们只需要具有一定的质量。