There are unfinished transactions remaining解决办法

当在Linux系统中因故终止yum安装后,可能会出现未完成事务的提示。为消除这一提示,可以使用`yum-complete-transaction --cleanup-only`命令。然而,首次执行可能提示该命令不存在,此时需先通过`yum -y install yum-utils`安装相关工具,接着运行`yum clean all`清理缓存。再次执行`yum-complete-transaction --cleanup-only`即可解决问题。

在Linux系统中使用yum在终止过一次后会提示There are unfinished transactions remaining问题,虽然不影响使用的问题,可以通过命令消除问题提示。

今天在使用linux系统yum安装软件时因为忘记做环境配置,便终止了安装命令,做完设置再回来执行yum install 时便提示There are unfinished transactions remaining. You might consider running yum-complete-transaction, or “yum-complete-transaction --cleanup-only” ,有未完成的yum事件,建议使用yum-complete-transaction --cleanup-only命令清除。
在这里插入图片描述
像我有强迫症的人来说,这个提示足矣让我难受一整天。根据提示直接执行yum-complete-transaction --cleanup-only命令,会提示没有这个命令。需要安装此命令。

# 安装 yum-complete-transaction(这是一个能发现未完成或被中断的yum事务的程序)
yum -y install yum-utils
# 清除yum缓存
yum clean all
# 再一次执行清除命令
yum-complete-transaction --cleanup-only

再执行yum install 命令时便没有此提示了

