【银河麒麟高级服务器操作系统】修改容器中journal服务日志存储位置无效—分析及解决方案
了解更多银河麒麟操作系统全新产品,请点击访问
麒麟软件产品专区:https://product.kylinos.cn
开发者专区:https://developer.kylinos.cn
文档中心:https://documentkylinos.cn
服务器环境以及配置
【机型】
整机类型/架构: | HygonGenuine x86 |
【内核版本】
4.19.90-17.ky10.x86_64
【OS镜像版本】
银河麒麟高级服务器操作系统 Kylin-Server-10-SP1-x86-Release-Build04-20200711.iso
【nkvers 命令输出】
############## Kylin Linux Version #################
Release:
Kylin Linux Advanced Server release V10 (Tercel)
Kernel:
4.19.90-17.ky10.x86_64
Build:
Kylin Linux Advanced Server
release V10 (SP1) /(Tercel)-x86_64-Build04/20200711
#################################################
现象描述
systemd做init的容器中journal服务修改日志存储位置无效
现象分析
执行如下命令启动容器:
docker run -it --privileged cr.kylinos.cn/tmp/kylin-server-v10-sp1-amd64:Build20-20210518 /sbin/init
在终端上输出如下内容:
————————————————
[FAILED] Failed to start Flush Journal to Persistent Storage.
See 'systemctl status systemd-journal-flush.service' for details.
Starting Create Volatile Files and Directories...
[ OK ] Started Create Volatile Files and Directories.
Starting Security Auditing Service...
Starting Rebuild Journal Catalog...
Starting Network Time Synchronization...
[FAILED] Failed to start Rebuild Journal Catalog.
See 'systemctl status systemd-journal-catalog-update.service' for details.
Starting Update is Completed...
[ OK ] Started Update is Completed.
————————————————
进入容器后分别执行命令查看细节
执行systemctl status systemd-journal-flush.service得到输出
————————————————
[root@12b4d8a0538a /]# systemctl status systemd-journal-flush.service
● systemd-journal-flush.service - Flush Journal to Persistent Storage
Loaded: loaded (/usr/lib/systemd/system/systemd-journal-flush.service; static; vendor preset: disabled)
Active: failed (Result: exit-code) since Wed 2024-05-08 14:04:19 CST; 33min ago
Docs: man:systemd-journald.service(8)
man:journald.conf(5)
Process: 36 ExecStart=/usr/bin/journalctl --flush (code=exited, status=127)
Main PID: 36 (code=exited, status=127)
May 08 14:04:19 12b4d8a0538a systemd[1]: Starting Flush Journal to Persistent Storage...
May 08 14:04:19 12b4d8a0538a systemd[1]: systemd-journal-flush.service: Main process exited, code=exited, status=127/n/a
May 08 14:04:19 12b4d8a0538a journalctl[36]: /usr/bin/journalctl: error while loading shared libraries: libqrencode.so.4: cannot open shared object file: No such file or directory
May 08 14:04:19 12b4d8a0538a systemd[1]: systemd-journal-flush.service: Failed with result 'exit-code'.
May 08 14:04:19 12b4d8a0538a systemd[1]: Failed to start Flush Journal to Persistent Storage.
————————————————
执行systemctl status systemd-journal-catalog-update.service得到输出
————————————————
[root@12b4d8a0538a /]# systemctl status systemd-journal-catalog-update.service
● systemd-journal-catalog-update.service - Rebuild Journal Catalog
Loaded: loaded (/usr/lib/systemd/system/systemd-journal-catalog-update.service; static; vendor preset: disabled)
Active: failed (Result: exit-code) since Wed 2024-05-08 14:04:20 CST; 34min ago
Docs: man:systemd-journald.service(8)
man:journald.conf(5)
Process: 39 ExecStart=/usr/bin/journalctl --update-catalog (code=exited, status=127)
Main PID: 39 (code=exited, status=127)
May 08 14:04:19 12b4d8a0538a systemd[1]: Starting Rebuild Journal Catalog...
May 08 14:04:20 12b4d8a0538a journalctl[39]: /usr/bin/journalctl: error while loading shared libraries: libqrencode.so.4: cannot open shared object file: No such file or directory
May 08 14:04:20 12b4d8a0538a systemd[1]: systemd-journal-catalog-update.service: Main process exited, code=exited, status=127/n/a
May 08 14:04:20 12b4d8a0538a systemd[1]: systemd-journal-catalog-update.service: Failed with result 'exit-code'.
May 08 14:04:20 12b4d8a0538a systemd[1]: Failed to start Rebuild Journal Catalog.
————————————————
发现均缺少libqrencode.so.4文件,经查看,该文件属于qrencode包
将该包安装后,再使用/sbin/init启动容器,并执行journal服务修改日志存储位置操作可以生效。
分析结果
镜像中缺少qrencode包,该包是journal日志服务所需要的。
解决方案
方案一
可以在原镜像基础上制作新镜像,并安装qrencode包。之后使用新镜像修改journal日志存储位置即可。经研发自测有效,修改后效果如下图:
制作新镜像的dockerfile示例
其中,COPY行目的是为了替换可用的rpm下载源
方案二
或建议使用银河麒麟的init镜像。
相关文章:
【银河麒麟高级服务器操作系统】修改容器中journal服务日志存储位置无效—分析及解决方案
了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:https://product.kylinos.cn 开发者专区:https://developer.kylinos.cn 文档中心:https://documentkylinos.cn 服务器环境以及配置 【机型】 整机类型/架构&am…...
go语言zero框架对接阿里云消息队列MQ的rabbit的配置与调用
在 Go 语言中对接阿里云消息队列(MQ)的 RabbitMQ 配置与调用,首先需要安装和配置相关的 Go 库,并了解如何通过 RabbitMQ 与阿里云消息队列进行交互。 ### 步骤一:安装 RabbitMQ Go 客户端库 阿里云的消息队列&#x…...
《Vue进阶教程》第四课:reactive()函数详解
往期内容: 《Vue零基础入门教程》合集(完结) 《Vue进阶教程》第一课:什么是组合式API 《Vue进阶教程》第二课:为什么提出组合式API 《Vue进阶教程》第三课:Vue响应式原理 通过前面的学习, 我们了解到r…...
【开源】A065—基于SpringBoot的库存管理系统的设计与实现
🙊作者简介:在校研究生,拥有计算机专业的研究生开发团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看项目链接获取⬇️,记得注明来意哦~🌹 赠送计算机毕业设计600个选题ex…...
memmove函数(带图详解)
c语言系列 文章目录 c语言系列一、memmove函数介绍1.1、函数基本功能1.2、函数参数2.3、函数返回值 二、memmove的使用2.1、拷贝字节不可大于目标空间2.2、同一空间拷贝 三、函数功能的模拟实现3.1、函数参数及其返回值的设定3.2、函数体实现 四、代码实现 一、memmove函数介绍…...
【Java数据结构】时间和空间复杂度
本章开始将进入数据结构的知识,时间复杂度主要衡量的是一个算法的运行速度,而空间复杂度主要衡量一个算法所需要的额外空间,。 时间复杂度 算法中执行的次数决定了时间复杂度。 在计算执行次数时,只需要计算大概的次数ÿ…...
八斗深度学习
八斗深度学习第二周笔记 一、深度学习步骤:1. 选定模型结构2. 模型参数随机初始化3. 构造模型损失函数4. 选择优化算法并设置超参数5. 数据准备与预处理6. 训练模型7. 模型评估8. 测试模型9. 应用模型 损失函数极小值、导向意义 超参数的影响迭代次数epoch批次量大小…...
安卓报错Switch Maven repository ‘maven‘....解决办法
例如:Switch Maven repository ‘maven(http://developer.huawei.com/repo/)’ to redirect to a secure protocol 在库链接上方添加配置代码:allowInsecureProtocol true...
Scala编程技巧:正则表达式与隐式转换
1. 引言 在Scala编程中,正则表达式和隐式转换是处理字符串匹配和类型转换的强大工具。本文将通过一个实用的示例——电话号码和身份证号码验证器,来展示如何使用这些工具。 2. 知识概括 2.1 正则表达式基础 正则表达式是用于字符串搜索和匹配的强大工…...
UnityShaderLab 实现黑白着色器效果
实现思路:取屏幕像素的RGB值,将三个通道的值相加,除以一个大于值使颜色值在0-1内,再乘上一个强度值调节黑白强度。 在URP中实现需要开启Opaque Texture ShaderGraph实现: ShaderLab实现: Shader "Bl…...
在Windows 10中使用SSH远程连接服务器(附花生壳操作方法)
SSH 在 linux 中是一种重要的系统组件,用户可以使用 SSH 来远程连接 linux 系统的计算机,或者传输文件。不过在 win10 以前,windows 并不原生支持 SSH,需要借助第三方工具来使用 SSH 功能。而实际上,微软在 2015 年就曾…...
在算网云平台云端在线部署stable diffusion (0基础小白超详细教程)
Stable Diffusion无疑是AIGC领域中的AI绘画利器,具有以下显著优势: 1、开源性质,支持本地部署 2、能够实现对图像生成过程的精确控制 虽然SD在使用上有很多的有点,但缺点也是不言而喻的,由于AI绘画的整个过程以及现…...
ubuntu存储空间不足快速解决
几个自己常用的释放空间命令,备忘 将文件夹下的文件按从大到小排列 ls -lhS /var/log/syslog 过大 sudo truncate -s 0 /var/log/syslog /var/log/Xorg.0.log.old过大 sudo truncate -s 0 /var/log/Xorg.0.log.old 清理系统日志文件: sudo journalctl --…...
Prescan simulink carsim联合仿真平台搭建问题总结
解决办法主要来自忠厚的老王:自动驾驶决策规划算法第二章第一节 决策规划仿真平台搭建_哔哩哔哩_bilibili 这部分直接复制的老王视频的: Q1:prescan安装了,但是找不到Demo_Carsim3D A1:这个文件夹是我自己建立的不是prescan自带的࿰…...
STM32(HAL_工程模板的搭建)
目录 一、准备文件 二、创建工程 三、创建分组 四、配置文件处理 五、编译错误处理 一、准备文件 准备HAL库文件: ST官网( 意法半导体-STMicroelectronics )搜索STM32Cube, 本文使用“STM32Cube_FW_F4_V1.24.1” 版本的HAL库, 使用的是F4的库文件。 创建文件:…...
Flask入门一(介绍、Flask安装、Flask运行方式及使用、虚拟环境、调试模式、配置文件、路由系统)
文章目录 一、Flask介绍二、Flask创建和运行 1.安装2.快速使用3.Flask小知识4.flask的运行方式 三、Werkzeug介绍四、Jinja2介绍五、Click CLI 介绍六、Flask安装 介绍watchdog使用python–dotenv使用(操作环境变量) 七、虚拟环境 介绍Mac/linux创建虚拟…...
CAD C# 批量替换当前图中块
本案例功能为选择当前文档中一个块(旧块),然后选择新图元(新块),运行插件后新块将替换图中所有的旧块。 效果如下: public static class Class1{//选取对象替换块定义[CommandMethod("TT&…...
Android -- [SelfView] 自定义多行歌词滚动显示器
Android – [SelfView] 自定义多行歌词滚动显示器 流畅、丝滑的滚动歌词控件* 1. 背景透明;* 2. 外部可控制进度变化;* 3. 支持屏幕拖动调节进度(回调给外部);效果 歌词文件(.lrc) 一. 使用…...
vscode 配置C/C++环境控制台参数
您可以通过以下步骤在VS Code中配置C/C环境的控制台参数: 1,打开VS Code并进入您的C/C项目 2,点击左侧的"调试"图标,然后点击顶部的齿轮图标,选择“launch.json”。 3,在"launch.json&qu…...
【HarmonyOS学习日志(13)】计算机网络之TCP/IP协议族(二)
文章目录 TCP/IP协议族ARPDNS标志字段:协商具体的通信方式和反馈通信状态DNS查询问题的格式资源记录(Resource Record, RR)格式:被用于应答字段、授权字段和额外信息字段 IP协议IP服务的特点无状态无连接不可靠 IP头部结构IPv4头部…...
多系统对接的实现方案技术分析
前言 随着信息化和大数据时代的到来,数据资产变得至关重要,企业纷纷上线多种软件系统和移动端应用以适应这一变化。这些系统和应用虽然发挥了各自的优势,但也导致了信息孤岛问题。为了解决这一问题,数据中台和异构系统集成技术应…...
kv类型算子使用
对kv类型的RDD数据集进行操作。 keys """ 获取所有的key转换算子"""inputRdd sc.parallelize([(laoda, 11), (laoer, 22), (laosan, 33), (laosi, 44)]) print(inputRdd.keys().collect()) # [laoda, laoer, laosan, laosi] values "&…...
3维建模blender
官网稳定版下载:https://www.blender.org/download/lts/ windows有安装版和portable版 教程:https://www.bilibili.com/video/BV1kX4y1m7G5 1. 基础操作 场景操作 场景位移:shift鼠标中键长按场景旋转:鼠标中键长按场景缩放&…...
百问FB网络编程 - UDP编程简单示例
6.5 UDP编程简单示例 UDP服务器首先进行初始化操作:调用函数socket创建一个数据报类型的套接字,函数bind将这个套接字与服务器的公认地址绑定在一起。然后调用函数recvfrom接收UDP客户机的数据报。UDP客户机首先调用函数socket创建一个数据报套接字&…...
面试题:什么是ThreadLocal,如何实现的?
强烈推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站:人工智能 你是否还在为简历无人阅读而感到沮丧?是否因为寻觅不到理想的工作机会而感到焦虑不安?试试:看看…...
js后端开发之Next.js、Nuxt.js 与 Express.js
后端js之Next.js、Nuxt.js 与 Express.js 在现代 Web 开发中,JavaScript 已经成为前后端通用的编程语言,而选择合适的后端框架则是构建高效、可扩展应用程序的关键。本文将带你深入了解三个流行的 JavaScript 后端框架:Next.js、Nuxt.js 和 …...
飞牛Nas如何实现阿里云盘、百度网盘的资料迁移!
文章目录 📖 介绍 📖🏡 演示环境 🏡📒 如何使用飞牛NAS实现阿里云盘与百度网盘的数据互相迁移 📒📝 操作步骤注意事项⚓️ 相关链接 ⚓️📖 介绍 📖 你是否有将百度网盘的文件迁移到阿里云盘,或是将阿里云盘的资料转移到百度网盘的需求?本文将给大家演示如…...
如何在小米平板5上运行 deepin 23 ?
deepin 23 加入了 ARM64 支持,这里尝试将 deepin 系统刷入平板中,平常使用中,带个笔记本电脑有时候也会嫌比较麻烦,把 Linux 系统刷入平板中既满足了使用需要,又满足了轻便的需求。为什么不使用 Termux ?虽…...
【PlantUML系列】流程图(四)
目录 目录 一、基础用法 1.1 开始和结束 1.2 操作步骤 1.3 条件判断 1.4 并行处理 1.5 循环 1.6 分区 1.7 泳道 一、基础用法 1.1 开始和结束 开始一般使用start关键字;结束一般使用stop/end关键字。基础用法包括: start ... stopstart ...…...
操作系统:进程、线程与作业
背景介绍: 因为单道程序处理器效率低 、设备利用率低 、内存利用率低的问题人们提出了多道程序设计来解决这个问题。 多道程序致力于提高处理机、设备、内存等各种资源的利用率,从而提高系统效率,也就是吞吐量,吞吐量定义为单位时…...
做网站片头的软件/武汉百度推广开户
github地址:https://github.com/cheesezh/python_design_patterns 适配器模式 适配器模式,将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作[DP]。 当系统的数据和行为都正确,但是接口…...
高端h5网站/软件外包网
编号:8659 2017-2018学年度第二学期期末考试 计算机平面设计(1)(2) 试题 2018年5月 一、单项选择题(共 10 小题,每小题4分,共 40 分) 那种调整方式可以对画…...
网站建设的技术目标/百度下载链接
networkcomms.net 来自英国的网络通信框架 官方网址 www.networkcomms.net 中文网址www.networkcomms.cn 在网络通信程序中,本地的类或者对象,要传输到通信的另一端,在网络上传输的时候是二进制流的形式。 那么在发送消息的时候要把对象序列化…...
深圳网站建设与设计制作/网络服务器搭建
MFC下,提供了List Control控件,当选择Report模式时,可以方便的做数据报表之类的应用。类似下图: 但是有个不大不小的问题是,当List Control选择可编辑模式时,只有每一行的第一列的单元格才能编辑࿰…...
wordpress 站内信插件/网站搭建软件
摘要:flowable Asynchronous History,flowable异步处理,flowable实战 介绍 上周,我们发布了即将发布的Flowable6.3 版本的性能基准测试结果(flowable6.3功能以及性能基准测试报告)。这篇文章的结论很简单:与之前的版本相比&#…...
网站制作公司知道万维科技/自己建网站要花多少钱
1.Command Routing(命令传递):当消息进来时,会有一个泵推动它前进.消息如何进来,以有泵函数如何推动,都是属于windows程序设计的范畴,消息如果是从子类流向父类(纵向流动),那么事情再简单不过,整个message map消息映射表已规划出十分明确的路线.消息应该有横向流动的机会,MFC对…...