Skip to content
SCOHOSTINGS
Sign inSign upSubscribe

How to Install lm_sensors on AlmaLinux 10

Marian15 min readAlmalinux
AlmaLinux 10 terminal displaying CPU temperature and fan sensor readings with lm_sensors

If you try to install lm-sensors on AlmaLinux 10 using the package name commonly used in tutorials for other Linux distributions, DNF may return this error:

dnf install lm-sensors
Last metadata expiration check: 1:31:05 ago on Mon 27 Jul 2026 01:12:51 PM UTC.
No match for argument: lm-sensors
Error: Unable to find a match: lm-sensors

The error does not mean that hardware monitoring has been removed from AlmaLinux 10. The RPM package uses an underscore instead of a hyphen. The correct package name is lm_sensors.

Tested environment: This tutorial was tested in July 2026 on a physical dedicated server running AlmaLinux 10.2 (x86_64) with an AMD EPYC 4244P 6-Core Processor. The installation commands apply to other AlmaLinux 10.x systems, but the available temperature and fan readings depend on the CPU, motherboard, firmware, and whether the system is physical or virtual.

Quick solution

Install the correct package with:

sudo dnf install -y lm_sensors

If you are already logged in as root, you can omit sudo.

The important difference: lm-sensors is the upstream project name, but the AlmaLinux RPM is named lm_sensors. DNF treats these as different package names.

AlmaLinux 10 provides lm_sensors through its standard AppStream repository. You do not need EPEL, a third-party repository, or an RPM downloaded from an unofficial website.

Why does AlmaLinux report “No match for argument: lm-sensors”?

Package names are distribution-specific. Debian and Ubuntu documentation commonly refers to a package named lm-sensors, while Enterprise Linux distributions package the tools as lm_sensors.

AlmaLinux 10’s AppStream repository contains the lm_sensors package, including:

  • sensors — displays temperature, voltage, power, and fan readings
  • sensors-detect — probes supported hardware and recommends kernel modules
  • lm_sensors.service — loads configured sensor modules during startup
  • fancontrol and pwmconfig — optional fan-control tools

The upstream lm-sensors project describes sensors-detect as its hardware detection tool and sensors as the console utility used to display readings.

Step 1: Install lm_sensors on AlmaLinux 10

Refresh repository metadata:

sudo dnf makecache

Confirm that DNF can see the correct package:

dnf info lm_sensors

You should see information similar to:

Name         : lm_sensors
Version      : 3.6.0
Repository   : appstream
Summary      : Hardware monitoring tools

The release number may differ as AlmaLinux publishes updates. Install the package:

sudo dnf install -y lm_sensors

Verify the installation:

rpm -q lm_sensors
command -v sensors
command -v sensors-detect

The command paths should normally be:

/usr/bin/sensors
/usr/sbin/sensors-detect

Step 2: Check the available temperature readings

Before probing the hardware, run:

sensors

Modern Linux kernels automatically load drivers for many common Intel, AMD, ACPI, and NVMe sensors. If the command already displays useful readings, you may not need to run sensors-detect.

An Intel server might show output similar to:

coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +47.0°C  (high = +80.0°C, crit = +100.0°C)
Core 0:        +43.0°C  (high = +80.0°C, crit = +100.0°C)
Core 1:        +45.0°C  (high = +80.0°C, crit = +100.0°C)

An AMD system commonly reports through the k10temp driver:

k10temp-pci-00c3
Adapter: PCI adapter
Tctl:         +52.4°C
Tccd1:        +44.8°C

The exact sensor names and limits depend on your CPU, motherboard, firmware, and kernel drivers. Some boards expose only CPU temperatures, while others also expose voltages and fan speeds.

Step 3: Detect additional hardware sensors

If sensors reports no sensors or is missing expected motherboard readings, run the detection wizard:

sudo sensors-detect

The script probes the CPU, Super I/O controller, I2C/SMBus adapters, and other monitoring chips. Read the warnings displayed by the program. The default answers are usually appropriate for modern x86 servers and workstations, but hardware probing is not entirely risk-free on unusual or very old systems.

When the wizard identifies supported drivers, allow it to save the configuration when asked. The generated module list is normally stored in:

/etc/sysconfig/lm_sensors

Review the file with:

