软件包yhkylin-systembackup-tools的脚本systemkybackup低级缺陷报错

故障 :openkylin 2.0sp2 启动过程中,按 ESC 键切换到字符界面,报错:

touch /root/data/.backup/grub.log 没有这个文件

原因分析:

软件包 yhkylin-systembackup-tools 的脚本:
/usr/share/initramfs-tools/scripts/init-bottom/systemkybackup

第35-37行,

#设置日志路径,写日志做排查
m_backupPath={rootmnt}/data/.backup LOGFILE="{m_backupPath}/grub.log"

代码缺陷:后续无 检测并自动创建目录的操作

2026.9.02

看包名,前面的 yhkylin, 疑似代表 商业版的 银河 kylin

缺陷:
未编写自动创建目录 的指令


sudo mkdir -p /root/data/.backup/

另 :
看了一下 systemkybackup 脚本的内容,
没有 标注版本号,没有标注 文件日期。

——难道 kylin/openkylin 内部自己写的脚本,从来不喜欢 写版本号、不用区分、不用升级、不用维护/更新 的吗?

就和 mm-cli 命令一样?

手动创建了目录,后来每次启动时,还是连续报错6次目录未找到!

又重新看了一下 脚本文件,第 652-670行。我的天啦…

	if [ ! -e ${rootmnt}/proc ]; then
	    mkdir ${rootmnt}/proc
	fi

	if [ ! -e ${rootmnt}/sys ]; then
	    mkdir ${rootmnt}/sys
	fi

	if [ ! -e ${rootmnt}/dev ]; then
	    mkdir ${rootmnt}/dev
	fi

	if [ ! -e ${rootmnt}/run ]; then
	    mkdir ${rootmnt}/run
	fi

	if [ ! -e ${rootmnt}/backup ]; then
	    mkdir ${rootmnt}/backup
	fi

问题点:

  1. 在这个脚本里,rootmnt 变量似乎没有 预先定义过。默认值为 /root ?
  2. 检测目录是否存在,为什么用 -e 参数? -d 参数不香吗?
  3. mkdir 后面不用加 -p 参数?如果 目录不存在,执行效果会怎么样?