How to Install Duf on Rocky Linux 10

Duf (Disk Usage Free utility) is a free and open-source command-line tool written in Golang. It displays disk usage in a visually appealing tabular format. Duf serves as an alternative to the traditional df command and supports JSON output. It runs on Linux, BSD, Windows, and macOS.

This guide shows how to install and use Duf on Rocky Linux 10.

Prerequisites
  • A system with Rocky Linux 10 installed and running
  • root access to the system

Check for System Updates

First, update the system to the latest packages:

dnf update

Install Duf

You can download the latest .rpm version of Duf from the official GitHub repository.

Use the following command to download version 0.8.1 (latest at the time of writing):

dnf install -y wget
wget https://github.com/muesli/duf/releases/download/v0.8.1/duf_0.8.1_linux_amd64.rpm

Output:

[root@vps ~]# wget https://github.com/muesli/duf/releases/download/v0.8.1/duf_0.8.1_linux_amd64.rpm
--2025-06-19 15:11:23--  https://github.com/muesli/duf/releases/download/v0.8.1/duf_0.8.1_linux_amd64.rpm
Resolving github.com (github.com)... 140.82.121.3
Connecting to github.com (github.com)|140.82.121.3|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/297165998/75d31bb2-a173-4103-bde3-999725cffca8?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20250619%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250619T151124Z&X-Amz-Expires=300&X-Amz-Signature=6b56e3cee8412a89a7f74f6b5ee0da4ecdf71dbd3c5991045af823927ec54cef&X-Amz-SignedHeaders=host&response-content-disposition=attachment%3B%20filename%3Dduf_0.8.1_linux_amd64.rpm&response-content-type=application%2Foctet-stream [following]
--2025-06-19 15:11:24--  https://objects.githubusercontent.com/github-production-release-asset-2e65be/297165998/75d31bb2-a173-4103-bde3-999725cffca8?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20250619%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250619T151124Z&X-Amz-Expires=300&X-Amz-Signature=6b56e3cee8412a89a7f74f6b5ee0da4ecdf71dbd3c5991045af823927ec54cef&X-Amz-SignedHeaders=host&response-content-disposition=attachment%3B%20filename%3Dduf_0.8.1_linux_amd64.rpm&response-content-type=application%2Foctet-stream
Resolving objects.githubusercontent.com (objects.githubusercontent.com)... 185.199.111.133, 185.199.108.133, 185.199.109.133, ...
Connecting to objects.githubusercontent.com (objects.githubusercontent.com)|185.199.111.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 916883 (895K) [application/octet-stream]
Saving to: ‘duf_0.8.1_linux_amd64.rpm’

duf_0.8.1_linux_amd 100%[===================>] 895.39K  3.02MB/s    in 0.3s

2025-06-19 15:11:25 (3.02 MB/s) - ‘duf_0.8.1_linux_amd64.rpm’ saved [916883/916883]

...
duf_0.8.1_linux_amd 100%[===================>] 895.39K  --.-KB/s    in 0.08s

Install the .rpm file:

rpm -Uvh duf_0.8.1_linux_amd64.rpm

Output:

[root@vps ~]# rpm -Uvh duf_0.8.1_linux_amd64.rpm
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:duf-0:0.8.1-1                    ################################# [100%]

Using the Duf Command

Run the duf command to display disk usage:

duf

Output:

[root@vps ~]# duf
╭────────────────────────────────────────────────────────────────╮
│ 1 local device                                                 │
├────────────┬───────┬──────┬───────┬────────┬──────┬────────────┤
│ MOUNTED ON │  SIZE │ USED │ AVAIL │  USE%  │ TYPE │ FILESYSTEM │
├────────────┼───────┼──────┼───────┼────────┼──────┼────────────┤
│ /          │ 24.0G │ 1.4G │ 21.4G │   5.7% │ ext4 │ /dev/vda2  │
╰────────────┴───────┴──────┴───────┴────────┴──────┴────────────╯
╭───────────────────────────────────────────────────────────────────────╮
│ 6 special devices                                                     │
├──────────────┬────────┬───────┬────────┬────────┬────────┬────────────┤
│ MOUNTED ON   │   SIZE │  USED │  AVAIL │  USE%  │ TYPE   │ FILESYSTEM │
├──────────────┼────────┼───────┼────────┼────────┼────────┼────────────┤
│ /dev         │   4.0M │    0B │   4.0M │        │ devtmp │ devtmpfs   │
│              │        │       │        │        │ fs     │            │
│ /dev/shm     │   1.8G │    0B │   1.8G │        │ tmpfs  │ tmpfs      │
│ /run         │ 730.7M │ 16.5M │ 714.2M │   2.3% │ tmpfs  │ tmpfs      │
│ /run/credent │   1.0M │    0B │   1.0M │        │ tmpfs  │ tmpfs      │
│ ials/getty@t │        │       │        │        │        │            │
│ ty1.service  │        │       │        │        │        │            │
│ /run/credent │   1.0M │    0B │   1.0M │        │ tmpfs  │ tmpfs      │
│ ials/systemd │        │       │        │        │        │            │
│ -journald.se │        │       │        │        │        │            │
│ rvice        │        │       │        │        │        │            │
│ /run/user/0  │ 365.3M │  4.0K │ 365.3M │   0.0% │ tmpfs  │ tmpfs      │
╰──────────────┴────────┴───────┴────────┴────────┴────────┴────────────╯

