How To Install LibreOffice on Fedora 45

Install LibreOffice on Fedora 45

Fedora 45 is out, and one of the first things people do on a fresh install is get a proper office suite running. Fedora Workstation doesn’t always include one. Spins, Server installs and minimal builds usually don’t either. Someone opens a .docx from a client, the file manager has nothing to open it with, and the search for a fix starts.

The installation itself takes about a minute. The details around it decide whether the suite behaves well afterward. Which package set did you pull in? Does your language pack match your locale? Do documents from Microsoft Word keep their layout, or does every table shift by three pixels? Is the app sandboxed, or does it have full access to your home directory? On a laptop these questions are cosmetic. On a shared workstation, a terminal server or a document conversion box, they matter.

Fedora 45 reached general availability in early November 2026, after two delays from its original October 20 target. It ships with GNOME 51, KDE Plasma 6.8 and the Linux 7.2 kernel. The Fedora repositories carry the LibreOffice 26.8 series for this release. The package pages show 26.8.1.1 as the stable build and 26.8.2.2 in testing at the time of writing. Those version numbers will keep moving, so check what your own mirror serves.

This guide covers the two supported installation routes (RPM through DNF, and Flatpak), the choices that come after them, a headless setup for servers, and the failures that show up in practice.

Choosing an Install Method

RPM from Fedora repositories versus Flatpak

Fedora gives you two sensible paths. They differ in ways that affect daily use.

Factor DNF (RPM) Flatpak (Flathub)
Integration with system fonts and themes Native Good, but through the sandbox
Update path dnf upgrade with the rest of the OS flatpak update separately
Disk footprint Smaller, shares system libraries Larger, bundles a runtime
File access Full user permissions Restricted by portals and permissions
Headless and scripting use Straightforward Awkward, needs flatpak run
Version timing Tied to Fedora’s package cycle Can follow upstream sooner
Rollback dnf history and downgrade flatpak update --commit=

Use the RPM on workstations you control, and on any machine that does document conversion. The sandbox is the main reason to choose Flatpak: it is useful when a user opens untrusted documents all day, or when you want the newest upstream release without waiting for Fedora packaging.

Don’t install both on the same machine without a reason. Two copies of the suite create two profile directories, two sets of file associations and a long afternoon of wondering why a setting didn’t stick. Pick one.

A quick check before installing

Confirm the release and the state of your system first. A half-updated Fedora produces strange dependency errors that look like LibreOffice problems and aren’t.

cat /etc/fedora-release
sudo dnf upgrade --refresh

If a kernel or glibc update arrives, reboot before continuing. Skipping this step is the most common cause of “package conflicts” reports that vanish after a restart.

Then see whether the suite is already present. Some spins and the Workstation image include parts of it.

rpm -qa | grep -i libreoffice

No output means a clean slate.

Installing LibreOffice with DNF

The full suite in one command

Fedora 45 uses DNF5 as its package manager, and the syntax for ordinary installs is unchanged from older releases.

sudo dnf install libreoffice

That metapackage pulls in the main applications: Writer, Calc, Impress, Draw and Math, plus the core libraries and the English language support. Review the transaction summary before pressing y. The download is usually a few hundred megabytes once dependencies are counted.

Base (the database front end) is split out and needs Java. It is deliberately not part of the default install on many systems. If you want it, add it explicitly (the next section covers this).

Picking only what you need

Not every machine needs the whole suite. A kiosk, a lightweight VM or a container that only converts spreadsheets can do with far less. Fedora splits the suite into per-application subpackages, so you can install them individually:

sudo dnf install libreoffice-writer libreoffice-calc libreoffice-impress

Common subpackages worth knowing:

  • libreoffice-writer for word processing
  • libreoffice-calc for spreadsheets
  • libreoffice-impress for presentations
  • libreoffice-draw for diagrams and PDF editing
  • libreoffice-math for formula editing
  • libreoffice-base for database work

To see what is available on your mirror:

dnf search libreoffice

The Fedora package pages confirm this split, listing separate entries such as libreoffice-writer and a long run of libreoffice-langpack-* packages. A smaller install trims attack surface, shortens update times and saves disk space on constrained systems. In a fleet of 200 thin clients, that adds up.

