Files
Mateusz Suski 4e739c5c99
lint / shell-yaml-ansible (push) Failing after 16s
Add Linux fresh setup toolkit
2026-06-06 00:23:11 +00:00

70 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
set -o errexit
set -o nounset
set -o pipefail
section() {
printf '\n== %s ==\n' "$1"
}
run_optional() {
local description="$1"
shift
if "$@"; then
return 0
fi
printf 'WARNING: %s failed\n' "$description"
return 0
}
section "Failed systemd units"
if command -v systemctl >/dev/null 2>&1; then
run_optional "failed systemd unit report" systemctl --failed --no-pager
section "Selected service status"
for unit in cockpit.socket docker.service libvirtd.service fail2ban.service; do
if systemctl cat "$unit" >/dev/null 2>&1; then
run_optional "$unit status" systemctl status "$unit" --no-pager
else
printf 'INFO: %s is not installed\n' "$unit"
fi
done
else
printf 'WARNING: systemctl is unavailable\n'
fi
section "Docker"
if command -v docker >/dev/null 2>&1; then
run_optional "Docker container list" docker ps
else
printf 'INFO: Docker is not installed\n'
fi
section "Libvirt"
if command -v virsh >/dev/null 2>&1; then
run_optional "libvirt guest list" virsh list --all
else
printf 'INFO: virsh is not installed\n'
fi
section "NVIDIA"
if command -v nvidia-smi >/dev/null 2>&1; then
run_optional "NVIDIA status" nvidia-smi
else
printf 'INFO: nvidia-smi is not installed\n'
fi
section "Filesystems"
run_optional "filesystem report" df -hT
section "Listening ports"
if command -v ss >/dev/null 2>&1; then
run_optional "listening port report" ss -tulpn
else
printf 'WARNING: ss is unavailable\n'
fi
printf '\nOK: postcheck completed; review warnings above\n'
exit 0