What is the prefered way of updating all software in a Fedora installation?

When I install some system, I usually look for a bulk update method, one that will update my recently-installed software.

For example, in Debian, that would be changing the sources.list to point to what I want, and executing # apt-get update && apt-get dist-upgrade.

Is there an equivalent to this in Fedora (18)? Is there a GUI upgrade manager that I am missing?

A message in Gnome popped up that my system requires important updates. I dismissed it, as the only option it had presented me with was “Install updates”, and I wasn’t quite sure what would that do.

Now, the message has disappeared, and I cannot find it, not any software it might have been connected with.

What am I missing here?

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

Before Fedora 17

None of the Red Hat distros prior to Fedora 17 included the ability to do dist-upgrades as you’ve asked. This had been a long discussed option on many peoples’ wish list but had never been implemented.

But before we start a clarification…

According to the Upgrading topic in the wiki, there was a method
where you could put a DVD in your system for the next version of
Fedora, and Anaconda would attempt to upgrade your system. Having
tried this method on numerous occasions I would not consider this to
be on par with the dist-upgrade available in the Debian/Ubuntu
distros which actually worked very well.

Additionally having maintained RHEL, Fedora & CentOS systems for over the past decade, I would never even consider using this method for anything. It simply did not work.

So typically people would do one of the following:

Rawhide

Use the Rawhide release, which is the bleeding edge version, similar to how Sid is in Debian. Rawhide offers rolling releases in the sense that it always has the latest versions of packages, but it’s by no means meant to be used as a day to day distro, it’s really meant only for testing.

Stay with a single release

Just live with this fact and stay up to date as long as the distro stayed around, using yum. You can use yum to both apply any pending updates and/or update a single package. Additionally, yum can be used to install new packages too.

Apply all pending updates (assumes yes to all prompts):

sudo yum -y update

Update a single package:
sudo yum -y update apache*

Install a new package:
sudo yum -y install apache*

Software Update Applet

If you want to perform updates using a GUI you can use the software updater tool that shows up in your taskbar. This tool essentially does the same thing as the yum -y update above, and can be run on demand using the following command:

gpk-update-viewer

Re-install

As a new version comes out, you’d manually do a fresh install and take care to copy any data and configurations forward to the new system.

PreUpgrade

Make use of PreUpgrade tool. This tool essentially just collected your setups and the names of the packages you installed and would assist you in applying them to a new installation. See @JoelDavis’ answer for this technique as well.

NOTE: This is no longer an option starting with Fedora 18 though so you’ve been warned.

Fedora 17 and after

Beginning with 17 you can now do rolling releases.

FedUp

New in Fedora 17/18 is a tool called FedUp (FEDora UPgrader) which purports to do “dist-upgrades” similar to Debian/Ubuntu distros.

FedUp (FEDora UPgrader) is the name of a new system for upgrading
Fedora installs in Fedora 18 and above releases. It replaces all of
the currently recommended upgrade methods (PreUpgrade and DVD) that
have been used in previous Fedora releases. Anaconda, the Fedora
installer does have not any in-built upgrade functionality in Fedora
18 or above releases. It has been completely delegated to Fedup.

Currently, FedUp is capable of upgrading Fedora 17 installs to Fedora
18 using a networked repository, similar to how PreUpgrade worked.
More methods for upgrade are currently planned and this page will be
updated as those features are completed.

Rolling Releases vs. Versioned Releases

The OP asked a follow-up question where he wanted me to elaborate on the following phrase:

“Beginning with 17 you can now do rolling releases.”

When I made that comment I meant one thing and the phrase “rolling releases” really means something else. When I wrote that I meant “rolling release” to mean that you could now roll from one point release of Fedora (say 17) to version 18. Most distros such as Debian & Ubuntu provide this facility now.

However in looking up the description of what “rolling releases” actually means on wikipedia, I’m now more educated on the subject.

excerpt from wikipedia

… a rolling release or rolling update development model refers to a
continually developing software system; this is instead of a standard
release development model which uses software versions that must be
reinstalled over the previous version. Rolling software, instead, is
continually updated, in contrast to standard release software which is
upgraded between versions. …

So from a purists standpoint, Debian, Ubuntu, Fedora, are not “rolling releases”. They are point standard released software that provide tools to assist in the upgrading from one point release to another.

The OP also asked the following question

Debian is only “kind of” rolling release if you use Sid. Rolling
release = no versions, packages are just dumped into the distro from
the upstream ASAP, right? So Debian is the complete opposite of a
rolling release, Ubuntu as well. Fedora Rawhide is also kind-of a
rolling release, but I already knew that (and don’t want to use it, if
that’s what you were referring to).

Just so that it’s clear to any future readers. Even the development branches of Debian (aka. Sid) and Fedora (aka. Rawhide) are not “rolling releases”. Sure you can use them as such but they are merely a development “area” where new packages of software that may be incorporated into a future release can be presented to the community in a centralized way.

The level of testing that would go into a package being placed in one of these branches is less stringent than say when a package shows up as an update in a true “rolling release” distro such as ArchLinux (would be my expectation).

Here’s the section of the wikipedia page that covers the use of development branches for standard release distros:

The distinction between rolling release software distributions and
development branches of standard release software distributions is
often overlooked by users inexperienced with rolling distributions.
This can lead to confused comments, such as: “distro-X is a rolling
distribution if you use its development branch” — where distro-X is a
standard release distribution. Even in rare cases where the
development branch is a rolling (versus the more common cyclical)
development branch, this does not make the distribution rolling.
Unlike standard release distributions, rolling release distributions
do not have development branches.

Method 2

You can use

yum update (to upgrade all packages )

and

yum update <packageName> (to update individual installed packages)

This works on a Fedora and/or CentOS and/or Redhat EL systems

You can also use

yum install <packagename> or yum install <RPM Name or web path> (to install packages on these systems as well)

There is an application called Software Updater that provides a GUI but yum is actually very efficient and pretty intuitive.

If you have any questions about what switches you can run with yum you can use
yum --help

Method 3

Although I found no online page that would describe this, the # apt-get
upgrade
alternative on Fedora seems to be # yum update.

From the man pages of yum:

update — If run without any packages, update will update every
currently
installed package. If one or more packages or package globs are
specified, Yum will only update the listed packages. While
updating packages, yum will ensure that all dependencies are
satisfied. (See Specifying package names for more information)
If the packages or globs specified match to packages which are
not currently installed then update will not install them.
update operates on groups, files, provides and filelists just
like the “install” command.

Method 4

Generally, when going to a new version, I’ll generally do a full re-install of the system. I have found updating packages in place to be quite problematic and the amount of time spent in debugging the problems there are more complex than doing a reinstall.


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments