【银河麒麟高级服务器操作系统】修改容器中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头部…...
lz4宏展开调试终极指南:-E选项与预处理分析技巧
lz4宏展开调试终极指南:-E选项与预处理分析技巧 【免费下载链接】lz4 Extremely Fast Compression algorithm 项目地址: https://gitcode.com/GitHub_Trending/lz/lz4 lz4作为一款Extremely Fast Compression algorithm,在开发过程中,…...
Arm虚拟中断控制器(ICV)架构与寄存器解析
1. Arm虚拟中断控制器架构概述在Armv8/v9架构的虚拟化环境中,虚拟中断控制器(ICV)作为关键组件,负责为虚拟机提供独立的中断管理能力。与传统物理中断控制器(GIC)相比,ICV通过硬件辅助的虚拟化技术,实现了中断资源的隔离与虚拟化。…...
深度解析开源小红书采集工具:XHS-Downloader技术架构与实战应用指南
深度解析开源小红书采集工具:XHS-Downloader技术架构与实战应用指南 【免费下载链接】XHS-Downloader 小红书(XiaoHongShu、RedNote)链接提取/作品采集工具:提取账号发布、收藏、点赞、专辑作品链接;提取搜索结果作品、…...
增材制造在量子技术中的应用与挑战
1. 增材制造与量子技术的融合背景量子技术正逐步从实验室走向实际应用,这一转变对硬件系统提出了前所未有的要求。传统制造方法在面对量子设备的小型化、轻量化和复杂结构需求时显得力不从心。增材制造(Additive Manufacturing, AM)——也就是…...
性能调优与成本控制:Spring AI 的缓存、限流与模型降级策略
系列导读 你现在看到的是《Spring AI 企业级集成与场景实践:从零搭建智能应用》的第 8/10 篇,当前这篇会重点解决:提供一套完整的性能与成本优化工具箱,让 AI 应用在预算内高效运行。 上一篇回顾:第 7 篇《生产级部署:Spring AI 应用的 Docker 容器化与 Kubernetes 编排…...
3种方法解密网易云音乐NCM文件:让音乐在任何设备自由播放
3种方法解密网易云音乐NCM文件:让音乐在任何设备自由播放 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM文件无法在其他播放器使用而烦恼吗?NCM文件解密工具ncmdump能够轻松解决这…...
终极指南:如何通过awesome-hyper主题配色方案提升终端可读性
终极指南:如何通过awesome-hyper主题配色方案提升终端可读性 【免费下载链接】awesome-hyper 🖥 Delightful Hyper plugins, themes, and resources 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-hyper Hyper终端是一款基于Web技术构建的…...
【Perplexity ACM论文查询终极指南】:20年科研老兵亲授3大隐藏技巧,90%研究者至今不知
更多请点击: https://intelliparadigm.com 第一章:Perplexity ACM论文查询的底层逻辑与认知重构 Perplexity 并非 ACM 官方检索系统,而是一种基于语言模型的智能代理式查询工具,其与 ACM Digital Library 的交互本质是语义驱动的…...
基于本地LLM与Whisper的沉浸式语音编程环境搭建指南
1. 项目概述:当语音输入遇上沉浸式编程 最近在GitHub上看到一个挺有意思的项目,叫 voice-typing-vibe-coding 。光看名字,你可能会觉得这又是一个语音转代码的工具,但实际体验下来,我发现它的核心远不止“打字”那么…...
本地搭建React Server Components:从原理到实践深度解析
1. 项目概述:当Server Components从概念走向你的本地环境如果你最近关注前端技术动态,一定对“Server Components”这个词不陌生。它被描述为React生态的一次范式转移,承诺带来更小的客户端包体积、更直接的数据库访问和更快的首屏渲染。但说…...
