How to Install openSUSE Leap or Tumbleweed
Install openSUSE Leap or Tumbleweed step by step: ISO verification, YaST partitioning, Btrfs subvolumes, Snapper snapshots, and first-boot updates.
Before you start
- ▸A USB drive of 8 GB or larger for the installer
- ▸A machine with at least 20 GB of free disk space and 2 GB RAM (4 GB recommended for a desktop)
- ▸UEFI or BIOS set to boot from USB, with Secure Boot either supported or disabled
- ▸A backup of any existing data on the target disk
openSUSE comes in two distinct flavours: Leap, a stable point-release that tracks SUSE Linux Enterprise sources, and Tumbleweed, a curated rolling release that ships new packages within days of upstream. Both use the same YaST graphical installer, Btrfs with automatic Snapper snapshots by default, and the zypper package manager. This guide walks through a fresh installation of either variant on a physical machine or VM, covering the choices that trip up first-timers.
Leap or Tumbleweed: Pick One First
This is the most important decision before you download anything.
- Leap (current: 15.6) — fixed release cycle roughly every 12 months, conservative kernel and package versions, excellent for servers, workstations where you want predictability, and anyone migrating from RHEL/Debian stable. Security patches arrive promptly; major version upgrades are explicit opt-in events.
- Tumbleweed — rolling release, ships current upstream kernels, desktops, and toolchains. Every snapshot passes openQA automated testing before publication. Good for developers, enthusiasts, and anyone who needs recent hardware support. You run
zypper dupregularly instead of waiting for a release.
If you are unsure, start with Leap. You can always move to Tumbleweed later, or keep both on separate partitions.
Download and Verify the ISO
Get the installer from get.opensuse.org. Choose the Offline Image (DVD ISO, ~4 GB) for air-gapped or slow-network installs, or the smaller Network Image if you have a reliable connection during install. The NET image pulls packages live, so it always installs the latest snapshot.
Always verify the checksum. openSUSE publishes SHA-256 checksums and GPG signatures alongside every ISO.
# After downloading, verify the checksum (replace filename as needed)
sha256sum openSUSE-Leap-15.6-DVD-x86_64.iso
# Compare the output against the .sha256 file on the download page
# Optional GPG verification
gpg --recv-keys 0x22C07BA534178CD02EFE22AAB88B2FD43DBDC284
gpg --verify openSUSE-Leap-15.6-DVD-x86_64.iso.sha256.asc openSUSE-Leap-15.6-DVD-x86_64.iso.sha256
Write the ISO to a USB drive. Use dd on Linux or Fedora Media Writer / Balena Etcher on any platform. Replace /dev/sdX with your actual device — double-check with lsblk first.
sudo dd if=openSUSE-Leap-15.6-DVD-x86_64.iso of=/dev/sdX bs=4M status=progress oflag=sync
Boot and Language Setup
Boot from the USB. You will land in the GRUB bootloader with options including Installation, a live environment (on some ISOs), and a rescue system. Select Installation.
YaST opens with a language and keyboard layout selector. Set these correctly now — they affect the locale generated for your installed system, not just the installer UI. Accept the licence agreement on the next screen.
Network and Online Repositories
YaST will probe for a network connection. If you are on Wi-Fi, enter credentials here. For Tumbleweed offline ISOs, enabling the network allows YaST to activate the online repo so you install current packages immediately. For Leap, the DVD ISO contains a full package set and the network is optional during install.
Disk Partitioning and Btrfs Subvolumes
This is where openSUSE differs most visibly from other distributions. The default partitioning proposal creates:
- An EFI System Partition (ESP) mounted at
/boot/efi— 512 MB, FAT32 - A swap partition (size varies by RAM)
- A Btrfs root partition using the rest of the disk, with a set of subvolumes
The Btrfs subvolume layout openSUSE creates is deliberate. Key subvolumes include @ (root), @/home, @/var, @/usr/local, and @/opt. Separating /home and /var into their own subvolumes means Snapper snapshots of root do not include user data or package caches — snapshots stay small and rollbacks are safe.
For most users, accept the default proposal. Click Edit Proposal Settings if you want to:
- Enable a separate
/homepartition on a second disk - Disable swap (not recommended on low-RAM machines)
- Switch to XFS or ext4 for root (you lose Snapper integration — not recommended)
If you are dual-booting, click Expert Partitioner to manually assign mount points and avoid touching existing partitions. YaST will detect existing operating systems and offer to add them to GRUB automatically.
Desktop Environment Selection
On the System Role screen, pick your environment:
- KDE Plasma — the openSUSE default and most polished option; ships Plasma 6 on Tumbleweed, Plasma 5 on Leap 15.6
- GNOME — full GNOME shell, good Wayland support on both releases
- Server — no graphical environment, minimal package set
- Transactional Server — immutable root with
transactional-update, designed for container hosts and edge nodes
You can install additional desktops later via YaST or zypper, but starting with one keeps the install clean.
User, Root Password, and Clock
Set your timezone and NTP server (the default pool.ntp.org works fine). On the user creation screen, create your regular account. Note the checkbox Use this password for system administrator — if you leave it unchecked, you set a separate root password on the next screen. For desktop use, checking it is convenient; for servers, set a dedicated root password or disable root login entirely and rely on sudo.
openSUSE adds your first user to the wheel group by default, granting sudo access.
Installation Summary and Commit
The Installation Settings summary screen shows every choice before writing anything to disk. Review the partitioning section carefully. When satisfied, click Install and confirm. Package installation takes 10–25 minutes depending on your hardware and whether you are using the offline ISO or the network image.
First Boot: Snapper Is Already Working
After rebooting, Snapper has already taken a pre-install snapshot. Every time you install, update, or remove packages via YaST or zypper, Snapper automatically creates before/after snapshot pairs. You can list them:
sudo snapper list
To roll back to a previous snapshot, reboot and select the snapshot from the GRUB menu under Start Bootloader from a read-only snapshot. From inside a running system you can also run:
sudo snapper rollback 2 # replace 2 with the snapshot number from 'snapper list'
Post-Install: Update and Add Repositories
On Leap, refresh and update:
sudo zypper refresh
sudo zypper update
On Tumbleweed, use dup (distribution upgrade) rather than update — it correctly handles package replacements that a rolling release requires:
sudo zypper dup
To add the Packman repository (third-party codecs, multimedia):
# Leap 15.6
sudo zypper ar -cfp 90 https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_15.6/ packman
# Tumbleweed
sudo zypper ar -cfp 90 https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/ packman
sudo zypper refresh
sudo zypper dup --from packman --allow-vendor-change
Verification
# Confirm release
cat /etc/os-release
# Check Btrfs subvolumes are mounted correctly
findmnt -t btrfs
# Confirm Snapper is active
sudo systemctl status snapper-timeline.timer snapper-cleanup.timer
Troubleshooting
YaST partitioner shows no disks
BIOS/UEFI SATA mode may be set to RAID or RST. Switch it to AHCI before booting the installer. On NVMe-only systems, ensure the driver is loaded; the openSUSE installer includes NVMe support by default, but some OEM firmware needs a BIOS update.
GRUB does not appear after install (UEFI systems)
Enter your UEFI firmware boot menu (commonly F12 at POST) and add an entry pointing to \EFI\opensuse\grubx64.efi on the ESP. Some firmware ignores new EFI entries written by installers; manually selecting the file once usually registers it permanently.
Snapper rollback loop
If you roll back and the system boots into the snapshot but changes do not persist, you likely did not run snapper rollback from within the booted snapshot environment, then reboot again. The two-reboot process is intentional — Snapper needs to set the new default subvolume before the rollback is permanent.
zypper dup removes packages unexpectedly on Tumbleweed
This is normal behaviour during major transitions (Qt upgrades, Python version bumps). Review the removal list before confirming. If a package you need is being removed, check if a replacement package with a new name covers the same functionality before proceeding.
Frequently asked questions
- Can I upgrade from Leap to the next Leap release without reinstalling?
- Yes. When a new Leap version is released, update the repository URLs in /etc/zypp/repos.d/ to point to the new version, then run zypper dup. openSUSE documents this process officially for each release.
- Why does openSUSE use Btrfs by default instead of ext4?
- Btrfs enables Snapper to take copy-on-write snapshots before every package operation at near-zero cost. This gives you a reliable rollback path that ext4 cannot provide without LVM, making it a practical safety net rather than just a filesystem preference.
- How much disk space do Snapper snapshots consume over time?
- Snapshots store only changed blocks, so early on they are tiny. On an active Tumbleweed system with frequent zypper dup runs, snapshot usage can grow to several gigabytes over weeks. Snapper's cleanup algorithms run automatically on a timer and prune old snapshots to keep usage bounded.
- Is Tumbleweed safe for daily use, or is it constantly broken?
- Tumbleweed snapshots only publish after passing openQA automated testing across hundreds of test cases. In practice it is very stable for desktop use. Problems do occasionally slip through, but the Snapper rollback mechanism means recovery is straightforward.
- Can I install openSUSE alongside Windows and keep dual boot working?
- Yes. Use the Expert Partitioner to assign mount points manually, leaving the Windows partitions untouched. YaST will detect Windows and add it to the GRUB menu automatically. Disable Fast Startup in Windows before installing to avoid filesystem corruption on shared partitions.
Related guides
How to Back Up Your Linux System
Learn how to back up your Linux system using Timeshift, rsync, Borg, and Restic — then tie it all together with a practical 3-2-1 backup routine.
How to Choose a Linux Distribution
Match a Linux distro to your real needs — desktop, server, rolling vs LTS, hardware quirks, and package ecosystems — without wading through marketing noise.
How to Dual-Boot Linux and Windows
Shrink the Windows partition, install Linux without breaking the bootloader, configure GRUB, and handle Secure Boot — all in the correct order.
10 Things to Do After Installing Linux
Ten essential post-install steps for any Linux desktop: updates, drivers, firewall, codecs, backups, SSH hardening, and service cleanup — all with modern commands.