Writing bootable media is one of those jobs where one wrong click can waste half an hour or wipe the wrong removable drive. balenaEtcher earns its keep by making the target device obvious and checking the write afterward, which is why many people prefer it over a raw dd command.
To install balenaEtcher on Fedora, the practical route is the upstream RPM. As of February 28, 2026, Fedora does not ship a balena-etcher package in its default repositories, and flatpak search etcher on Fedora 43 returns no current Etcher package either. This guide uses the x86_64 RPM from the balenaEtcher GitHub releases page, verifies the checksum first, installs it with DNF, and then walks through launch, troubleshooting, updates, and cleanup.
Install balenaEtcher on Fedora
balenaEtcher currently publishes an
x86_64RPM for Fedora. If you use an ARM-based Fedora system, this package will not install.
Update Fedora Before Installing balenaEtcher
Refresh Fedora first so DNF has current dependency metadata before it handles the upstream RPM.
sudo dnf upgrade --refresh
This guide uses
sudofor commands that need root privileges. If your account is not set up for sudo yet, follow the guide to add a user to sudoers on Fedora.
Download the Latest balenaEtcher RPM on Fedora
Fedora Workstation already includes curl, so you can pull the latest RPM and checksum file directly from GitHub. Keep the same terminal window open because the commands below store the RPM filename and version in shell variables used again in the next steps.
If a minimal Fedora install returns
curl: command not found, install it first withsudo dnf install curland then rerun the download commands.
RPM_URL=$(curl -fsSL https://api.github.com/repos/balena-io/etcher/releases/latest | grep 'browser_download_url' | grep 'x86_64' | grep '\.rpm' | head -n1 | cut -d '"' -f4)
RPM_FILE=${RPM_URL##*/}
VERSION=$(curl -fsSL https://api.github.com/repos/balena-io/etcher/releases/latest | grep '"tag_name"' | head -n1 | cut -d '"' -f4 | sed 's/^v//')
curl -fLO --progress-bar "$RPM_URL"
curl -fLO --progress-bar "https://github.com/balena-io/etcher/releases/download/v${VERSION}/SHA256SUMS.Linux.x64.txt"
The API lookups grab the latest release metadata, while curl -fLO follows GitHub’s redirect chain and stops on HTTP errors instead of quietly saving a broken response. Confirm that both files landed in your current directory before you continue.
ls -lh "$RPM_FILE" SHA256SUMS.Linux.x64.txt
-rw-r--r--. 1 joshua joshua 122M Jul 29 12:05 balena-etcher-2.1.4-1.x86_64.rpm -rw-r--r--. 1 joshua joshua 294 Jul 29 12:05 SHA256SUMS.Linux.x64.txt
Verify the balenaEtcher RPM Checksum
Checksum verification confirms that the RPM you downloaded matches the release metadata published upstream.
grep "$RPM_FILE$" SHA256SUMS.Linux.x64.txt | sha256sum -c -
balena-etcher-2.1.4-1.x86_64.rpm: OK
Install the balenaEtcher RPM with DNF on Fedora
Install the verified file with DNF. The ./ prefix matters because it tells DNF to use the local RPM in your current directory instead of searching Fedora repositories.
sudo dnf install "./$RPM_FILE"
Package Arch Version Repository Size Installing: balena-etcher x86_64 2.1.4-1 @commandline 410.0 MiB Warning: skipped OpenPGP checks for 1 package from repository: @commandline Complete!
The @commandline warning is expected for local RPM installs. You already handled integrity by verifying the upstream checksum before installation.
Verify the balenaEtcher Install on Fedora
Check both the installed package entry and the launcher path so you know Fedora registered the app correctly.
dnf list installed balena-etcher
command -v balena-etcher
Installed packages balena-etcher.x86_64 2.1.4-1 @commandline /usr/bin/balena-etcher
Launch balenaEtcher on Fedora
The RPM installs both the terminal launcher and the desktop entry, so you can open balenaEtcher from either the shell or Fedora GNOME’s application search.
Launch balenaEtcher from the Terminal on Fedora
If you are already in GNOME or another desktop session, launch Etcher from the terminal with:
balena-etcher
balenaEtcher opens with the usual three-step flow: choose an image, pick the target drive, and start the write.
Open balenaEtcher from Fedora Activities
- Open Activities.
- Search for balenaEtcher.
- Select the balenaEtcher entry to launch the application.

Flash Images Safely with balenaEtcher on Fedora
Etcher itself is straightforward. Most mistakes happen before the write starts: a damaged image, the wrong target drive, or a Windows ISO that needs more than a raw write.
Confirm the Target Drive Before Flashing
Check the removable drive in a terminal before you click Flash. Matching both the size and the TRAN column makes it much harder to overwrite the wrong disk.
lsblk -o NAME,SIZE,TYPE,MODEL,TRAN
Look for your USB stick in the TRAN column as usb, and stop immediately if the size does not match the device you intend to erase.
balenaEtcher vs Fedora Media Writer
Both tools write installer media, but they fit different workflows on Fedora desktops.
| Task | balenaEtcher | Fedora Media Writer |
|---|---|---|
| Write an ISO or IMG you already downloaded | Strong fit | Limited |
| Download Fedora editions and write them in one app | No built-in downloader | Best fit |
| Flash Raspberry Pi or other generic SD card images | Strong fit | Fedora-focused |
| Use the same writer across many Linux images | Strong fit | Narrower scope |
Use Fedora Media Writer when your goal is specifically Fedora installation media. Use balenaEtcher when you already have an image file and want one writer for many Linux or embedded-device workflows.
Does balenaEtcher Work with Windows ISOs on Fedora?
Not reliably. balenaEtcher writes images byte-for-byte, which works well for most Linux ISOs and SD card images, but Windows installer ISOs usually need extra bootable-media handling. If your goal is a Windows installer USB, Etcher is not the default tool to reach for.
Troubleshoot balenaEtcher on Fedora
Most Etcher trouble on Fedora comes from three places: the expected local RPM warning, removable drives that never show up cleanly, or desktop-session pieces missing on stripped-down installs. Work through those in that order before you assume the RPM itself is broken.
DNF Warns About Skipped OpenPGP Checks
Local RPM installs show the source as @commandline, so DNF cannot validate the package against a configured repository key.
Warning: skipped OpenPGP checks for 1 package from repository: @commandline
This warning is expected for the balenaEtcher RPM. Treat the sha256sum -c step as your integrity check and only install the RPM after it returns OK.
balenaEtcher Does Not See the USB Drive
First make sure Fedora can see the removable drive at all.
lsblk -o NAME,SIZE,TYPE,MODEL,TRAN
If the drive does not appear there, Etcher cannot use it either. Try another USB port or cable, then recheck. If the drive appears in lsblk but not in Etcher, close and reopen the app inside your normal user session. Do not treat the disk group as a quick fix unless you fully understand the risk, because that grants broad raw-disk access you usually do not need.
balenaEtcher Does Not Launch on Fedora
Start it from a terminal inside the desktop session so you can read any error output directly.
balena-etcher
On a standard Fedora Workstation install, XWayland and a Polkit agent are already present. On trimmed desktops or custom window managers, missing session components are a more common cause. If you never see an authorization prompt when Etcher needs elevated access, install the Polkit agent that matches your desktop environment and log out and back in. If XWayland was removed from a minimal setup, reinstall it with sudo dnf install xorg-x11-server-Xwayland.
Flash Verification Fails or the Writer Process Ends Unexpectedly
These failures usually point to a bad image download, a failing USB drive, or a flaky cable or port rather than the Etcher package itself. Recheck the image checksum from the publisher, then try another drive. If the write appeared to finish anyway, inspect the target device with sudo fdisk -l /dev/sdX before you assume the media is unusable.
Update or Remove balenaEtcher on Fedora
Update balenaEtcher with a New RPM
balenaEtcher does not add a Fedora repository, so a manual update uses the same upstream RPM workflow as the first install. If you only refresh it once in a while, that is still the cleanest route.
- Download the newest RPM and
SHA256SUMS.Linux.x64.txtusing the same commands from the installation section. - Verify the checksum again before you upgrade the package.
- Run the install command below to replace the older build in place.
sudo dnf install "./$RPM_FILE"
If you would rather not repeat those steps by hand each time, the next section turns the same workflow into a reusable updater.
Create a balenaEtcher Update Script on Fedora
The script below checks the installed version first, queries the latest GitHub release, downloads the matching RPM and checksum file into a temporary directory, verifies the checksum, and then updates balenaEtcher with DNF. It keeps a simple history log in ~/balena-etcher-update.log, so you can see what it last installed.
sudo tee /usr/local/bin/update-balenaetcher.sh > /dev/null << 'SCRIPT_EOF'
#!/usr/bin/env bash
set -euo pipefail
API_URL="https://api.github.com/repos/balena-io/etcher/releases/latest"
LOG_FILE="$HOME/balena-etcher-update.log"
WORK_DIR=$(mktemp -d "${TMPDIR:-/tmp}/balena-etcher-update.XXXXXX")
trap 'rm -rf "$WORK_DIR"' EXIT
if [ "$(id -u)" -eq 0 ]; then
echo "Run this script as a regular user. It uses sudo only for the DNF install step."
exit 1
fi
for cmd in curl grep head cut sha256sum dnf sudo rpm mktemp; do
if ! command -v "$cmd" >/dev/null; then
echo "Error: required command not found: $cmd"
echo "Install the missing package with DNF, then rerun the script."
exit 1
fi
done
if rpm -q balena-etcher >/dev/null 2>&1; then
CURRENT_VERSION=$(rpm -q --queryformat '%{VERSION}\n' balena-etcher)
else
CURRENT_VERSION="none"
fi
echo "Checking the latest balenaEtcher release..."
RELEASE_JSON=$(curl -fsSL "$API_URL")
LATEST_TAG=$(printf '%s\n' "$RELEASE_JSON" | grep -oE '"tag_name": "v[^"]+"' | head -n1 | cut -d '"' -f4)
RPM_URL=$(printf '%s\n' "$RELEASE_JSON" | grep -oE '"browser_download_url": "[^"]+x86_64[^"]*\.rpm"' | head -n1 | cut -d '"' -f4)
SUMS_URL=$(printf '%s\n' "$RELEASE_JSON" | grep -oE '"browser_download_url": "[^"]+SHA256SUMS\.Linux\.x64\.txt"' | head -n1 | cut -d '"' -f4)
[ -z "$LATEST_TAG" ] && { echo "Error: could not detect the latest balenaEtcher release tag."; exit 1; }
[ -z "$RPM_URL" ] && { echo "Error: could not find the x86_64 RPM asset."; exit 1; }
[ -z "$SUMS_URL" ] && { echo "Error: could not find the SHA256 checksum file."; exit 1; }
LATEST_VERSION=${LATEST_TAG#v}
echo "Current installed version: $CURRENT_VERSION"
echo "Latest available version: $LATEST_VERSION"
if [ "$CURRENT_VERSION" = "$LATEST_VERSION" ]; then
echo "balenaEtcher is already up to date."
exit 0
fi
printf 'Continue with the balenaEtcher download and install? [y/N] '
read -r REPLY
case "$REPLY" in
y|Y|yes|YES)
;;
*)
echo "Canceled."
exit 0
;;
esac
cd "$WORK_DIR"
RPM_FILE=${RPM_URL##*/}
echo "Downloading $RPM_FILE..."
curl -fLO --progress-bar "$RPM_URL"
echo "Downloading SHA256SUMS.Linux.x64.txt..."
curl -fLO --progress-bar "$SUMS_URL"
echo "Verifying the checksum..."
CHECKSUM_LINE=$(grep "$RPM_FILE$" SHA256SUMS.Linux.x64.txt || true)
[ -z "$CHECKSUM_LINE" ] && { echo "Error: checksum entry for $RPM_FILE was not found."; exit 1; }
printf '%s\n' "$CHECKSUM_LINE" | sha256sum -c -
echo "Installing or updating balenaEtcher with DNF..."
sudo dnf install -y "$WORK_DIR/$RPM_FILE"
NEW_VERSION=$(rpm -q --queryformat '%{VERSION}\n' balena-etcher)
echo "Installed version after update: $NEW_VERSION"
printf '%s | %s -> %s\n' "$(date '+%Y-%m-%d %H:%M:%S')" "$CURRENT_VERSION" "$NEW_VERSION" >> "$LOG_FILE"
echo "Update complete. Temporary files will be removed automatically when the script exits."
SCRIPT_EOF
sudo chmod +x /usr/local/bin/update-balenaetcher.sh
Because the script lives in /usr/local/bin, you can run it from any directory in your terminal:
update-balenaetcher.sh
The example output below shows balenaEtcher 2.1.4 because that was the latest release when this guide was updated. Your output will show whatever version GitHub currently marks as latest.
When balenaEtcher is already current, the script exits before downloading anything:
Checking the latest balenaEtcher release... Current installed version: 2.1.4 Latest available version: 2.1.4 balenaEtcher is already up to date.
If balenaEtcher is missing or behind, the script downloads the new RPM, checks it, and installs it for you:
Checking the latest balenaEtcher release... Current installed version: none Latest available version: 2.1.4 Continue with the balenaEtcher download and install? [y/N] y Downloading balena-etcher-2.1.4-1.x86_64.rpm... Downloading SHA256SUMS.Linux.x64.txt... Verifying the checksum... balena-etcher-2.1.4-1.x86_64.rpm: OK Installing or updating balenaEtcher with DNF... Installed version after update: 2.1.4 Update complete. Temporary files will be removed automatically when the script exits.
Avoid cron automation for this script. If GitHub rate-limits the API, upstream changes the release assets, or DNF needs your attention, you want to see the failure immediately instead of finding out later that the update never happened.
Remove balenaEtcher from Fedora
When you no longer need the application, remove the package first and then confirm it is gone from the RPM database.
sudo dnf remove balena-etcher
Verify that Fedora no longer lists the package.
dnf list installed balena-etcher
No matching packages to list
The next command permanently deletes balenaEtcher user settings and Crashpad data from
~/.config/balenaEtcher. Skip it if you want to keep your preferences for a later reinstall.
rm -rf ~/.config/balenaEtcher
Frequently Asked Questions About balenaEtcher on Fedora
Yes, but DNF installs balenaEtcher as a local RPM rather than from Fedora repositories. On Fedora 43, dnf info balena-etcher returns no package, so the working path is to download the upstream RPM first and then run sudo dnf install ./balena-etcher-*.rpm.
No. On February 28, 2026, flatpak search etcher returned no Etcher package on Fedora 43, so Fedora users currently rely on the upstream RPM instead.
That warning appears because balenaEtcher is being installed from a local RPM marked as @commandline instead of from a configured Fedora repository. It is expected behavior for this workflow, which is why verifying the SHA256 checksum before installation matters.
Usually not well enough to recommend as the default method. balenaEtcher writes the image directly, while Windows installer media often needs extra bootable-media handling that tools built specifically for Windows installers manage better.
Conclusion
balenaEtcher is in place on Fedora without any extra repository clutter, and the same checksum-verified RPM workflow now scales from a one-off install to a reusable update script. If you want to get more comfortable with local RPM work and sudo setup on Fedora, read DNF5 install examples on Fedora and add a user to sudoers on Fedora.
Formatting tips for your comment
You can use basic HTML to format your comment. Useful tags currently allowed:
<code>command</code>command<strong>bold</strong><em>italic</em><a href="URL">link</a><blockquote>quote</blockquote>