sudo cat /etc/sysconfig/lm_sensors

Run sensors again after detection:

sensors

Remote production server warning: if the system is business-critical and you do not have console or out-of-band access, first try the already-loaded kernel sensors. Schedule intrusive hardware probing for a maintenance window if the script warns about risky bus tests.

Step 4: Enable the lm_sensors service

AlmaLinux’s package includes a systemd unit that loads the configured sensor modules and applies sensor limits. Enable and start it with:

sudo systemctl enable --now lm_sensors.service

Check its status:

systemctl status lm_sensors.service --no-pager

Because this can be a one-shot initialization service, a status such as active (exited) may be normal. It means the initialization command completed rather than that a daemon must remain running continuously.

No reboot is normally required. Confirm the final result:

sensors

Step 5: Monitor CPU temperatures continuously

Use watch to refresh the output every two seconds:

watch -n 2 sensors

Press Ctrl+C to stop monitoring.

For scripts and monitoring integrations, display raw values with:

sensors -u

JSON output is also available:

sensors -j

To display only temperature-related lines in a quick terminal check:

sensors | grep -E '°C|temp|Tctl|Tccd|Package|Core'

What if dnf install lm_sensors still says no match?

If the package name is correct but DNF still cannot find it, the problem is probably repository configuration or stale metadata.

1. Confirm the operating system

cat /etc/os-release
uname -m

Make sure the machine is actually running AlmaLinux 10 and uses an architecture supported by the enabled repositories.

2. Check enabled repositories

sudo dnf repolist --enabled

Look for appstream. You can inspect all AppStream entries with:

sudo dnf repolist --all | grep -i appstream

3. Enable AppStream if it is disabled

If the repository exists but is disabled, install the DNF configuration plugin if necessary and enable it:

sudo dnf install -y dnf-plugins-core
sudo dnf config-manager --set-enabled appstream

Then rebuild the cache and try again:

sudo dnf clean all
sudo dnf makecache
sudo dnf --refresh install -y lm_sensors

4. Search for the RPM name

dnf search lm_sensors
dnf list available 'lm_sensors*'

Do not enable EPEL solely for this package. lm_sensors is provided by AlmaLinux AppStream. If AppStream is missing completely, investigate the AlmaLinux repository files under /etc/yum.repos.d/ or your organization’s repository mirror.

If you are building a monitoring toolkit for AlmaLinux, you may also find our guide to installing htop on AlmaLinux 10 useful. Unlike lm_sensors, htop may require EPEL depending on the enabled repositories, so the two “No match” errors do not necessarily have the same cause.

What if the sensors command says “No sensors found”?

A successful package installation does not guarantee that the operating system can access physical monitoring hardware.

Check whether the machine is virtual

systemd-detect-virt

Most virtual machines do not receive the host’s physical CPU, motherboard, or fan sensor data. In that situation, sensors may legitimately show nothing. Monitor hardware temperatures on the hypervisor or physical host instead.

Check loaded CPU sensor modules

lsmod | grep -E 'coretemp|k10temp'

Intel processors normally use coretemp:

sudo modprobe coretemp
sensors

Modern AMD processors normally use k10temp:

sudo modprobe k10temp
sensors

Load only the driver appropriate for your hardware. Identify the CPU vendor with:

lscpu | grep -E 'Vendor ID|Model name'

Inspect the kernel hardware-monitoring interface

ls -la /sys/class/hwmon/
sudo dmesg | grep -iE 'hwmon|thermal|coretemp|k10temp'

If /sys/class/hwmon/ contains devices but sensors displays nothing useful, inspect the names:

for device in /sys/class/hwmon/hwmon*; do
    printf '%s: ' "$device"
    cat "$device/name"
done

Use the server’s BMC for fan and chassis sensors

Dedicated servers from vendors such as Dell, HPE, and Supermicro often expose chassis temperatures, fan speeds, and power data through a Baseboard Management Controller rather than standard lm-sensors interfaces. In that case, use the server’s iDRAC, iLO, IPMI, or Redfish interface. Do not assume that missing fan readings mean the fans are not being monitored.

Install ipmitool to check the chassis temperatures, fan speeds, and power data for your server:

dnf install ipmitool

Then run one of those commands to see the BMC sensors info:

sudo ipmitool sensor list

