feat: subcomando doctor (verificacion post-instalacion)

- core/doctor.sh: run_doctor_checks() — symlink estable, version.txt, clinfo, vainfo, grupos render/video; salida con print_*, exit code = numero de checks con fallo
- clinfo/vainfo con patron captura-then-parse (clinfo tiene salida enorme: grep -q SIGPIPE-mata la pipe y reportaba falso negativo bajo pipefail — verificado en sistema real con plataforma OpenCL detectada)
- main.sh: dispatch del subcomando ANTES del root check (el doctor es verificacion de usuario, sin root) — requiere el reorden routes/source antes de privilegios (resuelve la causa raiz de O2; el cambio cosmico echo->print_error queda para fase siguiente)
This commit is contained in:
stornic56
2026-09-28 23:42:12 -05:00
parent 79863de015
commit b042516ee9
2 changed files with 86 additions and 7 deletions
+16 -7
View File
@@ -7,13 +7,6 @@ set -euo pipefail
# It supports Debian 13, Ubuntu 22.04/24.04/26.04, and Fedora (latest stable versions).
# ------------------------------------------------------------------------------
# privileges
if [ "$EUID" -ne 0 ]; then
echo "ERROR: This script must be run as root. Use:"
echo " sudo bash $0"
exit 1
fi
# routes
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
CORE_DIR="$SCRIPT_DIR/core"
@@ -22,6 +15,22 @@ MODULES_DIR="$SCRIPT_DIR/modules"
# print
source "$CORE_DIR/common.sh"
# Subcommands (before the root check: doctor is a post-install user verification)
case "${1:-}" in
doctor)
source "$CORE_DIR/doctor.sh"
run_doctor_checks
exit 0
;;
esac
# privileges
if [ "$EUID" -ne 0 ]; then
echo "ERROR: This script must be run as root. Use:"
echo " sudo bash $0"
exit 1
fi
print_step "============================================="
print_step " OpenVINO 2026 - SimpleInstaller"
print_step "============================================="