Keeping the operating system up-to-date is important as updates contain bugfixes, performance improvements, security patches, and others. In the case of Linux, keeping the system updated mostly means keeping all the installed packages up-to-date.

Offline updating is an interesting concept when a system needs to be updated but without any reliable internet connection. In such a situation, the update packages are manually downloaded from a different source and applied to the offline machine.

In this guide, check out how to offline update the Fedora workstation.

Offline update Fedora

Fedora is a modern-day Linux distro with robust package management. Thanks to its package managers (DNF and YUM), it’s possible to update Fedora without any internet connection. However, for the best possible experience, the offline machine may have to be connected to the internet for a brief period of time.

It’s strongly recommended to use the CLI for updating Fedora offline.

Grabbing the Package Update List

The first step is to determine which packages have updates available. For this step only, it’s necessary to have an internet connection to the system.

Package update list using YUM:

The following YUM command will list all the packages that have updates available.

$ yum repoquery –upgrade –queryformat ‘%{name}.%{arch}’

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/1-1.jpg" data-lazy- height="473" src="data:image/svg xml,” width=”1366″>

For the next step, we need this list exported to a text file.

$ yum repoquery –upgrade –queryformat ‘%{name}.%{arch}’ > update_list.txt

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/2-1.jpg" data-lazy- height="132" src="data:image/svg xml,” width=”1366″>

Package update list using DNF:

The following DNF command will list all the packages that have updates available.

$ dnf repoquery –upgrade –queryformat ‘%{name}.%{arch}’

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/3-1.jpg" data-lazy- height="475" src="data:image/svg xml,” width=”1366″>

Export the list to a text file.

$ dnf repoquery –upgrade –queryformat ‘%{name}.%{arch}’ > update_list.txt

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/4-2.jpg" data-lazy- height="135" src="data:image/svg xml,” width=”1366″>

Package list using RPM:

If an internet connection isn’t available, then an alternative strategy is to grab the list of all the installed packages and work with it. Of course, this method will significantly increase the length of the process. It’s not recommended and follow only if you have to.

Grab all the installed packages in a nice format.

$ rpm -qa –queryformat “%{NAME}n

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/5-1.jpg" data-lazy- height="376" src="data:image/svg xml,” width=”1366″>

Export this list to a text file.

$ rpm -qa –queryformat “%{NAME}n > update_list.txt

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/6-1.jpg" data-lazy- height="114" src="data:image/svg xml,” width=”1366″>

Downloading Packages

Now, it’s time to download the desired packages. Export the text file containing the list of packages to download, load it on a different Fedora machine, and follow any of the following methods to download them.

First, check whether the text file contains only the package list, and nothing else.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/7-1.jpg" data-lazy- height="624" src="data:image/svg xml,” width=”1366″>

Download update packages using YUM:

The following YUM command will download the packages listed on the text file and store them in the directory specified. To avoid any issue related to dependencies, use the “–resolve” flag.

$ yum download –resolve $(cat update_list.txt) –downloaddir=


<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/8.jpg" data-lazy- height="521" src="data:image/svg xml,” width=”1366″>

Download update packages using DNF:

Similar to YUM, the following DNF command will download and store all the packages (and dependencies) on the specific directory.

$ dnf download –resolve $(cat update_list.txt) –downloaddir=“”

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/9.jpg" data-lazy- height="475" src="data:image/svg xml,” width=”1366″>

Installing the Updates

Finally, it’s time to update the offline machine. Export the update packages to the offline system and follow either of the following methods to install the RPM packages.

Install updates using YUM:

The following command will install all the RPM packages using YUM.

$ sudo yum install /<path_to_rpm>/*.rpm

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/10.jpg" data-lazy- height="549" src="data:image/svg xml,” width=”1366″>

Install updates using DNF:

The following command will install all the RPM packages using DNF.

$ sudo dnf install /<path_to_rpm>/*.rpm

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/11.jpg" data-lazy- height="552" src="data:image/svg xml,” width=”1366″>

Final Thoughts

It’s a complete guide on how to offline update Fedora workstation. This method will work on any modern version of Fedora, and it’s not a difficult task at all.

The only downside to this approach is the time and effort it requires. While the manual task is minimal, the most time-consuming part is downloading and installing all those RPM packages (especially if the list is too long).

Happy computing!

About the author

<img alt="Sidratul Muntaha" data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/profile-photo-1-150×150.jpg601cb2ae57dad.jpg" height="112" src="data:image/svg xml,” width=”112″>

Sidratul Muntaha

Student of CSE. I love Linux and playing with tech and gadgets. I use both Ubuntu and Linux Mint.