Garuda-health: The Garuda Linux system health check tool

Also @dr460nf1r3, for you:

$ garuda-health --json
{
  "LOW": [
    {
      "description": "Failed systemd services found: systemd-vconsole-setup.service",
      "fix_available": false
    }
  ],
  "INFO": [
    {
      "description": "A reboot is pending (update applied since last reboot)",
      "fix_available": false
    }
  ]
}
2 Likes

Wonderfullll :grinning_face:

A useful tool. An option to save key system info to a html and/or a text file would be great. There was a tool cfg2html to did this, but it is not maintained these days. Ir produced listings of key config files and allowed you to add names of other config files you wanted included.

That is definitely not the purpose of this tool I’m afraid. This is not a backup and restore tool.

This is also not a “share your system info” tool, that’s garuda-inxi.

6 Likes

Just received this interesting error:

> garuda-health --fix
--- System Health Check Report ---
18/19 checks run in 0.47 seconds ⌛
Powered by garuda-health 🦅

--- INFO ---
- A reboot is pending (update applied since last reboot)

--- Applying Fixes ---
Traceback (most recent call last):
File "/usr/bin/garuda-health", line 1151, in <module>
main()
~~~~^^
File "/usr/bin/garuda-health", line 1137, in main
fixes_ran_cleanly = apply_fixes(initial_results)
File "/usr/bin/garuda-health", line 1067, in apply_fixes
for res in sev_list if res.fix is not None
^^^^^^^
AttributeError: 'NoneType' object has no attribute 'fix'

Edit: I understand there’s a reboot required, but this error seems weird if there’s nothing to fix, perhaps a message that says something to that effect instead of throwing a script error.

This wasn’t purposeful, of course, I’ve pushed a fix for this quite a while ago, sorry for taking so long to reply.

2 Likes

garuda-health is now automatically run after every garuda-update!

4 Likes

I did see in the telegram chat that if its not run as sudo it cant fix the nvidia drivers. maybe have it say sudo is needed to fix those if run manually. Great tool though!

1 Like

I’m not sure if you’d view this option as a priority, but perhaps a check on installed kernels would be a good idea.

Personally, I always feel it’s a good idea to have more than one kernel installed in case of the rare, but always real possiblity of a kernel breaking bug appearing.

A prompt to notify a user that having a backup kernel installed is a good safety precaution might be warranted. Letting users know that having the LTS kernel installed as a backup is highly recommended might save some users a lot of headaches. An auto install option (if they agree) would be good for newbies to the Arch world as most have no clue how to install a kernel.

I’m hesitant on single handedly changing this. This requires a brand new Development post in my opinion. It would not make sense for us to ship an ISO that does not immediately pass all of our own checks, after all, so we would have to ship two kernels from the get-go.

2 Likes

:white_check_mark: System health check passed. No issues found.

:smiling_face_with_sunglasses:

1 Like
╭─cccp@CCCP in ~
╰─λ garuda-health
--- System Health Check Report ---
20/21 checks run in 0.87 seconds ⌛
Powered by garuda-health 🦅e

✅ System health check passed. No issues found.

Very very very NICE!!!

1 Like

I encountered this tool today, prior to reading this thread, and so far it’s absolutely right. It listed some failed systemd services (related to my specific machines, e.g.: systemd-backlight@leds:asus::kbd_backlight.service) and old snapshots. Great work so far, IMO!

1 Like

Seems like a very nice new addition. :+1:

System updated! 🐧

--- System Health Check Report ---
21/21 checks run in 0.89 seconds ⌛
Powered by garuda-health 🦅

--- LOW ---
- Old Btrfs snapshots found that can be deleted (fix available)

--- INFO ---
- A reboot is pending (update applied since last reboot)

Run garuda-health --fix to apply fixes.

I have the same output… “System health check passed” with “20/21 checks run”, but I wonder about the one test that did not run. How can I query what test that is? and why is it not running?

By the way, awesome work! @TNE

2 Likes

It’s the disk SMART check and it will not run without root.

Perhaps a message at the bottom that says something like “use sudo to run all health checks” or something?

1 Like

Not sure if this is the right place to report this but running garuda-health gives me the following output:

sudo garuda-health           
                                                                                                                                                                                       
--- System Health Check Report ---
21/21 checks run in 0.89 seconds ⌛
Powered by garuda-health 🦅

--- CRITICAL ---
 - SMART status for /dev/sdb is failing

but when checking SMART status for the same drive in KDE Partition Manager it’s reported as good, also the way it’s worded I’m not sure if the disk is failing or if the check is failing; either way I have no idea what to do from there.

1 Like
# smartctl -H /dev/sdb

Post the output of this please

3 Likes
sudo smartctl -H /dev/sdb
smartctl 7.5 2025-04-30 r5714 [x86_64-linux-6.16.0-2-cachyos] (local build)
Copyright (C) 2002-25, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
Please note the following marginal Attributes:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
190 Airflow_Temperature_Cel 0x0022   044   039   040    Old_age   Always   In_the_past 56 (Min/Max 31/60 #263)
1 Like