[root@node1 ~]# sudo yum update -y && sudo yum clean all 已加载插件:fastestmirror Loading mirror speeds from cached hostfile 正在解决依赖关系 There are unfinished transactions remaining. You might consider running yum-complete-transaction, or "yum-complete-transaction --cleanup-only" and "yum history redo last", first to finish them. If those don't work you'll have to try removing/installing packages by hand (maybe package-cleanup can help). --> 正在检查事务 ---> 软件包 mysql-community-client.x86_64.0.8.0.18-1.el7 将被 升级 ---> 软件包 mysql-community-client.x86_64.0.8.0.41-1.el7 将被 更新 --> 正在处理依赖关系 mysql-community-client-plugins = 8.0.41-1.el7,它被软件包 mysql-community-client-8.0.41-1.el7.x86_64 需要 ---> 软件包 mysql-community-libs.x86_64.0.8.0.18-1.el7 将被 升级 ---> 软件包 mysql-community-libs.x86_64.0.8.0.41-1.el7 将被 更新 ---> 软件包 mysql80-community-release.noarch.0.el7-5 将被 升级 ---> 软件包 mysql80-community-release.noarch.0.el7-11 将被 更新 --> 正在检查事务 ---> 软件包 mysql-community-client-plugins.x86_64.0.8.0.41-1.el7 将被 安装 --> 解决依赖关系完成 依赖关系解决 ===================================================================================================== Package 架构 版本 源 大小 ===================================================================================================== 正在更新: mysql-community-client x86_64 8.0.41-1.el7 mysql80-community 16 M mysql-community-libs x86_64 8.0.41-1.el7 mysql80-community 1.5 M mysql80-community-release noarch el7-11 mysql80-community 14 k 为依赖而安装: mysql-community-client-plugins x86_64 8.0.41-1.el7 mysql80-community 3.5 M 事务概要 ===================================================================================================== 安装 ( 1 依赖软件包) 升级 3 软件包 总计:21 M Downloading packages: 警告:/var/cache/yum/x86_64/7/mysql80-community/packages/mysql80-community-release-el7-11.noarch.rpm: 头V4 RSA
03-08
[root@VM-16-7-centos UnblockNeteaseMusic]# curl -fsSL https://rpm.nodesource.com/setup_20.x | sudo bash - # 选v20 LTS版 2025-05-14 13:45:45 - Cleaning up old repositories... 2025-05-14 13:45:45 - Old repositories removed 2025-05-14 13:45:45 - Supported architecture: x86_64 2025-05-14 13:45:45 - Added N|Solid repository for LTS version: 20.x 2025-05-14 13:45:45 - yum available, updating... 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile nodesource-nodejs | 3.0 kB 00:00:00 (1/3): nodesource-nodejs/primary_db | 57 kB 00:00:01 (2/3): nodesource-nodejs/filelists_db | 615 kB 00:00:02 (3/3): nodesource-nodejs/other_db | 7.7 kB 00:00:00 元数据缓存已建立 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile nodesource-nsolid | 3.0 kB 00:00:00 (1/3): nodesource-nsolid/primary_db | 28 kB 00:00:00 (2/3): nodesource-nsolid/other_db | 2.7 kB 00:00:00 (3/3): nodesource-nsolid/filelists_db | 514 kB 00:00:02 元数据缓存已建立 2025-05-14 13:45:53 - Repository is configured and updated. 2025-05-14 13:45:53 - You can use N|solid Runtime as a node.js alternative 2025-05-14 13:45:53 - Run 'yum install nsolid -y' to complete the installation. 2025-05-14 13:45:53 - Run 'yum install nodejs -y' to complete the installation. [root@VM-16-7-centos UnblockNeteaseMusic]# sudo yum clean all && sudo yum install -y nodejs 已加载插件:fastestmirror, langpacks 正在清理软件源: epel extras nodesource-nodejs nodesource-nsolid os updates Cleaning up list of fastest mirrors 已加载插件:fastestmirror, langpacks Determining fastest mirrors epel | 4.3 kB 00:00:00 extras | 2.9 kB 00:00:00 nodesource-nodejs | 3.0 kB 00:00:00 nodesource-nsolid | 3.0 kB 00:00:00 os | 3.6 kB 00:00:00 updates | 2.9 kB 00:00:00 (1/9): epel/7/x86_64/group | 399 kB 00:00:00 (2/9): epel/7/x86_64/updateinfo | 1.0 MB 00:00:00 (3/9): epel/7/x86_64/primary_db | 8.7 MB 00:00:00 (4/9): os/x86_64/group_gz | 153 kB 00:00:00 (5/9): extras/x86_64/primary_db | 253 kB 00:00:00 (6/9): nodesource-nodejs/primary_db | 57 kB 00:00:00 (7/9): updates/x86_64/primary_db | 27 MB 00:00:00 (8/9): os/x86_64/primary_db | 6.1 MB 00:00:01 (9/9): nodesource-nsolid/primary_db | 28 kB 00:00:01 正在解决依赖关系 There are unfinished transactions remaining. You might consider running yum-complete-transaction, or "yum-complete-transaction --cleanup-only" and "yum history redo last", first to finish them. If those don't work you'll have to try removing/installing packages by hand (maybe package-cleanup can help). --> 正在检查事务 ---> 软件包 nodejs.x86_64.1.16.20.2-1.el7 将被 升级 ---> 软件包 nodejs.x86_64.2.20.19.1-1nodesource 将被 更新 --> 正在处理依赖关系 glibc >= 2.28,它被软件包 2:nodejs-20.19.1-1nodesource.x86_64 需要 --> 正在处理依赖关系 libm.so.6(GLIBC_2.27)(64bit),它被软件包 2:nodejs-20.19.1-1nodesource.x86_64 需要 --> 正在处理依赖关系 libstdc++.so.6(CXXABI_1.3.9)(64bit),它被软件包 2:nodejs-20.19.1-1nodesource.x86_64 需要 --> 正在处理依赖关系 libstdc++.so.6(GLIBCXX_3.4.20)(64bit),它被软件包 2:nodejs-20.19.1-1nodesource.x86_64 需要 --> 正在处理依赖关系 libstdc++.so.6(GLIBCXX_3.4.21)(64bit),它被软件包 2:nodejs-20.19.1-1nodesource.x86_64 需要 --> 正在处理依赖关系 libc.so.6(GLIBC_2.28)(64bit),它被软件包 2:nodejs-20.19.1-1nodesource.x86_64 需要 --> 解决依赖关系完成 错误:软件包:2:nodejs-20.19.1-1nodesource.x86_64 (nodesource-nodejs) 需要:libstdc++.so.6(GLIBCXX_3.4.20)(64bit) 错误:软件包:2:nodejs-20.19.1-1nodesource.x86_64 (nodesource-nodejs) 需要:glibc >= 2.28 已安装: glibc-2.17-326.el7_9.3.x86_64 (@updates) glibc = 2.17-326.el7_9.3 可用: glibc-2.17-317.el7.i686 (os) glibc = 2.17-317.el7 可用: glibc-2.17-322.el7_9.i686 (updates) glibc = 2.17-322.el7_9 可用: glibc-2.17-323.el7_9.i686 (updates) glibc = 2.17-323.el7_9 可用: glibc-2.17-324.el7_9.i686 (updates) glibc = 2.17-324.el7_9 可用: glibc-2.17-325.el7_9.i686 (updates) glibc = 2.17-325.el7_9 可用: glibc-2.17-326.el7_9.i686 (updates) glibc = 2.17-326.el7_9 错误:软件包:2:nodejs-20.19.1-1nodesource.x86_64 (nodesource-nodejs) 需要:libm.so.6(GLIBC_2.27)(64bit) 错误:软件包:2:nodejs-20.19.1-1nodesource.x86_64 (nodesource-nodejs) 需要:libstdc++.so.6(CXXABI_1.3.9)(64bit) 错误:软件包:2:nodejs-20.19.1-1nodesource.x86_64 (nodesource-nodejs) 需要:libc.so.6(GLIBC_2.28)(64bit) 错误:软件包:2:nodejs-20.19.1-1nodesource.x86_64 (nodesource-nodejs) 需要:libstdc++.so.6(GLIBCXX_3.4.21)(64bit) 您可以尝试添加 --skip-broken 选项来解决该问题 ** 发现 1 个已存在的 RPM 数据库问题, 'yum check' 输出如下: mpi-selector-1.0.3-1.54310.x86_64 是 mpi-selector-1.0.3-1.51258.x86_64 的副本 [root@VM-16-7-centos UnblockNeteaseMusic]# node -v # 验证版本应≥v20.12.2 v16.20.2 [root@VM-16-7-centos UnblockNeteaseMusic]# # CentOS证书默认路径 [root@VM-16-7-centos UnblockNeteaseMusic]# export NODE_EXTRA_CA_CERTS=/etc/pki/tls/certs/ca-bundle.crt [root@VM-16-7-centos UnblockNeteaseMusic]# # 永久生效则写入~/.bashrc [root@VM-16-7-centos UnblockNeteaseMusic]# echo 'export NODE_EXTRA_CA_CERTS=/etc/pki/tls/certs/ca-bundle.crt' >> ~/.bashrc [root@VM-16-7-centos UnblockNeteaseMusic]# npm install --verbose fuse.js # 观察下载源是否为npmmirror.com -bash: npm: 未找到命令 [root@VM-16-7-centos UnblockNeteaseMusic]# curl -I https://registry.npmmirror.com # 检查返回200状态码
05-15
<think>好的,我现在需要帮助用户解决编译过程中遇到的“Waiting for unfinished jobs”问题。首先,我应该回顾用户提供的引用内容,看看有没有相关的解决方案。 根据用户提供的引用资料,比如引用[4]提到路径中的中文名称可能导致这个问题,需要将工程移到英文路径下。引用[3]和[5]则涉及依赖缺失或构建系统残留文件的问题。还有引用[2]提到检查源代码是否有错误。 接下来,我需要整理这些信息,形成一个有条理的解决步骤。首先检查路径是否有问题,尤其是中文路径,这可能是一个常见的原因。然后检查依赖项是否安装,比如Python的distutils模块,这在引用[3]中出现过。之后,清理构建目录或者执行make clean,确保没有残留的中间文件,如引用[5]所述。并行编译的问题可能需要调整-j参数。此外,检查Makefile的规则是否正确,是否存在拼写错误或目标缺失,这也是引用[4]提到的。 可能还需要分步骤详细说明每个解决方法,并给出具体的命令示例,比如如何安装distutils,如何清理构建文件等。同时,要注意用户可能不太熟悉命令行操作,所以需要给出明确的指令,方便他们执行。 最后,生成相关问题,帮助用户进一步排查其他可能的编译问题,比如如何调试Makefile,或者如何处理其他常见的编译错误。这些相关问题可以基于用户提供的引用内容,比如关于性能分析、优化方法等,但需要调整到编译错误的主题上。 总结来说,回答的结构应该是先列出原因,再分步骤给出解决方法,每个方法都附带具体操作和示例,最后生成相关问题。这样用户能够逐步排查问题,找到合适的解决方案。</think>### 如何处理编译时的 "Waiting for unfinished jobs" 问题? 编译过程中出现 `Waiting for unfinished jobs` 通常是由于并行编译任务未完成或编译规则错误导致的。以下是分步解决方案: --- #### **1. 检查路径中是否包含中文或特殊字符** - **原因**:某些编译工具(如 NXP S32DS)对中文路径不兼容,可能导致任务卡死[^4]。 - **解决方法**: ```bash # 将工程移动到纯英文路径,例如: mv /home/用户/项目 /home/user/project ``` --- #### **2. 验证依赖项是否完整** - **原因**:缺少编译依赖的库或工具(如 Python 的 `distutils` 模块)[^3]。 - **解决方法**: - **Ubuntu/Debian**: ```bash sudo apt-get install python3-distutils ``` - **CentOS/RHEL**: ```bash sudo yum install python3-devel ``` --- #### **3. 清理构建残留文件** - **原因**:残留的中间文件可能导致编译任务阻塞[^5]。 - **解决方法**: ```bash make clean # 清理项目构建文件 rm -rf build/ # 手动删除构建目录(如果存在) ``` --- #### **4. 调整并行编译参数** - **原因**:使用 `-jN` 参数时,并行任务过多可能导致资源争用。 - **解决方法**: ```bash make -j2 # 限制并行任务数为 2 make -j$(nproc) # 根据 CPU 核心数自动调整(需谨慎) ``` --- #### **5. 检查 Makefile 规则** - **原因**:缺失编译目标或规则错误会触发 `No rule to make target`,导致后续任务阻塞[^2]。 - **解决方法**: - 检查报错行中提到的文件或目标(如 `main.o`)是否存在。 - 确保所有源代码文件路径正确,无拼写错误。 --- #### **6. 查看详细日志定位具体错误** - **原因**:`Waiting for unfinished jobs` 可能是其他编译错误的结果。 - **解决方法**: ```bash make VERBOSE=1 # 输出详细编译日志 ``` --- ### 总结流程图 ``` 路径问题 → 依赖检查 → 清理残留 → 调整参数 → 检查规则 → 查看日志 ``` §§ 相关问题 §§ 1. 如何调试 Makefile 中的规则错误? 2. 编译时出现 "No rule to make target" 该如何解决? 3. 如何优化大型项目的编译速度?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值