编译内核 make modules_install报错SSL error:02001002:system library:fopen:No such file or directory

在进行编译内核实验时,遇到makemodules_install阶段出现SSL错误,原因是CONFIG_MODULE_SIG_KEY被置空。解决方法是恢复CONFIG_MODULE_SIG_KEY为'cert/signing_key.pem',同时保持CONFIG_SYSTEM_TRUSTED_KEYS为空。此问题可能源于之前为解决make环节的证书错误而进行的配置修改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        在编译内核实验中,在完成make、make_modules操作后在make modules_install的过程中报错SSL error:02001002:system library:fopen:No such file or directory:

        推测是由于在解决make环节的报错make[1]: *** 没有规则可制作目标“debian/canonical-certs.pem”,由“certs/x509_certificate_list” 需求。 停止时将CONFIG_MODULE_SIG_KEY与CONFIG_SYSTEM_TRUSTED_KEYS均置空的操作导致。 CONFIG_MODULE_SIG_KEY的置空可能会引起make modules_install的报错。

        将CONFIG_MODULE_SIG_KEY="cert/signing_key.pem"恢复后解决。(也可重置.config配置解决,注意CONFIG_SYSTEM_TRUSTED_KEYS仍需置空)

参考博客:

https://huaweicloud.csdn.net/63561116d3efff3090b5991a.html?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2~default~CTRLIST~activity-1-120809966-blog-123590901.pc_relevant_multi_platform_whitelistv3&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2~default~CTRLIST~activity-1-120809966-blog-123590901.pc_relevant_multi_platform_whitelistv3&utm_relevant_index=1

### **问题分析** 用户遇到了两个主要问题: 1. `-bash: yum: command not found` 表明系统中缺少 `yum` 工具或其依赖项。 2. `openssl 私钥文件 cakey.pem 缺失错误`,提示 `bss_file.c fopen No such file or directory`,这通常是因为指定的文件路径不正确或文件确实不存在。 --- ### **解决方案** #### **一、解决 `-bash: yum: command not found` 问题** ##### **1. 检查 Python 环境** 由于 `yum` 是基于 Python 开发的工具,Python 的缺失可能导致 `yum` 失效。运行以下命令检查 Python 是否存在: ```bash python --version python3 --version ``` 如果发现 Python 被卸载或损坏,则需要重新安装 Python。对于 CentOS/RHEL 系统,默认使用的可能是 Python 2.x 或 Python 3.x。可以从官方源或其他可信源下载对应的 RPM 包并手动安装。 ##### **2. 手动恢复 YUM** 如果没有可用的 `yum`,可以通过以下方式恢复: - 访问 CentOS 官方镜像站点(如 http://mirror.centos.org/),找到对应版本下的基础包。 - 下载以下关键 RPM 包到本地目录: - `yum-<version>.rpm` - `yum-metadata-parser-<version>.rpm` - `python*-<version>.rpm`(根据系统默认解释器) - 使用 `rpm` 命令安装这些包: ```bash rpm -ivh python*.rpm yum*.rpm ``` ##### **3. 验证修复结果** 尝试运行以下命令验证 `yum` 是否已成功恢复: ```bash yum list installed ``` --- #### **二、解决 `openssl 私钥文件 cakey.pem 缺失错误`** ##### **1. 检查文件路径** 错误信息 `No such file or directory` 显示系统未能找到指定的私钥文件 `cakey.pem`。请确认以下内容: - 文件的实际存储位置是否与脚本中定义的位置一致。 - 如果文件名拼写有误,请更正为正确的名称。 ##### **2. 生成新的私钥文件** 如果确信原文件已经丢失,可以使用 OpenSSL 自动生成一个新的私钥文件。例如: ```bash openssl genrsa -out cakey.pem 2048 ``` 这条命令会创建一个名为 `cakey.pem` 的新私钥文件[^1]。 ##### **3. 设置正确的环境变量** 为了确保 OpenSSL 正常加载自定义库而不冲突,应调整 `LD_LIBRARY_PATH` 环境变量。例如: ```bash export LD_LIBRARY_PATH=/path/to/custom/library:$LD_LIBRARY_PATH ``` 这里需要注意的是,避免将自定义路径加入全局配置以免影响其他程序正常运行[^2]。 ##### **4. 查看当前 OpenSSL 版本及其编译参数** 有时特定功能不可用可能源于旧版 OpenSSL 不支持某些特性。可通过以下命令了解详情: ```bash openssl version -a ``` 典型输出类似于: ``` OpenSSL 1.0.1e-fips 11 Feb 2013 built on: Tue Jan 20 17:30:05 UTC 2015 platform: linux-x86_64 options: bn(64,64) md2(int) rc4(16x,int) ... ``` 如果版本过低且存在问题,考虑升级至更高版本[^3]。 --- ### **总结** 针对上述两种情况分别采取措施:一是通过重装必要组件使 `yum` 功能得以恢复;二是依据实际需求要么找回原有私钥要么重建之,并妥善设置关联环境变量以保障兼容性。以上步骤均有助于快速定位并排除故障。 --- ###
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值