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

博客主页: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/oldVersionmkdir ${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.mzph.cn/news/185707.shtml

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

相关文章

Redis链表使用

Redis是优秀的非关系型数据库&#xff0c;源码中的链表是很经典&#xff0c;将其提取使用 /* adlist.c - A generic doubly linked list implementation** Copyright (c) 2006-2010, Salvatore Sanfilippo <antirez at gmail dot com>* All rights reserved.** Redistri…

解密Kafka主题的分区策略:提升实时数据处理的关键

目录 一、Kafka主题的分区策略概述1.1 什么是Kafka主题的分区策略&#xff1f;1.2 为什么分区策略重要&#xff1f; 二、Kafka默认分区策略2.1 Round-Robin分区策略 三、自定义分区策略3.1 编写自定义分区器3.2 最佳实践&#xff1a;如何选择分区策略 四、分区策略的性能考量4.…

【开题报告】OFDM雷达捷变波形信号处理方法研究与仿真

选 题 的 目 的 和 意 义 随着现代科技的不断发展&#xff0c;汽车在人们生活中的比重越来越大&#xff0c;人们对汽车安全的要求越来越高。据统计&#xff0c;我国每年有近万人死于交通事故&#xff0c;汽车在行驶过程中容易出现车速过快、方向失控、侧滑等问题&#xff0c;随…

基于SSM健身房管理系统设计与实现

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本健身房管理系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息&…

C#文件基本操作(判断文件是否存在、创建文件、复制或移动文件、删除文件以及获取文件基本信息)

目录 一、判断文件是否存在 1.File类的Exists()方法 2.FileInfo类的Exists属性 二、创建文件 1.File类的Create()方法 2.FileInfo类的Create()方法 三、复制或移动文件 1.File类的Copy()方法 2.File类的Move()方法 3.FileInfo类的CopyTo()方法 四、删除文件 1.File…

Linux:创建进程 -- fork,到底是什么?

相信大家在初学进程时&#xff0c;对fork函数创建进程一定会有很多的困惑&#xff0c;比如&#xff1a; 1.fork做了什么事情?? 2.为什么fork函数会有两个返回值?3.为什么fork的两个返回值&#xff0c;会给父进程谅回子进程pid&#xff0c;给子进程返回0?4.fork之后:父子进…

Webpack ECMAScript 模块

文章目录 前言标题一导出导入将模块标记为 ESM 后言 前言 hello world欢迎来到前端的新世界 &#x1f61c;当前文章系列专栏&#xff1a;webpack &#x1f431;‍&#x1f453;博主在前端领域还有很多知识和技术需要掌握&#xff0c;正在不断努力填补技术短板。(如果出现错误&a…

新手村之SQL——分组与子查询

1.GROUP BY GROUP BY 函数就是 SQL 中用来实现分组的函数&#xff0c;其用于结合聚合函数&#xff0c;能根据给定数据列的每个成员对查询结果进行分组统计&#xff0c;最终得到一个分组汇总表。 mysql> SELECT country, COUNT(country) AS teacher_count-> FROM teacher…

面试官:说一下ArrayList和LinkedList有什么区别 我:。。。。面试: 对了但是没全对

这是一个面试向的文章&#xff0c;主要描述我在面试某公司的一面的一个过程&#xff0c;印象深刻&#xff0c;故而写下这篇文章 面试官&#xff1a;说一下ArrayList和LinkedList有什么区别 我&#xff08;心里&#xff09;&#xff1a;简单&#xff0c;学过数据结构的都知道有…

【古月居《ros入门21讲》学习笔记】10_话题消息的定义与使用

目录 说明&#xff1a; 1. 话题模型 2. 实现过程&#xff08;C&#xff09; 自定义话题消息 Person.msg文件内容 Person.msg文件内容说明 编译配置 在package.xml文件中添加功能包依赖 在CMakeLists.txt中添加编译选项 编译生成语言相关文件 创建发布者代码&#xff…

关于最近Facebook的未经用户同意收集使用个人信息,

最近收到深圳市通信管理局的违法违规APP处置通知大概如下: 并且详细列举了 facebook sdk 在未经用户允许前调用的 TelephonyManager.getNetworkOperatorName(); 方法,获取运营商名称. 解决方法, 首先 在用户没有点击允许隐私条款前 不要调用任何Facebook sdk 方法,比如: Fac…

智慧科研助力科研数据的分析处理

如今&#xff0c;科研领域的发展日新月异&#xff0c;数据量也越来越大。这时&#xff0c;智慧科研可视化技术不仅为科研人员提供了快速高效的数据分析手段&#xff0c;而且为科研工作的推进提供了新的思路和方法。通过可视化手段&#xff0c;我们可以将各种数据、信息、知识以…

北京JAVA(HR)现状——自我感觉哈(娱乐版本)

主要针对 外包纯纯小公司&#xff08;就几个人&#xff0c;没大公司投资的那种&#xff0c;一般在20——99人&#xff09; 自我感觉自我感觉本人的主观意愿哈。 1.有统招本科的尽量找统招本科&#xff0c;没有的统招本科&#xff0c;找专科1年的 2.我问你&#xff1a;统招三…

助力企业实现更简单的数据库管理,ATOMDB 与 TDengine 完成兼容性互认

为加速数字化转型进程&#xff0c;当下越来越多的企业开始进行新一轮数据架构改造升级。在此过程中&#xff0c;全平台数据库管理客户端提供了一个集中管理和操作数据库的工具&#xff0c;提高了数据库管理的效率和便利性&#xff0c;减少了人工操作的复杂性和错误率&#xff0…

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

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

EBNF

EBNF 一、简介 句法元语言(Syntactic metalanguages)是计算机科学的重要工具是大家熟知的概念&#xff0c;因为使用了许略有不同的符号&#xff0c;导致句法元语言未能被广泛的使用。 EBNF(Extended BNF)引进一些句法的正式定义&#xff0c;从而广泛使用在编程语言的定义中。…

【漏洞复现】万户协同办公平台ezoffice SendFileCheckTemplateEdit.jsp接口存在SQL注入漏洞 附POC

漏洞描述 万户ezOFFICE协同管理平台是一个综合信息基础应用平台。 万户协同办公平台ezoffice SendFileCheckTemplateEdit.jsp接口存在SQL注入漏洞。 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危害…

HTML-标签之文字排版、图片、链接、音视频

1、标签语法 HTML超文本标记语言——HyperText Markup Language 超文本是链接标记也叫标签&#xff0c;带尖括号的文本 2、HTML基本骨架 HTML基本骨架是网页模板 html&#xff1a;整个网页head&#xff1a;网页头部&#xff0c;存放给浏览器看的代码&#xff0c;例如CSSbody…

抖音本地生活服务商申请入口门槛过高,该怎么办?

近年来&#xff0c;短视频平台的举起让直播带货和本地生活服务行业逐渐兴起&#xff0c;并且以其便捷、高效的特点受到了广大用户的欢迎。很多创业者也加入了本地生活服务商的行列中&#xff0c;但有消息传出&#xff0c;抖音本地生活服务商申请入口可能会关闭&#xff0c;由于…

从0到字节跳动30W年薪,我在测试行业“混”的第5个年头····

一些碎碎念 什么都做了&#xff0c;和什么都没做其实是一样的&#xff0c;走出“瞎忙活”的安乐窝&#xff0c;才是避开弯路的最佳路径。希望我的经历能帮助到有需要的朋友。 在测试行业已经混了5个年头了&#xff0c;以前经常听到开发对我说&#xff0c;天天的点点点有意思没…