Welcome!

Linux Containers Authors: Elizabeth White, Eric Robertson, Derek Weeks, Lori MacVittie, Liz McMillan

Related Topics: Linux Containers

Linux Containers: Article

Fedora Software

Yum, Extras, and the Unfree

Excerpted in part from Red Hat Fedora and Enterprise Linux 4 Bible by Christopher Negus (Wiley Publishing, 2005)

In its Fedora Core Linux system, the Red Hat-sponsored Fedora Project aims to only include software that is Open Source and free of reasonable patent claims. As a result, at random intervals, an article or mailing list post will exclaim how Fedora sucks because it doesn't have xyz media player, certain file system support, or other favorite that's in some other Linux.

Despite the fact that Red Hat sometimes seems bent on making money, proponents of the free and Open Source software movement can feel relatively safe that no one will hide code or sue them for using Fedora Core. But if not having a piece of software that's in some other Linux (or Windows) system is keeping you from switching to Fedora, then there may be a simple answer. You might just need to know where to look and what to do.

Adding Software to Fedora
Fedora is a great foundation on which to build a free cutting-edge desktop or personal server system. With Fedora Core 4, Red Hat has finally done more with Fedora than make it a testbed for Red Hat Enterprise Linux. It has put tools and projects in place to let outside initiatives package and distribute almost any Open Source software for Fedora.

Of course, you can go straight to a software project site (try Sourceforge.net) to download and build the software you want yourself. But a lot of people prefer to have dependencies already worked out, a central mechanism for tracking bugs, and the ability to manage software with RPM tools. So, they look for software that's already in RPM format.

While the underlying RPM tools and database on a Fedora system are excellent for installing, querying, and removing individual packages, they weren't intended for working with software repositories. For Fedora, the tool of choice is the Yellow Dog Updater Modified more commonly referred to as yum.

There are several features that have made yum such an effective tool for getting and updating the software you use with Fedora:

  • Repositories: By configuring yum to look to online repositories for packages you request, you don't need to have the software package you want already on your hard disk or CD. Fedora Core 4 comes already configured to point to online repositories for Fedora Core and Fedora Extras (more on that later). So all you have to do is ask for any packages from those two areas with yum to have the packages you want downloaded and installed.
  • Dependencies: Not only does yum get the packages you request, but it also finds any dependent packages you need to get requested packages to work. So, request package A and yum asks you if you also want to install required packages B, C, and D as well. Say yes, and yum will download and install them all.
  • Updates and Upgrades: As security fixes and bug fixes become available, the Fedora Project adds updated packages to yum repositories. A single yum command can get the latest update for some or all of your packages. Yum also supports upgrades, where obsolete packages are removed.
While yum and software repositories (both official and unofficial sites) have been around for a while, the whole process only started working well in Fedora Core 4. That's because Red Hat put a good structure in place where added software can expand out from the Core.

Expanding from Fedora Core
The Fedora Project wants to keep Fedora Core to a reasonable size. So far, reasonable has meant four binary software CDs (although FC5 in testing has, at the moment, spilled over to five CDs). For those who want a reliable foundation and a set of CDs that can be distributed without costing too much (even four is a lot to include with a book), the approach makes sense.

But what about the software that's left out to make room for the latest whatever-is-starting-to-get-hot-for-enterprise software? Maybe you liked Abiword or ncftp and don't want to figure out how to get it and maintain it yourself when it moved out of Core. Most of those packages aren't gone...they've just moved into Fedora Extras.

Fedora Extras packages are available for FC3 and FC4. Both i386 and 64-bit Extras RPMs are available for both releases, while PowerPC versions are available for FC4 as well.

Fedora Core aims to include packages that fit in - in other words, software with localized user interface and accessibility support; software that integrates with other Fedora Core software, without duplicating functionality. As a result, Extras includes extra applications that duplicate stuff already in Core (such as window managers, audio players, and so on) or are more recreational (like games).

Because Fedora Extras, like Fedora Core, meets Fedora Project guidelines (Open Source and patent issues), yum in FC4 is pre-configured to grab packages from Fedora Extras. You must set up yum yourself to use outside repositories.