The output is:

VOLT_3VSB        | 3.300      | Volts      | ok    | 2.860     | 3.040     | na        | na        | 3.720     | 3.880     
VOLT_5VSB        | 5.070      | Volts      | ok    | 4.260     | 4.500     | na        | na        | 5.490     | 5.760     
VOLT_P0_VCORE    | 1.180      | Volts      | ok    | 0.210     | 0.230     | na        | na        | 1.650     | 1.730     
VOLT_P0_VSOC     | 1.120      | Volts      | ok    | 0.210     | 0.230     | na        | na        | 1.650     | 1.730     
VOLT_VMEM        | 1.100      | Volts      | ok    | na        | na        | na        | na        | na        | na        
VOLT_VMISC       | 1.120      | Volts      | ok    | 0.420     | 0.460     | na        | na        | 1.660     | 1.740     
VOLT_1.8V_PT21   | 1.780      | Volts      | ok    | 1.530     | 1.620     | na        | na        | 1.980     | 2.070     
VOLT_VSUS10      | 1.050      | Volts      | ok    | 0.850     | 0.900     | na        | na        | 1.210     | 1.270     
VOLT_VDD10       | 1.050      | Volts      | ok    | 0.850     | 0.900     | na        | na        | 1.210     | 1.270     
VOLT_VDDC_HOST   | 0.920      | Volts      | ok    | 0.770     | 0.810     | na        | na        | 0.990     | 1.040     
VOLT_VDDC_AON    | 0.900      | Volts      | ok    | 0.770     | 0.810     | na        | na        | 0.990     | 1.040     
VOLT_BAT         | 3.200      | Volts      | ok    | 2.220     | 2.400     | na        | na        | 3.300     | 3.460     
VOLT_3V          | 3.340      | Volts      | ok    | 2.800     | 2.960     | na        | na        | 3.620     | 3.800     
VOLT_5V          | 5.010      | Volts      | ok    | 4.260     | 4.500     | na        | na        | 5.490     | 5.760     
VOLT_12V         | 12.300     | Volts      | ok    | 10.200    | 10.800    | na        | na        | 13.200    | 13.800    
FAN1_1           | na         | RPM        | na    | na        | na        | 200.000   | na        | na        | na        
FAN2_1           | na         | RPM        | na    | na        | na        | 200.000   | na        | na        | na        
FAN3_1           | na         | RPM        | na    | na        | na        | 200.000   | na        | na        | na        
FAN4_1           | na         | RPM        | na    | na        | na        | 200.000   | na        | na        | na        
FAN5_1           | na         | RPM        | na    | na        | na        | 200.000   | na        | na        | na        
FAN6_1           | 14400.000  | RPM        | ok    | na        | na        | 200.000   | na        | na        | na        
FAN7_1           | 14200.000  | RPM        | ok    | na        | na        | 200.000   | na        | na        | na        
FAN1_2           | na         | RPM        | na    | na        | na        | 200.000   | na        | na        | na        
FAN2_2           | na         | RPM        | na    | na        | na        | 200.000   | na        | na        | na        
FAN3_2           | na         | RPM        | na    | na        | na        | 200.000   | na        | na        | na        
FAN4_2           | na         | RPM        | na    | na        | na        | 200.000   | na        | na        | na        
FAN5_2           | na         | RPM        | na    | na        | na        | 200.000   | na        | na        | na        
FAN6_2           | na         | RPM        | na    | na        | na        | 200.000   | na        | na        | na        
FAN7_2           | na         | RPM        | na    | na        | na        | 200.000   | na        | na        | na        
TEMP_CPU         | 73.000     | degrees C  | ok    | na        | na        | na        | 98.000    | 99.000    | na        
FSC_INDEX        | 78.000     | degrees C  | ok    | na        | na        | na        | na        | na        | na        
TEMP_DDR5_A1     | 39.000     | degrees C  | ok    | na        | na        | na        | 84.000    | 85.000    | na        
TEMP_DDR5_A2     | na         | degrees C  | na    | na        | na        | na        | 84.000    | 85.000    | na        
TEMP_DDR5_B1     | 38.000     | degrees C  | ok    | na        | na        | na        | 84.000    | 85.000    | na        
TEMP_DDR5_B2     | na         | degrees C  | na    | na        | na        | na        | 84.000    | 85.000    | na        
TEMP_FCH         | 40.000     | degrees C  | ok    | na        | na        | na        | 94.000    | 95.000    | na        
TEMP_MB          | 39.000     | degrees C  | ok    | na        | na        | na        | na        | na        | na        
TEMP_BCM_LAN     | 57.000     | degrees C  | ok    | na        | na        | na        | 109.000   | 110.000   | na        
TEMP_CARD_SIDE   | 37.000     | degrees C  | ok    | na        | na        | na        | na        | na        | na        
TEMP_M.2         | na         | degrees C  | na    | na        | na        | na        | 69.000    | 70.000    | na        
VOLT_PSU1_VIN    | na         | Volts      | na    | na        | na        | na        | na        | na        | na        
CUR_PSU1_IOUT    | na         | Amps       | na    | na        | na        | na        | na        | na        | na        
PWR_PSU1_PIN     | na         | Watts      | na    | na        | na        | na        | na        | na        | na        
PWR_PSU1_POUT    | na         | Watts      | na    | na        | na        | na        | na        | na        | na        
TEMP_PSU1        | na         | degrees C  | na    | na        | na        | na        | na        | na        | na        
FAN_PSU1         | na         | RPM        | na    | na        | na        | 100.000   | na        | na        | na        
VOLT_PSU2_VIN    | na         | Volts      | na    | na        | na        | na        | na        | na        | na        
CUR_PSU2_IOUT    | na         | Amps       | na    | na        | na        | na        | na        | na        | na        
PWR_PSU2_PIN     | na         | Watts      | na    | na        | na        | na        | na        | na        | na        
PWR_PSU2_POUT    | na         | Watts      | na    | na        | na        | na        | na        | na        | na        
TEMP_PSU2        | na         | degrees C  | na    | na        | na        | na        | na        | na        | na        
FAN_PSU2         | na         | RPM        | na    | na        | na        | 100.000   | na        | na        | na        
STS_PSU1         | 0x0        | discrete   | 0x0080| na        | na        | na        | na        | na        | na        
STS_PSU1_FAN     | na         | discrete   | na    | na        | na        | na        | na        | na        | na        
STS_PSU1_AC_LOST | na         | discrete   | na    | na        | na        | na        | na        | na        | na        
STS_PSU2         | 0x0        | discrete   | 0x0080| na        | na        | na        | na        | na        | na        
STS_PSU2_FAN     | na         | discrete   | na    | na        | na        | na        | na        | na        | na        
STS_PSU2_AC_LOST | na         | discrete   | na    | na        | na        | na        | na        | na        | na        
PROCHOT_CPU      | 0x0        | discrete   | 0x0080| na        | na        | na        | na        | na        | na        
THERMTRIP_CPU    | 0x0        | discrete   | 0x0080| na        | na        | na        | na        | na        | na        
STS_CPU_MCE      | 0x0        | discrete   | 0x0080| na        | na        | na        | na        | na        | na        
ChassisIntr      | 0x0        | discrete   | 0x0080| na        | na        | na        | na        | na        | na        
WATCHDOG2        | 0x0        | discrete   | 0x0080| na        | na        | na        | na        | na        | na

