Software needs to be broken down into different files to ease development and management. An application ends up being lots of pieces: the binaries, the documentation and the resources the application needs (images, icons, translations, sounds, etc.). A package is the set of all of an application's components, stored in a single file in a way that's very simple to install, update and remove.
Applications rely on software libraries or components made by different developers to perform a given set of functions, not part of the main function but needed to achieve it. A dependency is a package another package needs in order to work properly. Mandriva Linux's package management tool takes care of all these dependencies automatically.
Software is a living thing: new features are added, existing features are enhanced and problems (bugs) are fixed. An update is a package which brings in some or all of these enhancements or fixes into an existing application. It is recommended that you check for updates often in order to keep your system in good shape and free from bugs and security threats.
A source is a repository of packages, and the place where packages are installed from. Sources for the media used during system installation are automatically created, you can add your own sources for updates and packages you find on the Internet.
Mandriva Linux uses the RPM packaging system. Mandriva Linux provides convenient tools to simplify package maintenance. The Urpmi set of tools is command line based; here we will concentrate on Rpmdrake, Mandriva Linux's graphical software installation tool and the Software Media Manager. Figure 7.1, “Software Management in the Mandriva Linux Control Center” shows the Software Management section of Mandriva Linux Control Center.
Rpmdrake can be used to install or remove software (explained in Section 7.1, “Adding and Removing Software”) or to update existing software (explained in Section 7.2, “Updating Packages”). Media management is covered in Section 7.3, “The Software Media Manager”. You can use Package Stats to get some statistics about the usage of installed packages on your system: use this advanced information to help you decide whether to remove a package or not, for example, if you need more disk space.