Open Source

SolutionBase: How Yumex makes a better Linux updater than yum

The <i style='mso-bidi-font-style:normal'>yum</i> tool is one of the most common utilities used to keep Linux up to date. The problem: It doesn't always work correctly. Jack Wallen shows how Yumex can be a good alternative.

I have been dealing with Red Hat based Linux distributions for a long time. For most of that time, the Red Hat Package Management system (RPM) was the way I installed, removed, and updated packages. I still use RPM, but only when yum fails me, which is rare — except of late. Fortunately, yum isn't the only answer when it comes to keeping Linux up to date.

Illustrating the problem

One of the recent updates with KDE boggled my mind. When I attempt to run yum update, I am given every package that has an update, of which many KDE packages are available for said update. So I run the update, only to have it bail on me with a severe number of KDE issues. When it bails, I get this response:

Transaction Check Error:  file /etc/kderc from install of kdebase-3.5.6-0.1.fc6 conflicts with file from package kde-config-3.5-15.fc6

  file /usr/share/config/clockappletrc from install of kdebase-3.5.6-0.1.fc6 conflicts with file from package kde-config-3.5-15.fc6

  file /usr/share/config/kcmnspluginrc from install of kdebase-3.5.6-0.1.fc6 conflicts with file from package kde-config-3.5-15.fc6

  file /usr/share/config/kdeglobals from install of kdebase-3.5.6-0.1.fc6 conflicts with file from package kde-config-3.5-15.fc6

  file /usr/share/config/kdesktoprc from install of kdebase-3.5.6-0.1.fc6 conflicts with file from package kde-config-3.5-15.fc6

  file /usr/share/config/kickerrc from install of kdebase-3.5.6-0.1.fc6 conflicts with file from package kde-config-3.5-15.fc6

  file /usr/share/config/konquerorrc from install of kdebase-3.5.6-0.1.fc6 conflicts with file from package kde-config-3.5-15.fc6

  file /usr/share/config/ksplashrc from install of kdebase-3.5.6-0.1.fc6 conflicts with file from package kde-config-3.5-15.fc6

  file /usr/share/config/kwinrc from install of kdebase-3.5.6-0.1.fc6 conflicts with file from package kde-config-3.5-15.fc6

  file /usr/share/config/profilerc from install of kdebase-3.5.6-0.1.fc6 conflicts with file from package kde-config-3.5-15.fc6

The problem above is long and complicated. The primary issue deals with the livna repository for yum. I use livna for a number of packages (such as the nvidia drivers). Some of the livna packages conflict with the Fedora base packages. So, when you update with one, you can mess up updating some of the others. So now, when I run yum update the packages that could update without fail won't because of the KDE issues. Of course I could use the exclude= flag by running:

yum update —exclude kdebase —exclude kdenetwork —exclude kdelibs

Of course, that is not only tedious, but requires me to know exactly every application causing the problem and every application that depends upon the application causing the problem.

So, what do you do when you know there are updates you need?

You could turn to a GUI front-end like Yumex. Yumex is a graphical front-end similar to Synaptic (Debian's front-end to the apt package management system). Fedora is the distribution of choice for Yumex, but it can be run on any distribution that uses yum. Yumex allows the user to point-and-click their way to selecting repositories, packages, and groups. With Yumex, the end-user will never have to hand-edit the /etc/yum.repository directory again. This is a boon to those who don't want to have to learn yet another system to keep their Linux box up to date.

Installation

You are already using a yum-based distribution because you want to use Yumex. As root, run the command:

yum install yumex

Running Yumex

When you invoke Yumex (from the command line run yumex as root), you will see the Profile-selector box, as seen in Figure A.

Figure A

This box allows you to select a profile to use.

From the profile box, you can select a few options. Here, you can opt to run Yumex in debug mode should you have problems, which comes in handy when Yumex gives exception due to a faulty repository. Once you have made your selections, you will be greeted with the main Yumex window. Select the repositories you wish to work from. Figure B illustrates how simple it is to select from a long list of repository to use.

Figure B

Each repository has a solid description that will help you make your choice.

A nice feature you won't find in any of the documentation is the ability to add a new repository from within the graphical screen. If you right-click the window where the repository is listed, you will get a New/Edit/Delete dialog. Select New; after giving the new repository a name, you will see the box shown in Figure C.

Figure C

Even after you name the new repository, you can still edit the tag/name in the edit repository window.

After you name the new repository, the main edit window will appear. Here you will have to add the following information:

  • URL Type
  • URL
  • GPG Key
  • Flags

From the perspective of the Linux community, if you are intending to make the repository available to the public, you certainly should include a GPG Key. Without a GPG Key, no one will know if they can trust the source.

Once you have selected the repository you want to use for your update, save this as a profile that can be selected at start up. There could be many instances when there are only certain packages you want to update. Being able to select various profiles could expedite this process quite a bit. To save a profile, simply select the Profiles menu and press Save. You should probably create a new profile first; otherwise, you will simply overwrite the default. Take a look at Figure D, where I have added new profiles to choose from.

Figure D

I have created profiles for a machine name (maryjanecapri), Web tools, and graphical tools.

Once you have created a new profile, select that profile, make your changes, and save the profile. Now, the next time you run Yumex, you can select which profile you want to work from before Yumex is up and running.

Groups

One of the nicest features of Yumex is its grouping of packages. If you look at the main window, you'll see the Groups icon on the left pane. If you click on that you'll see categories and descriptions. In Figure E, I have selected the Administration Tools subgroup of the Base System group.

Figure E

Having everything grouped together makes selecting updates far easier.

If you right-click an entry in the groups, you can add that entry into the queue for installation or update. You will know if a package is a recent addition by the presence of a green "+" symbol.

Update

If you press the Update icon from the left pane, you will see a listing of all package updates available. The good news is that if there are a ton of updates, you don't have to point-and-click your way to carpal tunnel; simply press Select All. You can then either add them to the queue (for later processing), or add and process them immediately. If you press Add to Queue, you can continue on to find other packages to install.

Install

The install view is a view of all packages available for installation. Install does not group packages together, nor does it give priority to packages that are available for upgrade. Understand that there may be (depending on how many repositories you have selected) a lot of packages to choose from. This is a good and a bad thing. Fortunately, it's only a bad thing if you don't take advantage of the Groups window. When you find a package you want to install, select the check box to the left of its name and Add To Queue.

Queue

Once you have added everything to the queue you wish to add, press the Queue button to show what is ready to install or upgrade, as seen in Figure F.

Figure F

As you can see, I am installing KoboDeluxe, Maelstrom, NetHack, and NetHack Vultures.

From within the Queue window, press the Process Queue button to start the process of updating and installing. Yumex will quickly report what it is going to do and then check for dependencies. The next step is the download and processing of the installations and upgrades.

Removing

Naturally, removing packages is just as easy as installing. By opening the Remove window (click on the Remove icon) you will see a listing of all packages installed (via yum) on your machine. Select the check box by the package you want removed and add the package to the queue, just as in installation. Of course, Yumex will warn you if you are about to break a dependency. Should a package break a dependency, you can back out of removal and take the package off the queue.

Final thoughts

Yumex is just the right front end for the very powerful, but sometimes overwhelming package management system: yum. If the thought of command-line installation is a bit much for you or your users, install and get to know Yumex; it will make your Linux life a lot more efficient.

About Jack Wallen

Jack Wallen is an award-winning writer for TechRepublic and Linux.com. He’s an avid promoter of open source and the voice of The Android Expert. For more news about Jack Wallen, visit his website jackwallen.com.

Editor's Picks

Free Newsletters, In your Inbox