Adding Base and Java support

If users need the database component, or macros that rely on Java, install both:

sudo dnf install libreoffice-base java-latest-openjdk

You can check whether LibreOffice sees the runtime from Tools > Options > LibreOffice > Advanced. If the Java list is empty, restart the application after installing. If it is still empty, see the troubleshooting section.

Verifying the installation

Don’t assume. Check.

rpm -q libreoffice-core
libreoffice --version

The first command prints the exact RPM build. The second prints the application version. Mismatches between them usually mean an old Flatpak or a manually unpacked tarball is shadowing the system package earlier in your PATH. That does happen.

To confirm where the binary is coming from:

which -a libreoffice soffice

Then launch it from the terminal once, instead of the app grid. Terminal launch prints warnings that the GUI hides, and a first run is the best time to see them.

libreoffice --writer

Installing LibreOffice as a Flatpak

Setting up Flathub

Fedora Workstation ships with Flatpak support. Flathub may be enabled during first-boot setup, depending on how you configured third-party repositories. On Server or minimal installs, set it up yourself:

sudo dnf install flatpak
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

Installing and running

flatpak install flathub org.libreoffice.LibreOffice
flatpak run org.libreoffice.LibreOffice

Updates come through Flatpak, not DNF:

flatpak update

Sandbox permissions that bite people

The sandbox is the whole point. It is also the source of the classic complaint: “LibreOffice can’t see my external drive” or “my network share doesn’t show in the file dialog.”

Inspect and adjust permissions with:

flatpak info --show-permissions org.libreoffice.LibreOffice
flatpak override --user --filesystem=/mnt/shared org.libreoffice.LibreOffice

Grant only the paths required. Handing it --filesystem=host removes most of the isolation you chose Flatpak for. On a shared box, a narrow override such as a single project directory is the sensible default.

To see what was overridden later:

flatpak override --user --show org.libreoffice.LibreOffice

Fonts are the other friction point. The Flatpak sees system fonts through a read-only path, but not everything shows up. If a custom font in ~/.local/share/fonts is missing, run fc-cache -f and restart the app.

After Installation: Settings That Matter

Language packs and spell checking

By default you get English. Indonesian, German, Brazilian Portuguese and dozens more ship as separate packages. Fedora’s naming is consistent: libreoffice-langpack- followed by the language code. The package pages list examples such as libreoffice-langpack-pt-BR, -hu, -tr and -te.

sudo dnf install libreoffice-langpack-id
sudo dnf install hunspell-id

The second line adds the spell-check dictionary. People often install the interface translation and then wonder why spell check still flags every word. The dictionary is a separate package, and the interface language doesn’t change the document language. For documents, set the language under Tools > Options > Language Settings > Languages.

To switch the UI language, go to Tools > Options > Language Settings > Languages > User interface, and restart. If the language isn’t in the dropdown, the langpack isn’t installed.

Fonts: the real compatibility story

Layout fidelity with Microsoft Office documents is mostly a font problem, not a LibreOffice problem. If a document uses Calibri and the machine lacks it, a substitute with different glyph widths takes over, and every line break shifts.

Install the metric-compatible families:

sudo dnf install google-carlito-fonts google-crosextra-caladea-fonts liberation-fonts
fc-cache -f

Carlito matches Calibri’s metrics, Caladea matches Cambria, and the Liberation set covers Arial, Times New Roman and Courier New. Metric compatibility means the page reflows the same way even though the letterforms differ slightly. For a client who sends forty-page contracts and checks the page count, this is the difference between a smooth exchange and an angry email.

Confirm what fontconfig resolves:

fc-match Calibri
fc-match Cambria

Both should return Carlito and Caladea respectively.

Setting default file associations

On GNOME, open Settings > Apps > Default Apps, or set associations from the shell. For example, to make .docx open in Writer:

xdg-mime default libreoffice-writer.desktop application/vnd.openxmlformats-officedocument.wordprocessingml.document
xdg-mime default libreoffice-calc.desktop application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
xdg-mime default libreoffice-impress.desktop application/vnd.openxmlformats-officedocument.presentationml.presentation

