Loading...
Loading

Latest Hosting Posts


Rating:(0 votes cast)
Source Code and RPM Packages – Understanding the Difference and Choosing your Route
2005-02-14 by  Thomas Brenneke
shareShare |submitSubmit |rssRSS|printPrint|CommentsComments

Loading...
loading

Often times a system administrator faces the task of installing a utility or application. This article is intended to address the common questions system administrators have regarding the differences between installing services and applications from source code and package management perspectives in a Linux environment.  For the purpose of this article we will be discussing a Red Hat Enterprise Linux environment.

For those unfamiliar with the fundamental differences, the following definitions may assist -

Source Code:  Often present in downloadable form with a .bz2 or .gz extension, these compressed archives contain the header and library files that have yet to be compiled.  Once extracted from the compressed archive, these files can be modified to your liking, and then compiled on the system they are intended to be used.  The compiled output results in a binary (executable).

RPM:  A system of package management which is often present in downloadable form with an .rpm extension, these packages contain the already compiled files for your particular system.  RPM packages are put together and designed to extract all libraries, configuration files and binaries into their intended locations.

Lets now take a look at the pros/cons of compiling from source vs. using a precompiled package.

 

Source Code

 

ProsCons
Utilize bleeding edge technologiesRequires knowledge of command line
Ability to modify code before compilingNeed understanding of compile debugging
Build applications as you see fitMay run into a plethora of dependencies

 

RPM (Package Management)

ProsCons
Easy installationBig programs fit most common needs
No knowledge of source compiling required Limited access to bleeding edge releases
Packages managed by Linux distributorUnable to build program as you see fit
Current RPM technologies take care of installation time dependencies 

Source code does require a level of understanding as to the structure of compile time antics.  Often times a configure script may error out due to missing libraries, however, it will usually go so far as to tell you where you may obtain the necessary files to complete the build.

The biggest benefit of compiling from source is the ability to pick and choose how your program is built.  In other words, you as the administrator get to decide which modules and add-ons will be built into the program, allowing you to build a lightweight service, or a bloated ‘everything' installation.

PHP is a great example of the beauty of compiling your own service from source.  A typical packaged version of PHP will contain a significant array of compiled in functions, most of which you may never find a use for.  By compiling PHP from source, you have access to dozens of different compile time modules giving you the flexibility of choice.  You may find a requirement for function XYZ, which a prepackaged version of PHP did not support - in a source scenario you can quickly recompile PHP and add-in the necessary module.

A common misconception of using package management systems results from the nomenclature methods used by Linux distributors such as Red Hat.  For example, the current PHP package for Red Hat Enterprise Linux is 4.3.2.  The misconception is that this package is several versions off of the current 4.x release at www.php.net (4.3.10) and therefore is an insecure and outdated solution.

If you take a look at the actual package name of the current red hat release, it will list 4.3.2-19, which indicates that there have been 19 different significant updates made by the Red Hat developers to this PHP package.  These updates will have included any and often times more updates and changes that have been made since the latest official source release.

In the world of system administration, both source code and package management have a home.  Source code is a wonderful solution in public service environments, where public services are exposed to internet traffic on a routine basis.  They allow for a more scrutinized and massaged implementation of the service in question.  On the other hand, package management allows for a system administrator to manage thousands of different utilities and services, with very little effort.

I find a combination of both technologies to be the best method of administering a linux server.  Let the package management solution handle the hundreds of various utilities and programs that make up your system, and compile your core utilities and programs such as Apache, MySQL/PHP and BIND from source.

If you have any questions or concerns regarding this article, please do not hesitate to contact me directly.

DiggDigg 
RedditReddit 
shareShare
news Buffer
Author
Thank you for this informative articles. It is really true that the internet is becoming an important thing for many people because it is a place to make new friends, have fun, get valuble information, and even make your own website!you can use it to spread a message you think is important. Cyberspace is an absolutely amazing place.There is something on it for everyone. You can make friends who live on the other side of the world. You can play lots of really good games. You can use it to help you learn, you can read interesting stories,you can get answers to your questions,you can even use it to help others.So, you see, the internet is remarkable but its true that you need to be carefull what site you visit. Only go to good websites, and your online experience will be a very pleasent one. Also,you can use the internet to do good. I have found another good articles about the internet manual. You can look it up at pdfph.com. Hope this helps.
Santosh Shrivastava - May 6th, 2010
It was an excellent learning experience many thanksBrainPulseWeb Hosting in India
Samson Hollier - May 29th, 2010
Very nice articles. Internet is a global network connecting millions of computers.Thanks for sharing this! I found anothergood articles about internet manuals at askdiana.net
video on demand - June 16th, 2010
Well, I think the main reason of the evolution is nothing but, the rise of the media, and telecom sector, and internet as well. When communication expands, its sources automatically developed, in order to provide better user experience.
jacy india - July 15th, 2010
very nice article very well explained thanks for the post..keep postingCheap Seo Services
Oyunlar - July 17th, 2010
Very nice articles. Internet is a global network connecting millions of computers.
sunbizar - July 18th, 2010
Every affiliate marketer is always looking for the successful market that gives the biggest paycheck. Sometimes they think it is a magic formula that is readily available for them. Actually, it is more complicated than that. It is just good marketing practices that have been proven over years of hard work and dedication.There are tactics that have worked before with online marketing and is continuing to work in the online affiliate marketing world of today.
Johny - September 3rd, 2010
Well, I think the main reason of the evolution is nothing but, the rise of the media, and telecom sector, and internet as well.mario Oyunları zeka Oyunları
ambrish - February 11th, 2011
technology had driven now to common peoples
Logicspice - May 12th, 2011
I agree with you, Before five year in my home town (Sambhar Lake) Mobile Phone Signaland Broadband connection are available, But now In Sambhar more than 8 Mobile phone Tower. All most Everybody is using mobile phone there.
Linux VPS - May 25th, 2011
The emerging technologies and optimization will make sure that even advanced technologies can be used by small scale organizations.
W3Origin - April 6th, 2012
Selection of a right hosting company matters, these articles really helps a lot to get information about an effective hosting company. Many many thanks for the wonderful information, we are an SEO India we need these information to keep up to date ourselves.
CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.