11.3. 软件管理
cr_compress_file_with_stat()
可能会导致内存泄漏
createrepo_c
C 库包含 API cr_compress_file_with_stat()
函数。这个函数被声明为以 char **dst
作为第二个参数。根据其他参数,cr_compress_file_with_stat()
要么使用 dst
作为输入参数,要么使用它来返回一个分配的字符串。这种无法预测的行为可能会导致内存泄漏,因为它不会通知用户何时释放 dst
内容。
要临时解决这个问题,增加了一个新的 API cr_compress_file_with_stat_v2
函数,它只使用 dst
参数作为输入。它被声明为 char *dst
。这可防止内存泄漏。
请注意,cr_compress_file_with_stat_v2
函数为临时的,仅存在于 RHEL 8 中。之后,cr_compress_file_with_stat()
将会被修复。
(BZ#1973588)
当 scriptlet 失败时,YUM 事务被报告为成功
从 RPM 版本 4.6 开始,允许安装后 scriptlet 失败,而不会对事务造成致命影响。这个行为也被传播到 YUM。这导致 scriptlets 可能会偶尔失败,而整个软件包事务报告为成功。
目前还没有可用的临时解决方案。
请注意,这是预期行为,其在 RPM 和 YUM 之间保持一致。scriptlet 中的任何问题都应在软件包层面上解决。
对通过升级更改其架构的软件包的安全 YUM 升级会失败
与 RHBA-2022:7711 公告一起发布的 BZ#2088149 的补丁引入了以下回归:对通过升级将其架构从或 noarch
更改为 noarch 的使用安全过滤器的 YUM 升级会失败。因此,它可以使系统处于脆弱的状态。
要临时解决这个问题,执行没有安全过滤器的常规升级。