故障排查:rpm安装报错事务锁定(can‘t create transaction lock on /var/lib/rpm/.rpm.lock)

news2024/12/22 19:03:18

博客主页:https://tomcat.blog.csdn.net
博主昵称:农民工老王
主要领域:Java、Linux、K8S
期待大家的关注💖点赞👍收藏⭐留言💬
家乡

目录

  • 故障详情
  • 故障原因
  • 解决办法

故障详情

自己编写spec文件,制作rpm安装包时,顺利打包完成,但在安装过程中遇到报错:

error: can’t create transaction lock on /var/lib/rpm/.rpm.lock (Resource temporarily unavailable) error:
%prein(GeoSceneInnovatorServer-4.0.1-release.x86_64) scriptlet failed, exit status 1

请添加图片描述

故障原因

当时是为了处理rpm的升级,我希望卸载旧版本发生在安装新版本之前,同时要保留原有版本的数据。就在 %pre 阶段写了如下代码。

    oldInovatorV=`rpm -q GeoSceneInnovatorServer`
    echo "检测到本计算机已将安装${oldInovatorV},现执行升级操作。"
    backupDir=/opt/GeoSceneInnovatorServer/oldVersion
    mkdir ${backupDir}
    cp -fr /opt/GeoSceneInnovatorServer/data ${backupDir}
    rpm -e GeoSceneInnovatorServer

遇到这个报错,我第一时间想到的是,我在%pre阶段处理了文件,导致这个报错,我就把这些代码移动到%pretrans阶段,没想到还是报相同的错。

后来我才发现之所以报这个错,是因为上面代码片段中的最后一行,我尝试卸载一个rpm软件,这样会导致rpm软件数据库中的内容发生变化,而这个卸载操作发生在一个rpm软件安装过程中,此时,rpm软件数据库在处理当前的安装事务,是被锁定的,因此无法进行卸载,从而导致报错。

如果在同一台机器上同时安装两个rpm安装包,也会遇到这种情况。

警告:正在等候 事务 锁定 /var/lib/rpm/.rpm.lock
错误:无法创建 事务 锁定于 /var/lib/rpm/.rpm.lock (Interrupted system call)

在这里插入图片描述

解决办法

当有rpm安装包在执行安装,升级,卸载时,本身就不应该同时再对任何rpm软件做安装状态的修改。我们只要避免这种行为,就不会遇到这个报错。如果要升级,就应该安装通过运行rpm -Uvh命令实现,前提是在编写spec文件时要考虑到升级流程。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1271988.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决电脑蓝屏问题:SYSTEM_THREAD_EXCEPTION_NOT_HANDLED,回到系统还原点

解决电脑蓝屏问题:SYSTEM_THREAD_EXCEPTION_NOT_HANDLED,回到系统还原点 1,蓝屏显示问题1.1,蓝屏1,清楚显示1.2,蓝屏2,模糊显示 2,排除故障问题3,解决蓝屏的有效方法 1&a…

DES加密技术概述与应用

一、引言 随着信息技术的飞速发展,数据安全已成为越来越受到重视的问题。数据加密技术作为保障信息安全的核心技术之一,得到了广泛的研究和应用。DES(Data Encryption Standard)作为一种对称加密算法,凭借其高效、可靠…

Pycharm新手开发指南

文章目录 前言一、常用功能介绍二、常用高效pycharm使用方法关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③Python小游戏源码五、面试资料六、Python兼职渠道 前言…

带大家做一个,易上手的家常土豆片

还是先从冰箱里那一块猪瘦肉 搞一点蒜和生姜 切成小块 装进一个碗里 这里一点就够了 一条绿皮辣椒 切片 三个左右干辣椒 随便切两刀 让它小一点就好了 一起装一个碗 一大一小两个土豆切片 猪肉切片 起锅烧油 然后 下肉翻炒 等肉变颜色捞出来 然后放入土豆 和小半碗水 让…

【C++】: unordered_map的使用

1、概念 key 键值的类型。unordered_map中的每个元素都是由其键值唯一标识的。 T 映射值的类型。unordered_map中的每个元素都用来存储一些数据作为其映射值。 Hash 一种一元函数对象类型,它接受一个key类型的对象作为参数,并根据该对象返回size_t类型…

IIS post .html页面报 405错误

IIS是不允许本地文件默认post请求的,windows10系统下的IIS(10.0版)默认也是不能 post请求\*.html或\*.json文件的 1 需要配置一下,配置如下: 2 双击处理程序映射,添加托管处理程序: 3 请求路径 …

低价商品采购API接口

采购商品地址http://sly.yizhaosulianyun.com/More/Push/888889?type3 低价商品采购API接口 1) 请求地址 http://sly.yizhaosulianyun.com/jd/keyWords 2) 调用方式:HTTP post 3) 接口描述: 低价商品采购接口 4) 请求参数: POST参数: 字段名称字段…

