Installing lots of software in a computer system is not an easy task to be done manually. The real problem is managing updates and upgrades. Quite often in order to have some software installed you need some other software this programs depend on installed too. This are the so called "dependencies". Package manager software won't let you install a program unless the prerequisite stuff is also installed in your system, well,unless you really force the package manager to do so which might be fine if you are an experienced user and you know what your doing. It's also useful to have the system tell you what the prerequisites for a software package are and if the package manager is smart enought to install this dependencies from a CD or by downloading the from the Internet you'll be really thankful for this kind of system maintenance software.
A package manager install software extracting it from a package. A packagetipically contains pre-compiled executable files as well as companion datafiles so the user doesn't have to compile everything in her own system. Data in a package is almost always compressed so the size of the file is shrinked for saving network bandwidth or media storage capacity.
Also included with the package there is metadata, that is, information about the information the package contains. This is usually very useful. If the package contains a list of the individual files you're supossed to be installing and this information gets loaded into some sort of system's database then the package manager will be able to tell you if some of you're installed packages is missing any of it's files. This metadata is the key to performing some other nice tricks: for instance, you can tell which package a file comes from by having the package manager look it up
in the database.
Finally, when you want to upgrade your system to a newer version of the OS, having this database of package names, versions, pre-requisites and the like is instrumental to download from the Internet or your media the required package files to install. Everything can be done automatically if you're using the right tool.
There certainly are other things to know about package management but this blog post is only intented to show you what the idea is about so you can learn more if you're interested. Since Linux is increasingly important, if you're an IT person this knowledge will be helpful.
Friday, August 3, 2007
Subscribe to:
Posts (Atom)