#!/bin/bash

REAL_USER=$(logname)
HOME_DIR="/home/${REAL_USER}"
DESKTOP="${HOME_DIR}/Desktop"

if [ "$(id -u)" -ne 0 ];then
    exec pkexec env PATH="$PATH" "$0" "$@"
fi

TIMESTAMP=$(date +%Y%m%d_%H%M%S)
REPORT="${DESKTOP}/磐石自检报告_${TIMESTAMP}.txt"

{
echo "=============================="
echo "Deepin‑Immutable 系统自检报告"
echo "⚠仅检测，不修改系统"
echo "时间: $(date '+%Y‑%m‑%d %H:%M:%S')"
echo "=============================="
echo ""

echo "【1】检测 /boot/loader"
BOOT_LOADER="/boot/loader"
if [ -d "${BOOT_LOADER}" ];then
    echo "✅正常：${BOOT_LOADER} 目录存在"
else
    echo "❌严重告警：/boot/loader 目录缺失！"
    echo ">> 仅mkdir重建目录不能修复OSTree底层，请勿直接系统升级！"
fi
echo ""

echo "【2】deepin‑immutable‑ctl admin status"
deepin-immutable-ctl admin status 2>&1
echo ""

echo "【3】快照列表 snapshot list -v"
deepin-immutable-ctl snapshot list -v 2>&1
echo ""

echo "【4】ostree admin status"
ostree admin status 2>&1
echo ""

echo "【5】分区挂载信息 / /boot /boot/efi"
df -h | grep -E '/$|/boot|/boot/efi'
echo ""

echo "=============================="
echo "检测完成！"
echo "出现❌告警，不要执行系统更新，防止无法开机。"
echo "报告保存至桌面文件。"
echo "=============================="
} > "${REPORT}"

chown "${REAL_USER}:${REAL_USER}" "${REPORT}"
echo "✅检测完成，报告写到桌面"
exit 0
