How to Install lm_sensors on AlmaLinux 10

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-sensorsis the upstream project name, but the AlmaLinux RPM is namedlm_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 readingssensors-detect— probes supported hardware and recommends kernel moduleslm_sensors.service— loads configured sensor modules during startupfancontrolandpwmconfig— 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