Yum for Fedora Core and Extras
With a connection to the Internet and Fedora Core 4 installed you can install any packages from Fedora Core or Extras using yum, with no additional configuration. Here's how to find out what's available:

  • Fedora Core: Open the Package Management utility by running system-config-packages (Desktop -> System Settings -> Add/Remove Packages). Next to each category of software, select Details to see which packages are and are not installed. Then install packages from an FC4 CD using that window or get packages using yum.
  • Fedora Extras: To find packages available for Fedora Extras, start at the Fedora Project wiki (http://fedoraproject/wiki/Extras). You can elect to see a list of packages for your Fedora release (FC3 or FC4) and architecture (i386, x86_64, or PPC).
If you encounter an RPM on the Web that doesn't describe the package available, you can use the rpm command to list its contents. Just copy and paste the address of the package to an rpm -qp -i command. For example:

# rpm -qp -i http://fedoraproject.org/extras/4/i386/clamav-0.87.1-1.fc4.i386.rpm

To install a package from Fedora Core or Extras, you need to run yum as the root user from a shell. Here's an example of yum to install the clamav package from Fedora Extras:

# yum install clamav

Select yes and clamav and dependent packages download and install. Instead of clamav, use any package name from the yum repositories. To check for updates to an installed package, use check-update:

# yum check-update clamav

If an update to the package is available, use yum with the update option as follows:

# yum update clamav

To check for updates for packages installed in Fedora - do this after you first install Fedora - type the following:

# yum check-update

If you want to update all the packages with available updates, type the following:

# yum update

Yum can also list available packages, as well as those that are already installed. To see a list of all packages available for download from the repositories you have set up, type:

# yum list | less

Adding less lets you scroll through the list (it could be long, depending on your repositories). This first lists installed packages, then packages still available from the repositories. Adding the -C option to yum uses cached repository information, which can make it run faster, but may not result in the latest information.

If you try to install a package and it fails with a message like "package xyzpackage needs xyzfile (not provided)" check for packages that include the missing file using the provides option:

# yum provides missingfile

With provides, yum searches your repositories for the file you entered (instead of missingfile) and returns the name of the packages that include that file. To search software descriptions in repositories for a particular string, use the search option. For example, this searches for arcade in any package description (you'll find some games with this search):

# yum search arcade

More Stories By Chris Negus

Chris Negus is the author of the best-selling Red Hat Linux Bible series, Red Hat Fedora and Enterprise Linux 4 Bible, Linux Toys II, Linux Bible 2006 Edition, and Linux Troubleshooting Bible.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


@ThingsExpo Stories
Why do your mobile transformations need to happen today? Mobile is the strategy that enterprise transformation centers on to drive customer engagement. In his general session at @ThingsExpo, Roger Woods, Director, Mobile Product & Strategy – Adobe Marketing Cloud, covered key IoT and mobile trends that are forcing mobile transformation, key components of a solid mobile strategy and explored how brands are effectively driving mobile change throughout the enterprise.
Smart Cities are here to stay, but for their promise to be delivered, the data they produce must not be put in new siloes. In his session at @ThingsExpo, Mathias Herberts, Co-founder and CTO of Cityzen Data, discussed the best practices that will ensure a successful smart city journey.
WebRTC sits at the intersection between VoIP and the Web. As such, it poses some interesting challenges for those developing services on top of it, but also for those who need to test and monitor these services. In his session at WebRTC Summit, Tsahi Levent-Levi, co-founder of testRTC, reviewed the various challenges posed by WebRTC when it comes to testing and monitoring and on ways to overcome them.
For basic one-to-one voice or video calling solutions, WebRTC has proven to be a very powerful technology. Although WebRTC’s core functionality is to provide secure, real-time p2p media streaming, leveraging native platform features and server-side components brings up new communication capabilities for web and native mobile applications, allowing for advanced multi-user use cases such as video broadcasting, conferencing, and media recording.
The best-practices for building IoT applications with Go Code that attendees can use to build their own IoT applications. In his session at @ThingsExpo, Indraneel Mitra, Senior Solutions Architect & Technology Evangelist at Cognizant, provided valuable information and resources for both novice and experienced developers on how to get started with IoT and Golang in a day. He also provided information on how to use Intel Arduino Kit, Go Robotics API and AWS IoT stack to build an application tha...
Every successful software product evolves from an idea to an enterprise system. Notably, the same way is passed by the product owner's company. In his session at 20th Cloud Expo, Oleg Lola, CEO of MobiDev, will provide a generalized overview of the evolution of a software product, the product owner, the needs that arise at various stages of this process, and the value brought by a software development partner to the product owner as a response to these needs.
SYS-CON Events announced today that MobiDev, a client-oriented software development company, will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place June 6-8, 2017, at the Javits Center in New York City, NY, and the 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. MobiDev is a software company that develops and delivers turn-key mobile apps, websites, web services, and complex softw...
DevOps is being widely accepted (if not fully adopted) as essential in enterprise IT. But as Enterprise DevOps gains maturity, expands scope, and increases velocity, the need for data-driven decisions across teams becomes more acute. DevOps teams in any modern business must wrangle the ‘digital exhaust’ from the delivery toolchain, "pervasive" and "cognitive" computing, APIs and services, mobile devices and applications, the Internet of Things, and now even blockchain. In this power panel at @...
Internet of @ThingsExpo, taking place June 6-8, 2017 at the Javits Center in New York City, New York, is co-located with the 20th International Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. @ThingsExpo New York Call for Papers is now open.
Web Real-Time Communication APIs have quickly revolutionized what browsers are capable of. In addition to video and audio streams, we can now bi-directionally send arbitrary data over WebRTC's PeerConnection Data Channels. With the advent of Progressive Web Apps and new hardware APIs such as WebBluetooh and WebUSB, we can finally enable users to stitch together the Internet of Things directly from their browsers while communicating privately and securely in a decentralized way.
The cloud market growth today is largely in public clouds. While there is a lot of spend in IT departments in virtualization, these aren’t yet translating into a true “cloud” experience within the enterprise. What is stopping the growth of the “private cloud” market? In his general session at 18th Cloud Expo, Nara Rajagopalan, CEO of Accelerite, explored the challenges in deploying, managing, and getting adoption for a private cloud within an enterprise. What are the key differences between wh...
WebRTC has had a real tough three or four years, and so have those working with it. Only a few short years ago, the development world were excited about WebRTC and proclaiming how awesome it was. You might have played with the technology a couple of years ago, only to find the extra infrastructure requirements were painful to implement and poorly documented. This probably left a bitter taste in your mouth, especially when things went wrong.
IoT is at the core or many Digital Transformation initiatives with the goal of re-inventing a company's business model. We all agree that collecting relevant IoT data will result in massive amounts of data needing to be stored. However, with the rapid development of IoT devices and ongoing business model transformation, we are not able to predict the volume and growth of IoT data. And with the lack of IoT history, traditional methods of IT and infrastructure planning based on the past do not app...
"LinearHub provides smart video conferencing, which is the Roundee service, and we archive all the video conferences and we also provide the transcript," stated Sunghyuk Kim, CEO of LinearHub, in this SYS-CON.tv interview at @ThingsExpo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
With major technology companies and startups seriously embracing IoT strategies, now is the perfect time to attend @ThingsExpo 2016 in New York. Learn what is going on, contribute to the discussions, and ensure that your enterprise is as "IoT-Ready" as it can be! Internet of @ThingsExpo, taking place June 6-8, 2017, at the Javits Center in New York City, New York, is co-located with 20th Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry p...
"There's a growing demand from users for things to be faster. When you think about all the transactions or interactions users will have with your product and everything that is between those transactions and interactions - what drives us at Catchpoint Systems is the idea to measure that and to analyze it," explained Leo Vasiliou, Director of Web Performance Engineering at Catchpoint Systems, in this SYS-CON.tv interview at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York Ci...
The 20th International Cloud Expo has announced that its Call for Papers is open. Cloud Expo, to be held June 6-8, 2017, at the Javits Center in New York City, brings together Cloud Computing, Big Data, Internet of Things, DevOps, Containers, Microservices and WebRTC to one location. With cloud computing driving a higher percentage of enterprise IT budgets every year, it becomes increasingly important to plant your flag in this fast-expanding business opportunity. Submit your speaking proposal ...
Discover top technologies and tools all under one roof at April 24–28, 2017, at the Westin San Diego in San Diego, CA. Explore the Mobile Dev + Test and IoT Dev + Test Expo and enjoy all of these unique opportunities: The latest solutions, technologies, and tools in mobile or IoT software development and testing. Meet one-on-one with representatives from some of today's most innovative organizations
20th Cloud Expo, taking place June 6-8, 2017, at the Javits Center in New York City, NY, will feature technical sessions from a rock star conference faculty and the leading industry players in the world. Cloud computing is now being embraced by a majority of enterprises of all sizes. Yesterday's debate about public vs. private has transformed into the reality of hybrid cloud: a recent survey shows that 74% of enterprises have a hybrid cloud strategy.
SYS-CON Events announced today that Super Micro Computer, Inc., a global leader in Embedded and IoT solutions, will exhibit at SYS-CON's 20th International Cloud Expo®, which will take place on June 7-9, 2017, at the Javits Center in New York City, NY. Supermicro (NASDAQ: SMCI), the leading innovator in high-performance, high-efficiency server technology, is a premier provider of advanced server Building Block Solutions® for Data Center, Cloud Computing, Enterprise IT, Hadoop/Big Data, HPC and E...