Or:

sudo ipmitool sdr

The output is:

VOLT_3VSB        | 3.30 Volts        | ok
VOLT_5VSB        | 5.07 Volts        | ok
VOLT_P0_VCORE    | 0.84 Volts        | ok
VOLT_P0_VSOC     | 1.12 Volts        | ok
VOLT_VMEM        | 1.09 Volts        | ok
VOLT_VMISC       | 1.12 Volts        | ok
VOLT_1.8V_PT21   | 1.78 Volts        | ok
VOLT_VSUS10      | 1.05 Volts        | ok
VOLT_VDD10       | 1.05 Volts        | ok
VOLT_VDDC_HOST   | 0.92 Volts        | ok
VOLT_VDDC_AON    | 0.90 Volts        | ok
VOLT_BAT         | 3.20 Volts        | ok
VOLT_3V          | 3.34 Volts        | ok
VOLT_5V          | 5.01 Volts        | ok
VOLT_12V         | 12.30 Volts       | ok
FAN1_1           | no reading        | ns
FAN2_1           | no reading        | ns
FAN3_1           | no reading        | ns
FAN4_1           | no reading        | ns
FAN5_1           | no reading        | ns
FAN6_1           | 12000 RPM         | ok
FAN7_1           | 11800 RPM         | ok
FAN1_2           | no reading        | ns
FAN2_2           | no reading        | ns
FAN3_2           | no reading        | ns
FAN4_2           | no reading        | ns
FAN5_2           | no reading        | ns
FAN6_2           | no reading        | ns
FAN7_2           | no reading        | ns
TEMP_CPU         | 67 degrees C      | ok
FSC_INDEX        | 72 degrees C      | ok
TEMP_DDR5_A1     | 39 degrees C      | ok
TEMP_DDR5_A2     | no reading        | ns
TEMP_DDR5_B1     | 38 degrees C      | ok
TEMP_DDR5_B2     | no reading        | ns
TEMP_FCH         | 40 degrees C      | ok
TEMP_MB          | 39 degrees C      | ok
TEMP_BCM_LAN     | 57 degrees C      | ok
TEMP_CARD_SIDE   | 37 degrees C      | ok
TEMP_M.2         | no reading        | ns
VOLT_PSU1_VIN    | no reading        | ns
CUR_PSU1_IOUT    | no reading        | ns
PWR_PSU1_PIN     | no reading        | ns
PWR_PSU1_POUT    | no reading        | ns
TEMP_PSU1        | no reading        | ns
FAN_PSU1         | no reading        | ns
VOLT_PSU2_VIN    | no reading        | ns
CUR_PSU2_IOUT    | no reading        | ns
PWR_PSU2_PIN     | no reading        | ns
PWR_PSU2_POUT    | no reading        | ns
TEMP_PSU2        | no reading        | ns
FAN_PSU2         | no reading        | ns
STS_PSU1         | 0x00              | ok
STS_PSU1_FAN     | Not Readable      | ns
STS_PSU1_AC_LOST | Not Readable      | ns
STS_PSU2         | 0x00              | ok
STS_PSU2_FAN     | Not Readable      | ns
STS_PSU2_AC_LOST | Not Readable      | ns
PROCHOT_CPU      | 0x00              | ok
THERMTRIP_CPU    | 0x00              | ok
STS_CPU_MCE      | 0x00              | ok
ChassisIntr      | 0x00              | ok
WATCHDOG2        | 0x00              | ok