MySQL组合索引,最左匹配原则失效

说明:在SQL优化时,建立组合索引,我们需要知道最左匹配失效的情况,本文通过实例介绍最左匹配原则失效; 建立组合索引 如下,是一张大表,有1000万条数据; 对表中password、sex和email…

JMeter从入门到精通

1、 jmeter的介绍 jmeter也是一款接口测试工具,由java语言开发的,主要进行性能测试。 2、jmeter安装 jmeter官网下载链接: https://jmeter.apache.org/download_jmeter.cgi ,查看是否安装成功【jmeter -v】 下载 java jdk1.8&…

StartRocks 连接 Paimon外部表

版本 StartRocksPaimon3.2.00.5 sr 环境准备 CREATE external CATALOG paimon_hdfs PROPERTIES ("type" "paimon",paimon.catalog.type filesystem,"paimon.catalog.warehouse" "hdfs://hadoop03:9000/paimon/test" );mysql> …

虚幻学习笔记4—文本内容处理

一、前言 本文使用的虚幻引擎5.3.2,在虚幻中已经集成了很多可以直接处理多样化文本的蓝图,比如格式化动态显示、浮点数多样化等。 二、实现 2.1、格式化文本显示动态内容:在设置某个文本时可以使用“Format Text”蓝图设置自定义可以的显示…

使用C#和HtmlAgilityPack打造强大的Snapchat视频爬虫

概述 Snapchat作为一款备受欢迎的社交媒体应用,允许用户分享照片和视频。然而,由于其特有的内容自动消失特性,爬虫开发面临一些挑战。本文将详细介绍如何巧妙运用C#和HtmlAgilityPack库,构建一个高效的Snapchat视频爬虫。该爬虫能…

JOSEF约瑟 大功率抗干扰继电器\NR0521\220VDC 导轨安装

NR系列大功率继电器 系列型号: NR0521B大功率继电器 NR0521A大功率继电器 NR0521型大功率继电器 用途 大功率继电器NR0521220VDC 导轨安装在电力工程实际应用中,为防止母线电压经过PT二次侧反馈至高压侧,需要在PT二次侧串接PT刀闸重动接…

SAP SD 创建交货单 报错 VL461 VL248

因为生产环境已经被改好了,无法跟踪 所以换到测试环境重现一把,如何追根究底 对比正常订单发现 计划行 VBEP-LMENG,VBEP-BMENG这两个字段上的值跟 订单数量不一致。 尝试修改2者的数据跟订单数据一致,则可以正常创建交货单 实际原因是&a…

app广告变现如何提高变现收益?提高广告点击率

在广告变现实践过程中,我们往往会遇到一些问题,比如广告的填充不够、eCPM太低,该展示的广告没有展示出来,又或者广告位选择不合理导致用户负面反馈变多,这些种种问题都会影响我们的广告变现效率。 广告三大要素&#…

16.9%份额,启明星辰集团连续21年IDS/IPS排名第一

近日,赛迪顾问发布《2022-2023年中国网络信息安全市场研究年度报告》。报告显示:2022年,启明星辰集团IDS/IPS以16.9%的份额占据市场第一。至今,启明星辰集团IDS/IPS已连续21年保持市场占有率第一。 多年来,启明星辰集团…

postman打开白屏

现状:postman打开白屏如下图 window环境变量: Win R 快捷键打开 sysdm.cpl 增加环境变量: 变量名:POSTMAN_DISABLE_GPU 值:true 重新打开postman

Aurora8B10B(一) 从IP配置界面学习Aurora

一. 简介 哈喽,大家好,好久没有给大家写FPGA技术的文章,是不是已经忘记我是做FPGA的啦,O(∩_∩)O哈哈~。 这里将会给大家分享我学习到的第一个高速接口Aurora8B10B,有点复杂,但不是特别复杂,对…

WPF实战项目十八(客户端):添加新增、查询、编辑功能

1、ToDoView.xmal添加引用&#xff0c;添加微软的行为类 xmlns:i"http://schemas.microsoft.com/xaml/behaviors" 2、给项目添加行为 <i:Interaction.Triggers><i:EventTrigger EventName"MouseLeftButtonUp"><i:InvokeCommandAction Com…

软件开发:基础源代码分享与入门指南

一、引言 软件开发是当今信息时代的一个热门领域&#xff0c;广泛应用于各个行业和领域&#xff0c;本文将向大家介绍软件开发的基础知识&#xff0c;并通过分享一些基础源代码&#xff0c;帮助大家更好地入门软件开发。 二、软件开发概述 软件开发是指通过编程语言和开发工…