Verify with:

xdg-mime query default application/vnd.openxmlformats-officedocument.wordprocessingml.document

For a Flatpak install, the desktop file names differ, so check flatpak list and the exported entries under /var/lib/flatpak/exports/share/applications/.

Default save format and autosave

In an office with mixed software, saving in .docx and .xlsx by default saves a lot of friction. Set it under Tools > Options > Load/Save > General. Turn on “Save AutoRecovery information every” and set it to a short interval, say five minutes. On a laptop that sleeps unpredictably, that setting has rescued more work than any backup policy.

Running LibreOffice Headless on a Server

Why bother

Many production environments never open the GUI. They use LibreOffice as a converter: invoices to PDF, uploaded .docx files to previews, spreadsheets to CSV. A web application hands a file to a worker, the worker calls soffice, and a PDF comes back.

A minimal install is enough for this:

sudo dnf install libreoffice-writer libreoffice-calc libreoffice-impress

If you need only a single format family, install only that subpackage. Less code on the box is less to patch.

A basic conversion

soffice --headless --convert-to pdf --outdir /srv/out /srv/in/report.docx

Batch several files in one invocation, which saves startup time:

soffice --headless --convert-to pdf --outdir /srv/out /srv/in/*.docx

Concurrency, profiles and why conversions hang

This is where real-world experience matters. A single LibreOffice user profile is not safe for parallel instances. Launch two conversions at once with the same profile and one will silently do nothing, or hang while it waits on a lock. The logs are rarely helpful.

The fix is to give each worker its own profile directory:

soffice -env:UserInstallation=file:///tmp/lo_worker1 --headless --convert-to pdf --outdir /srv/out /srv/in/a.docx

For heavy traffic, run a small pool of long-lived listeners instead of paying the startup cost per request. A cold start of the suite can take one to three seconds on modest hardware. Under a traffic spike, say a month-end billing run with thousands of documents, that cost multiplies quickly. Queue the jobs, cap the number of concurrent workers, and add a timeout:

timeout 120 soffice -env:UserInstallation=file:///tmp/lo_w2 --headless --convert-to pdf --outdir /srv/out /srv/in/big.xlsx

A runaway conversion on a malformed spreadsheet can hold a CPU core and gigabytes of RAM until something kills it. A timeout is a cheap safeguard. A systemd unit with MemoryMax= and CPUQuota= is a better one.

Hardening the conversion service

Treat every uploaded document as hostile. Office files can carry macros, external links and malformed structures aimed at parsers.

  • Run the worker as a dedicated unprivileged user with no login shell.
  • Disable macro execution. In the profile, set the macro security level to Very High, or ship a locked-down registrymodifications.xcu.
  • Use systemd sandboxing options such as ProtectSystem=strict, PrivateTmp=yes, NoNewPrivileges=yes and ReadWritePaths= limited to the working directories.
  • Block outbound network access for the unit with IPAddressDeny=any where document links should never be fetched.
  • Keep SELinux in enforcing mode. Fedora ships it that way, and disabling it to quiet one denial is a poor trade.

A sample unit fragment:

[Service]
User=lo-worker
PrivateTmp=yes
ProtectSystem=strict
ProtectHome=yes
NoNewPrivileges=yes
ReadWritePaths=/srv/out /var/tmp/lo
MemoryMax=2G
CPUQuota=150%
IPAddressDeny=any

Test this with a real sample set before relying on it. Overly strict sandboxing can break font loading or temp-file creation, and you want to learn that in staging.

Updates, Rollbacks and Maintenance

Keeping the suite patched

With the RPM install, LibreOffice updates arrive with everything else:

sudo dnf upgrade --refresh

Check available updates without applying them:

dnf check-upgrade

Security fixes in document parsers are routine, so don’t let a conversion server sit unpatched for months. Enable automatic updates through dnf5-plugin-automatic or your configuration management tool, or schedule a weekly maintenance window. Choose whichever fits the machine’s role.

The upstream project also keeps maintenance releases flowing. The 26.2 series, for instance, just reached its final update with 26.2.7, which fixed 20 bugs. Fedora 45 itself tracks the 26.8 branch, so the maintenance cadence you see in DNF follows that line.

Rolling back a bad update

Occasionally, a new build introduces a regression in a feature you depend on. Fedora makes recovery manageable.

dnf history list
sudo dnf history undo <transaction-id>

Or downgrade a single package set:

sudo dnf downgrade 'libreoffice-*'

Downgrades only work if the older build is still available in the repositories or your local cache. Don’t count on it for long. For production, keep a local mirror or a snapshot (Btrfs snapshots are native on Fedora Workstation’s default layout) so you can revert on your own schedule.

Removing LibreOffice cleanly

sudo dnf remove 'libreoffice*'
sudo dnf autoremove

User settings live in your home directory, not in the package. To wipe them as well:

rm -rf ~/.config/libreoffice

Back up first if you have custom macros, templates or dictionaries. For a Flatpak, the equivalent is flatpak uninstall --delete-data org.libreoffice.LibreOffice.

Troubleshooting Common Problems

“Nothing provides…” or dependency conflicts

Usually a stale metadata cache or a partial upgrade.

sudo dnf clean all
sudo dnf upgrade --refresh
sudo dnf install libreoffice

If the conflict names a third-party repository package (RPM Fusion, Copr, or a vendor repo), disable that repo temporarily to test:

sudo dnf install libreoffice --disablerepo=<repo-id>

The application won’t start, or crashes at launch

Corrupt profiles cause more launch failures than broken installs. Try safe mode first:

libreoffice --safe-mode

It offers to reset the user profile in pieces. If that doesn’t help, rename the profile directory and let the app rebuild it:

mv ~/.config/libreoffice ~/.config/libreoffice.bak

Check the journal for crashes and graphics errors:

journalctl --user -b | grep -i soffice

If the crash happens right after the window appears, disable hardware acceleration by setting SAL_USE_VCLPLUGIN=gen for a test launch, or toggle Skia off from safe mode.

Missing menu items or “Java is required”

Install the runtime and restart:

sudo dnf install java-latest-openjdk

Then go to Tools > Options > LibreOffice > Advanced and select the JRE. Only Base and a handful of extensions truly need it, so don’t install Java just to quiet a warning you can ignore.

Documents look wrong compared to Word

Check fonts first, using fc-match as shown earlier. Next, look at compatibility options in Tools > Options > LibreOffice Writer > Compatibility. If the layout still differs, save the original as .docx again from Word with fonts embedded, or ask the sender for a PDF when exact pagination matters.

Flatpak cannot access files or drives

Review permissions with flatpak info --show-permissions and add the required path. If a document opens but won’t save to the target folder, the portal may be blocking write access, and an override fixes it.

Headless conversion produces no output

Work through the usual suspects in order:

  1. Another instance holds the same profile. Use a unique -env:UserInstallation per worker.
  2. The output directory doesn’t exist or isn’t writable by the service user.
  3. SELinux denied the write. Check sudo ausearch -m avc -ts recent.
  4. The process was killed for running out of memory. Check journalctl -k | grep -i oom.
  5. A zombie soffice.bin from a previous run is hanging around. Use pgrep -a soffice and clean up.

SELinux denials

Don’t turn SELinux off. Read the denial, then decide.

sudo ausearch -m avc -ts recent
sudo sealert -a /var/log/audit/audit.log

Most issues come from custom paths. Label them properly with semanage fcontext and restorecon rather than loosening policy.

Spell check or language problems

Confirm both the langpack and the Hunspell dictionary are installed. Then check the document’s language attribute, which overrides the global setting. If you’re working with mixed-language text, set the character language per paragraph or style.

r00t is an experienced Linux enthusiast and technical writer with a passion for open-source software. With years of hands-on experience in various Linux distributions, r00t has developed a deep understanding of the Linux ecosystem and its powerful tools. He holds certifications in SCE and has contributed to several open-source projects. r00t is dedicated to sharing her knowledge and expertise through well-researched and informative articles, helping others navigate the world of Linux with confidence.

Related Posts