Do not configure fan control blindly

The package installs pwmconfig and fancontrol, but temperature monitoring and fan control are different tasks. Running pwmconfig can temporarily change fan speeds while testing channels.

On production servers, fan control is usually managed by firmware or the BMC. Do not enable software fan control unless you understand the motherboard’s PWM channels, have local or out-of-band access, and can confirm that cooling remains safe under load.

Conclusion

The “No match for argument: lm-sensors” error on AlmaLinux 10 is usually caused by the package name, not a missing repository. Replace the hyphen with an underscore:

sudo dnf install -y lm_sensors

After installation, try sensors first. Run sensors-detect only if you need additional hardware detection, enable the included service so configured modules load at boot, and remember that virtual machines may not expose physical temperature data at all.

Frequently asked questions

What is the correct lm-sensors package name on AlmaLinux 10?

The correct RPM package name is lm_sensors, with an underscore. Install it with sudo dnf install lm_sensors.

Do I need EPEL to install lm_sensors?

No. AlmaLinux 10 provides lm_sensors in its standard AppStream repository.

Do I have to run sensors-detect?

Not always. Run sensors immediately after installation. If the kernel has already loaded the correct hardware-monitoring drivers and the readings are useful, additional probing may be unnecessary.

Why are no temperatures visible inside my VPS?

Virtual machines normally cannot access physical sensors on the host. Temperature and fan monitoring must usually be performed on the hypervisor, physical server, or BMC.

Why does lm_sensors.service show active (exited)?

The service initializes sensor modules and settings and may then exit successfully. For a one-shot service, active (exited) does not indicate a failure.

Can lm_sensors display NVMe temperatures?

It may display temperatures exposed through the kernel’s NVMe hardware-monitoring interface. For complete NVMe health information, use nvme-cli in addition to lm-sensors.

Comments (0)

Sign in to join the discussion

Sign in