| Home Up |
Q: Okay, I am convinced that RPM-based package management is
worth exploring, but my (Unix|Linux|BSD|whatever) distribution
does not ship a version already pre-built which I can just install. I have looked everywhere, and it is just not available. What should I do?
RPM may well have already been ported to your platform. Look there. If so, retrieve it, install it, and you are on your way. But sometimes it is not yet ported, or the port is stale, or you have the 'itch' to do it yourself. If so, read on. (p.s., also subscribe to and read an RPM related mailing list for a couple of weeks. The 'install question' is often re-asked <grin> -- take notes and write them up, and send them to us, and they may just appear here.) Unix is a tool-builder's culture; compare this with the more graphical Apple and Windows environments, which are tool-users cultures, at the mercy of largely anonymous third parties to 'add a button' to their desktop. Unix folks can reshape the computer's actions, to work the way THEY want to work. ... So ... you acquire the RPM source code, freely available from the RPM FTP site, and try to uncompress it and unpack it into a source code directory structure. The tools used to uncompress (gzip, actually, its gunzip incantation) and unpack (tar), are themselves also freely available (if not already 'ported' to your operating system version), developed and honed to be 'best of breed', and available for free at an FTP site maintained by volunteers of the Free Software Foundation. Yep, free, gratis, costing nothing but the time to retrieve and install it. Again, part of the Free *nix culture. The tools we want are tar (aka, gnutar on some Unices, such as HP-UX 10.x), and gzip. While it is fun, and some enjoy working through building a toolchain and getting the proper 'library headers' and compiler for your system, the process of doing so is far beyond the scope of this piece. If you need help, seek out the local guru at your datacenter, or ask the support list of your operating system vendor or packager. Once you have a working compiler toolchain, compile the RPM source files. It is as simple changing directories where you gunzipped and untarred the sources [you though we forgot mentioning them,ehhh?], and typing: ... Well -- Sometimes. The rpm database then needs to be initialized. [: "rpm --initdb" will completely REMOVE any content previously in the RPM database -- If used on an already- populated database, all prior content will be GONE, FOREVER. Wow: both <blink> and <font color> tags: I feel ... and we are then ready to go to work populating it with packages, built under the RPM system -- the rpmbuild command in the RPM package will help; setting up a local build tree, and building new packages as an end (non-root) user account is the preferred approach, so that an errant (or malicious) .spec file cannot destroy your system. Rebuilding your toolchain to place it under RPM management is probably a good 'next' project. See, for example, the Linux via RPM project for a worked example. Please consider documenting the process, and any pitfalls which you encounter, and how you surmounted them for your platform; send an account here, and we'll see to publishing it. Good Luck ! Last updated: Thu, 1 Aug 2002 01:16:38 -0400 |