Additional Duf Options

Display help information:

duf --help

Show pseudo, inaccessible, and duplicate file systems:

duf -all

Output:

[root@vps ~]# duf -all
╭────────────────────────────────────────────────────────────────────╮
│ 2 local devices                                                    │
├──────────────┬───────┬──────┬───────┬────────┬────────┬────────────┤
│ MOUNTED ON   │  SIZE │ USED │ AVAIL │  USE%  │ TYPE   │ FILESYSTEM │
├──────────────┼───────┼──────┼───────┼────────┼────────┼────────────┤
│ /            │ 24.0G │ 1.4G │ 21.4G │   5.7% │ ext4   │ /dev/vda2  │
│ /sys/fs/seli │    0B │   0B │    0B │        │ selinu │ selinuxfs  │
│ nux          │       │      │       │        │ xfs    │            │
╰──────────────┴───────┴──────┴───────┴────────┴────────┴────────────╯
╭────────────────────────────────────────────────────────────────────────╮
│ 21 special devices                                                     │
├──────────────┬────────┬───────┬────────┬────────┬────────┬─────────────┤
│ MOUNTED ON   │   SIZE │  USED │  AVAIL │  USE%  │ TYPE   │ FILESYSTEM  │
├──────────────┼────────┼───────┼────────┼────────┼────────┼─────────────┤
│ /dev         │   4.0M │    0B │   4.0M │        │ devtmp │ devtmpfs    │
│              │        │       │        │        │ fs     │             │
│ /dev/hugepag │     0B │    0B │     0B │        │ hugetl │ hugetlbfs   │
│ es           │        │       │        │        │ bfs    │             │
│ /dev/mqueue  │     0B │    0B │     0B │        │ mqueue │ mqueue      │
│ /dev/pts     │     0B │    0B │     0B │        │ devpts │ devpts      │
│ /dev/shm     │   1.8G │    0B │   1.8G │        │ tmpfs  │ tmpfs       │
│ /proc        │     0B │    0B │     0B │        │ proc   │ proc        │
│ /proc/sys/fs │     0B │    0B │     0B │        │ autofs │ systemd-1   │
│ /binfmt_misc │        │       │        │        │        │             │
│ /proc/sys/fs │     0B │    0B │     0B │        │ binfmt │ binfmt_misc │
│ /binfmt_misc │        │       │        │        │ _misc  │             │
│ /run         │ 730.7M │ 16.5M │ 714.2M │   2.3% │ tmpfs  │ tmpfs       │
│ /run/credent │   1.0M │    0B │   1.0M │        │ tmpfs  │ tmpfs       │
│ ials/getty@t │        │       │        │        │        │             │
│ ty1.service  │        │       │        │        │        │             │
│ /run/credent │   1.0M │    0B │   1.0M │        │ tmpfs  │ tmpfs       │
│ ials/systemd │        │       │        │        │        │             │
│ -journald.se │        │       │        │        │        │             │
│ rvice        │        │       │        │        │        │             │
│ /run/user/0  │ 365.3M │  4.0K │ 365.3M │   0.0% │ tmpfs  │ tmpfs       │
│ /sys         │     0B │    0B │     0B │        │ sysfs  │ sysfs       │
│ /sys/fs/bpf  │     0B │    0B │     0B │        │ bpf    │ bpf         │
│ /sys/fs/cgro │     0B │    0B │     0B │        │ cgroup │ cgroup2     │
│ up           │        │       │        │        │ 2      │             │
│ /sys/fs/fuse │     0B │    0B │     0B │        │ fusect │ fusectl     │
│ /connections │        │       │        │        │ l      │             │
│ /sys/fs/psto │     0B │    0B │     0B │        │ pstore │ pstore      │
│ re           │        │       │        │        │        │             │
│ /sys/kernel/ │     0B │    0B │     0B │        │ config │ configfs    │
│ config       │        │       │        │        │ fs     │             │
│ /sys/kernel/ │     0B │    0B │     0B │        │ debugf │ debugfs     │
│ debug        │        │       │        │        │ s      │             │
│ /sys/kernel/ │     0B │    0B │     0B │        │ securi │ securityfs  │
│ security     │        │       │        │        │ tyfs   │             │
│ /sys/kernel/ │     0B │    0B │     0B │        │ tracef │ tracefs     │
│ tracing      │        │       │        │        │ s      │             │
╰──────────────┴────────┴───────┴────────┴────────┴────────┴─────────────╯

Done

Duf is now installed on your Rocky Linux 10 system and ready for use.


CrownCloud - Get a SSD powered KVM VPS at $4.5/month!
Use the code WELCOME for 10% off!

1 GB RAM / 25 GB SSD / 1 CPU Core / 1 TB Bandwidth per month

Available Locations: LAX | MIA | ATL | FRA | AMS