CINXE.COM
Linux Distributions Compared | Linux Journal
<!DOCTYPE html> <html lang="en" dir="ltr" prefix="content: http://purl.org/rss/1.0/modules/content/ dc: http://purl.org/dc/terms/ foaf: http://xmlns.com/foaf/0.1/ og: http://ogp.me/ns# rdfs: http://www.w3.org/2000/01/rdf-schema# schema: http://schema.org/ sioc: http://rdfs.org/sioc/ns# sioct: http://rdfs.org/sioc/types# skos: http://www.w3.org/2004/02/skos/core# xsd: http://www.w3.org/2001/XMLSchema# " class="no-js wf-loading"> <head> <meta charset="utf-8" /> <meta name="Generator" content="Drupal 9 (https://www.drupal.org)" /> <meta name="MobileOptimized" content="width" /> <meta name="HandheldFriendly" content="true" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <link rel="icon" href="/themes/linuxjournal/favicon.ico" type="image/vnd.microsoft.icon" /> <link rel="canonical" href="https://www.linuxjournal.com/article/139" /> <link rel="shortlink" href="https://www.linuxjournal.com/node/139" /> <title>Linux Distributions Compared | Linux Journal</title> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/align.module.css?smwnh4" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/fieldgroup.module.css?smwnh4" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/container-inline.module.css?smwnh4" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/clearfix.module.css?smwnh4" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/details.module.css?smwnh4" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/hidden.module.css?smwnh4" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/item-list.module.css?smwnh4" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/js.module.css?smwnh4" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/nowrap.module.css?smwnh4" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/position-container.module.css?smwnh4" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/progress.module.css?smwnh4" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/reset-appearance.module.css?smwnh4" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/resize.module.css?smwnh4" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/sticky-header.module.css?smwnh4" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/system-status-counter.css?smwnh4" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/system-status-report-counters.css?smwnh4" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/system-status-report-general-info.css?smwnh4" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/tablesort.module.css?smwnh4" /> <link rel="stylesheet" media="all" href="/core/modules/system/css/components/tree-child.module.css?smwnh4" /> <link rel="stylesheet" media="all" href="/modules/contrib/poll/css/poll.base.css?smwnh4" /> <link rel="stylesheet" media="all" href="/modules/contrib/poll/css/poll.theme.css?smwnh4" /> <link rel="stylesheet" media="all" href="/core/modules/views/css/views.module.css?smwnh4" /> <link rel="stylesheet" media="all" href="/modules/contrib/webform/modules/webform_bootstrap/css/webform_bootstrap.css?smwnh4" /> <link rel="stylesheet" media="all" href="/libraries/shariff/shariff.complete.css?smwnh4" /> <link rel="stylesheet" media="all" href="/themes/linuxjournal/css/style.css?smwnh4" /> <link rel="stylesheet" media="all" href="/themes/linuxjournal/css/fonts.css?smwnh4" /> <!-- <script defer src="https://use.fontawesome.com/releases/v5.0.9/js/all.js" integrity="sha384-8iPTk2s/jMVj81dnzb/iFR2sdA7u06vHJyyLlAd4snFpCl/SnyUjRrbdJsw1pGIl" crossorigin="anonymous"></script>--> <script> // Non-blocking webfonts. (function iife() { 'use strict'; // JS is able to start executing. document.documentElement.classList.remove('no-js'); // Optimization for Repeat Views // Stop early for repeat views that have already cached fonts. if (sessionStorage.fontsLoadedLateef && sessionStorage.fontsLoadedOpensans /* && sessionStorage.fontsLoadedNEWFONT */) { document.documentElement.classList.remove('wf-loading'); document.documentElement.classList.add('wf-opensans'); document.documentElement.classList.add('wf-lateef'); // document.documentElement.classList.add('wf-NEWFONT'); return; } // Inlined Font Face Observer script + Promise polyfill. /*! Font Face Observer v2.0.13 - © Bram Stein. License: BSD-3-Clause */ (function(){'use strict';var f,g=[];function l(a){g.push(a);1==g.length&&f()}function m(){for(;g.length;)g[0](),g.shift()}f=function(){setTimeout(m)};function n(a){this.a=p;this.b=void 0;this.f=[];var b=this;try{a(function(a){q(b,a)},function(a){r(b,a)})}catch(c){r(b,c)}}var p=2;function t(a){return new n(function(b,c){c(a)})}function u(a){return new n(function(b){b(a)})}function q(a,b){if(a.a==p){if(b==a)throw new TypeError;var c=!1;try{var d=b&&b.then;if(null!=b&&"object"==typeof b&&"function"==typeof d){d.call(b,function(b){c||q(a,b);c=!0},function(b){c||r(a,b);c=!0});return}}catch(e){c||r(a,e);return}a.a=0;a.b=b;v(a)}} function r(a,b){if(a.a==p){if(b==a)throw new TypeError;a.a=1;a.b=b;v(a)}}function v(a){l(function(){if(a.a!=p)for(;a.f.length;){var b=a.f.shift(),c=b[0],d=b[1],e=b[2],b=b[3];try{0==a.a?"function"==typeof c?e(c.call(void 0,a.b)):e(a.b):1==a.a&&("function"==typeof d?e(d.call(void 0,a.b)):b(a.b))}catch(h){b(h)}}})}n.prototype.g=function(a){return this.c(void 0,a)};n.prototype.c=function(a,b){var c=this;return new n(function(d,e){c.f.push([a,b,d,e]);v(c)})}; function w(a){return new n(function(b,c){function d(c){return function(d){h[c]=d;e+=1;e==a.length&&b(h)}}var e=0,h=[];0==a.length&&b(h);for(var k=0;k<a.length;k+=1)u(a[k]).c(d(k),c)})}function x(a){return new n(function(b,c){for(var d=0;d<a.length;d+=1)u(a[d]).c(b,c)})};window.Promise||(window.Promise=n,window.Promise.resolve=u,window.Promise.reject=t,window.Promise.race=x,window.Promise.all=w,window.Promise.prototype.then=n.prototype.c,window.Promise.prototype["catch"]=n.prototype.g);}()); (function(){function l(a,b){document.addEventListener?a.addEventListener("scroll",b,!1):a.attachEvent("scroll",b)}function m(a){document.body?a():document.addEventListener?document.addEventListener("DOMContentLoaded",function c(){document.removeEventListener("DOMContentLoaded",c);a()}):document.attachEvent("onreadystatechange",function k(){if("interactive"==document.readyState||"complete"==document.readyState)document.detachEvent("onreadystatechange",k),a()})};function r(a){this.a=document.createElement("div");this.a.setAttribute("aria-hidden","true");this.a.appendChild(document.createTextNode(a));this.b=document.createElement("span");this.c=document.createElement("span");this.h=document.createElement("span");this.f=document.createElement("span");this.g=-1;this.b.style.cssText="max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;";this.c.style.cssText="max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;"; this.f.style.cssText="max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;";this.h.style.cssText="display:inline-block;width:200%;height:200%;font-size:16px;max-width:none;";this.b.appendChild(this.h);this.c.appendChild(this.f);this.a.appendChild(this.b);this.a.appendChild(this.c)} function t(a,b){a.a.style.cssText="max-width:none;min-width:20px;min-height:20px;display:inline-block;overflow:hidden;position:absolute;width:auto;margin:0;padding:0;top:-999px;white-space:nowrap;font-synthesis:none;font:"+b+";"}function y(a){var b=a.a.offsetWidth,c=b+100;a.f.style.width=c+"px";a.c.scrollLeft=c;a.b.scrollLeft=a.b.scrollWidth+100;return a.g!==b?(a.g=b,!0):!1}function z(a,b){function c(){var a=k;y(a)&&a.a.parentNode&&b(a.g)}var k=a;l(a.b,c);l(a.c,c);y(a)};function A(a,b){var c=b||{};this.family=a;this.style=c.style||"normal";this.weight=c.weight||"normal";this.stretch=c.stretch||"normal"}var B=null,C=null,E=null,F=null;function G(){if(null===C)if(J()&&/Apple/.test(window.navigator.vendor)){var a=/AppleWebKit\/([0-9]+)(?:\.([0-9]+))(?:\.([0-9]+))/.exec(window.navigator.userAgent);C=!!a&&603>parseInt(a[1],10)}else C=!1;return C}function J(){null===F&&(F=!!document.fonts);return F} function K(){if(null===E){var a=document.createElement("div");try{a.style.font="condensed 100px sans-serif"}catch(b){}E=""!==a.style.font}return E}function L(a,b){return[a.style,a.weight,K()?a.stretch:"","100px",b].join(" ")} A.prototype.load=function(a,b){var c=this,k=a||"BESbswy",q=0,D=b||3E3,H=(new Date).getTime();return new Promise(function(a,b){if(J()&&!G()){var M=new Promise(function(a,b){function e(){(new Date).getTime()-H>=D?b():document.fonts.load(L(c,'"'+c.family+'"'),k).then(function(c){1<=c.length?a():setTimeout(e,25)},function(){b()})}e()}),N=new Promise(function(a,c){q=setTimeout(c,D)});Promise.race([N,M]).then(function(){clearTimeout(q);a(c)},function(){b(c)})}else m(function(){function u(){var b;if(b=-1!= f&&-1!=g||-1!=f&&-1!=h||-1!=g&&-1!=h)(b=f!=g&&f!=h&&g!=h)||(null===B&&(b=/AppleWebKit\/([0-9]+)(?:\.([0-9]+))/.exec(window.navigator.userAgent),B=!!b&&(536>parseInt(b[1],10)||536===parseInt(b[1],10)&&11>=parseInt(b[2],10))),b=B&&(f==v&&g==v&&h==v||f==w&&g==w&&h==w||f==x&&g==x&&h==x)),b=!b;b&&(d.parentNode&&d.parentNode.removeChild(d),clearTimeout(q),a(c))}function I(){if((new Date).getTime()-H>=D)d.parentNode&&d.parentNode.removeChild(d),b(c);else{var a=document.hidden;if(!0===a||void 0===a)f=e.a.offsetWidth, g=n.a.offsetWidth,h=p.a.offsetWidth,u();q=setTimeout(I,50)}}var e=new r(k),n=new r(k),p=new r(k),f=-1,g=-1,h=-1,v=-1,w=-1,x=-1,d=document.createElement("div");d.dir="ltr";t(e,L(c,"sans-serif"));t(n,L(c,"serif"));t(p,L(c,"monospace"));d.appendChild(e.a);d.appendChild(n.a);d.appendChild(p.a);document.body.appendChild(d);v=e.a.offsetWidth;w=n.a.offsetWidth;x=p.a.offsetWidth;I();z(e,function(a){f=a;u()});t(e,L(c,'"'+c.family+'",sans-serif'));z(n,function(a){g=a;u()});t(n,L(c,'"'+c.family+'",serif')); z(p,function(a){h=a;u()});t(p,L(c,'"'+c.family+'",monospace'))})})};"object"===typeof module?module.exports=A:(window.FontFaceObserver=A,window.FontFaceObserver.prototype.load=A.prototype.load);}()); // Load and observe Lateef var Lateef = new FontFaceObserver('Lateef', {weight: 400}); Promise.all([Lateef.load()]).then(function() { document.documentElement.classList.remove('wf-loading'); document.documentElement.classList.add('wf-lateef'); // Optimization for Repeat Views // Set a flag in localstorage so repeat views can skip processing FFO. sessionStorage.fontsLoadedLateef = true; }); // Load and observe Open Sans var os300 = new FontFaceObserver('Open Sans', {weight: 300}); var os400 = new FontFaceObserver('Open Sans', {weight: 400}); Promise.all([os300.load(), os400.load()]).then(function() { document.documentElement.classList.remove('wf-loading'); document.documentElement.classList.add('wf-opensans'); // Optimization for Repeat Views // Set a flag in localstorage so repeat views can skip processing FFO. sessionStorage.fontsLoadedOpensans = true; }); // Load and observe NEWFONT /* var NEWFONT = new FontFaceObserver('NEWFONT', {weight: 400}); Promise.all([NEWFONT.load()]).then(function() { document.documentElement.classList.remove('wf-loading'); document.documentElement.classList.add('wf-NEWFONT'); // Optimization for Repeat Views // Set a flag in localstorage so repeat views can skip processing FFO. sessionStorage.fontsLoadedNEWFONT = true; }); */ })(); </script> <script src="https://www.google.com/recaptcha/api.js" async defer></script> <script src=https://slashdot.org/country.js></script> <script src="/themes/linuxjournal/js/ada.js"></script> <script src="/themes/linuxjournal/js/accessibility.js"></script> <script>window.addEventListener('load', function() { new Accessibility(); });</script> <script src="//a.fsdn.com/con/js/sftheme/cmp2.js"></script> <link rel="stylesheet" href="//a.fsdn.com/con/css/sftheme/sandiego/cmp.css" type="text/css"> <link rel="stylesheet" href="/themes/linuxjournal/css/ccpa.css" type="text/css"> <script>window.bizx.cmp.init({ geo: window });</script> <script> function bm_trace() { (function (w,d,t) { _ml = w._ml || {}; _ml.eid = '771'; var s, cd, tag; s = d.getElementsByTagName(t)[0]; cd = new Date(); tag = d.createElement(t); tag.async = 1; tag.src = 'https://ml314.com/tag.aspx?' + cd.getDate() + cd.getMonth(); s.parentNode.insertBefore(tag, s); })(window,document,'script'); } bizx.cmp.ifConsent('', ['all', 'bombora'],bm_trace); </script> </head> <body class="path-node page-node-type-xmlnode has-glyphicons"> <a href="#main-content" class="visually-hidden focusable skip-link"> Skip to main content </a> <div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas> <div id="wrap"> <div class="leader-wrapper" id="leader-wrapper"> </div> <div class="brand-wrapper" id="brand-wrapper"> <div class="brand container"> <div class="region region-brand"> <a class="logo navbar-btn" href="/" title="Home" rel="home"> <h1><img src="/themes/linuxjournal/images/ljlogo.png" alt="Linux Journal" /></h1> </a> <section id="block-topbannernearlogo" class="block block-block-content block-block-contenta8e75a3d-967c-416d-8944-4015d1f90a84 clearfix"> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><a href="https://www.windriver.com/products/elxr-pro?utm_source=ba&utm_medium=pa&utm_campaign=ba-dg-amer-awa-vsmf-eLxrProLau_lin_dis_09172024"><img alt="Windriver eLxrPro" data-entity-type="file" data-entity-uuid="8ba04368-7803-4329-a196-dc1ea780ec2a" src="/sites/default/files/inline-images/WindRiver-eLxrPro_0.png" width="728" height="90" loading="lazy" /></a></div> </section> </div> </div> <div class="header-wrapper"> <header class="navbar navbar-default container" id="navbar" role="banner"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <div id="navbar-collapse" class="navbar-collapse collapse"> <div class="region region-navigation-collapsible"> <section id="block-linuxjournal-main-menu" class="block block-system block-system-menu-blockmain clearfix navbar__menu col-xs-12 col-sm-8"> <ul class="menu menu--main nav navbar-nav"> <li class="expanded dropdown first"> <a href="/" class="dropdown-toggle" data-toggle="dropdown" data-drupal-link-system-path="<front>">Topics+ <span class="caret"></span></a> <ul class="dropdown-menu"> <li class="first"> <a href="/tag/cloud">Cloud</a> </li> <li> <a href="/tag/containers" data-drupal-link-system-path="taxonomy/term/978">Containers</a> </li> <li> <a href="/tag/desktop">Desktop</a> </li> <li> <a href="/tag/kernel" data-drupal-link-system-path="taxonomy/term/662">Kernel</a> </li> <li> <a href="/tag/mobile">Mobile</a> </li> <li> <a href="/tag/networking">Networking</a> </li> <li> <a href="/tag/privacy">Privacy</a> </li> <li> <a href="/tag/programming">Programming</a> </li> <li> <a href="/tag/security" data-drupal-link-system-path="taxonomy/term/31">Security</a> </li> <li> <a href="/tag/servers">Servers</a> </li> <li class="last"> <a href="/tag/sysadmin" data-drupal-link-system-path="taxonomy/term/21">SysAdmin</a> </li> </ul> </li> <li> <a href="/news" data-drupal-link-system-path="news">News</a> </li> <li class="last"> <a href="/books" data-drupal-link-system-path="books">eBooks</a> </li> </ul> </section> <section class="search-block-form block block-search block-search-form-block clearfix navbar__search col-xs-12 col-sm-4 col-md-4 col-md-offset-0" data-drupal-selector="search-block-form" id="block-linuxjournal-search" role="search"> <h2 class="block-title sr-only">Search</h2> <form action="/search/node" method="get" id="search-block-form" accept-charset="UTF-8"> <div class="form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group"> <label for="edit-keys" class="control-label sr-only">Search</label> <div class="input-group"><input title="Enter the terms you wish to search for." data-drupal-selector="edit-keys" class="form-search form-control" placeholder="Search" type="search" id="edit-keys" name="keys" value="" size="15" maxlength="128" /><span class="input-group-btn"><button type="submit" value="Search" class="button js-form-submit form-submit btn-primary btn icon-only" name=""><span class="sr-only">Search</span><span class="icon glyphicon glyphicon-search" aria-hidden="true"></span></button></span></div> <div id="edit-keys--description" class="description help-block"> Enter the terms you wish to search for. </div> </div> <div class="form-actions form-group js-form-wrapper form-wrapper" data-drupal-selector="edit-actions" id="edit-actions"></div> </form> </section> </div> </div> <div class="navbar-header"> <div class="region region-navigation"> <section id="block-mobilenavigation" class="block block-system block-system-menu-blockmenu-mobile-navbar clearfix col-xs-12 col-md-8 col-md-offset-2 col-lg-8 col-lg-offset-0 navbar__menu navbar__mobilenavigation"> <ul class="menu menu--menu-mobile-navbar nav"> <li class="first"> <a href="/news" data-drupal-link-system-path="news">News</a> </li> <li> <a href="/popular" data-drupal-link-system-path="popular">Popular</a> </li> <li class="last"> <a href="/recent" data-drupal-link-system-path="recent">Recent</a> </li> </ul> </section> </div> </div> </header> </div> </div> <div role="main" class="main-container container js-quickedit-main-content" id="main"> <div class="row"> <section class="col-sm-12"> <div class="highlighted"> <div class="region region-highlighted"> <div data-drupal-messages-fallback class="hidden"></div> </div> </div> <a id="main-content"></a> <div class="region region-content"> <h1 class="page-header"> <span>Linux Distributions Compared</span> </h1> <div data-history-node-id="139" class="row bs-2col-stacked node node--type-xmlnode node--view-mode-full"> <div class="col-sm-12 bs-region bs-region--top"> <div class="field field--name-field-tags field--type-entity-reference field--label-hidden field--items"> <div class="field--item"><div about="/tag/reviews" typeof="schema:Thing"> <h2><a href="/tag/reviews"> <div property="schema:name" class="field field--name-name field--type-string field--label-hidden field--item">Reviews</div> </a></h2> <span property="schema:name" content="Reviews" class="hidden"></span> </div> </div> </div> <div class="field field--name-node-author field--type-ds field--label-hidden field--item">by Bryan Phillippe</div> <div class="field field--name-node-post-date field--type-ds field--label-hidden field--item">on September 1, 1996</div> </div> <div class="col-sm-9 bs-region bs-region--left"> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><div lang="en" xml:lang="en"><div lang="en" xml:lang="en"><div><a></a></div><p>A Linux distribution is a package that contains the Linux kernel, application and utility programs and an installation method. While all distributions are based on the same or similar kernels and many of the same utilities, each distribution has something different to offer the consumer. Thus, while there really isn't a <span class="emphasis"><em>best</em></span> distribution, there are distributions that are better for different users. In this article, we attempt to offer you enough information so you can select the distribution best for you. </p><p>Is this a cop-out? Are we shirking our duty? It has become clear to us that it would be hard for <i>Linux Journal</i> to rank the distributions; our staff members have different personal favorite distributions and defend their choices rationally—occasionally even argumentatively. At <i>Linux Journal</i>, we use Linux extensively—nearly exclusively—and we still don't agree which distribution is the best. We have different priorities, skills, and expectations, and we believe this is true of our readers as well.</p><p>Before we get too deep into this review, note that as this is being written, the Linux 2.0 kernel is about to be released (the scheduled release date is June 9, 1996). This new kernel offers some major enhancements. (See the interview with Linus in this issue for details.) The distributions will surely be updated to take advantage of this new kernel. Look for an updated review in the special Buyer's Guide issue of <i>Linux Journal</i>, which will be out in February 1997.</p><p>Some of the descriptive text that originally appeared in the March 1996 review article has been removed. If you want to look at all the information presented in that issue, it is available on our web site, <a href="/issue/0023">/issue/0023</a>.</p></div><div lang="en" xml:lang="en"><div><a></a>Version Numbers</div><p>Many new Linux users confuse the version of the <span class="bold"><b>distribution</b></span> they are using with the version number of the <span class="bold"><b>kernel</b></span>. As mentioned above, the Linux kernel is just one of the many pieces of software needed to create an entire distribution. Each distribution uses version numbers of its own to keep track of the state of the entire distribution, which has more to do with the collection of programs than with the particular kernel involved. Indeed, many distributions have included two or more different kernel versions in one version of the distribution.</p><p>However, it's worth understanding the version numbers used for the Linux kernel itself, since the kernel is a key part of any Linux distribution. Kernel version numbers come in three parts: the <span class="bold"><b>major</b></span> version number, the <span class="bold"><b>minor</b></span> version number, and the <span class="bold"><b>patch-level</b></span>. The Linux kernel is being constantly developed by a large team of developers, and while they add new features, they occasionally introduce new bugs. To keep this from causing a problem for Linux users, the developers periodically dedicate several months to fixing bugs and creating a very robust, stable kernel. When this is done, a <span class="bold"><b>stable version</b></span> is released with an <span class="bold"><b>even</b></span>-numbered minor version number. The developers then begin adding features (and temporarily breaking things sometimes) to <span class="bold"><b>development versions</b></span> with <span class="bold"><b>odd</b></span>-numbered minor version numbers.</p><p>Unless you want to live on the “bleeding edge” of Linux development, you will probably want to stick with the latest stable kernel version. As of this writing, the latest stable kernel version is 2.0, but most distributions are based on the previous production kernel, which is 1.2.13.</p></div><div lang="en" xml:lang="en"><div><a></a>Value Added</div><p>Several vendors are adding value to existing distributions in various ways. For example, <a href="/files/linuxjournal.com/linuxjournal/articles/001/0139/0139s2.html">Caldera is adding commercial components to Red Hat Commercial Linux to create their Caldera Network Desktop</a>. Trans-Ameritech bases their value-added work on Slackware, trying to make it easier to install.</p></div><div lang="en" xml:lang="en"><div><a></a>Binary File Formats</div><p>One of the most common sources of confusion in the Linux world today involves binary file formats (See <a href="/files/linuxjournal.com/linuxjournal/articles/001/0139/0139s1.html">What is a binary file format?</a>). Most vendors have now switched from the older “a.out” binary file format to the new “ELF” binary file format.</p><p>ELF is the binary file format used by Unix System V Release 4, but that doesn't mean a Linux binary in the ELF file format is compatible with SVR4, nor does it mean that SVR4 binaries can run on Linux. The capability for Linux to run <span class="bold"><b>some</b></span> SVR3 and SVR4 binaries is provided by the <span class="bold"><b>BCS2</b></span> compatibility package, which most distributions include.</p><p>One of ELF's features is extensibility; with ELF, it is possible for developers to add features that weren't thought of when the format was first designed. For instance, one Linux developer has noted that he could add icons to ELF executables without breaking any software. Icons weren't considered when ELF was developed, but the format is extensible enough that they can be easily added.</p><p>But perhaps you don't care if you can add an icon to your ELF binary, or even if anyone else can. What does ELF do for you? Fundamentally, it makes life much easier for Linux developers. It also has a few esoteric features which make it practical to support some software under Linux that was previously impractical to support. So it gives you more and better software available for Linux.</p><p>What do we mean by <span class="bold"><b>based</b></span>?</p><p>ELF-based means the entire distribution or, at least, almost the entire distribution, consists of ELF binaries. Binaries in the a.out format are not provided with the system, or if they are provided, they either aren't part of the “core” of the system or they are not available in ELF format.</p><p>By contrast, “supports ELF” means that, while the distribution is partially or completely built of binaries in the a.out format, the ELF <span class="bold"><b>programming libraries</b></span> are included so that ELF binaries will also run.</p></div> <div lang="en" xml:lang="en"><div><a></a>Media</div><p>Many distributions are available solely on CD-ROM. There are several reasons for this:</p><div><ul type="disc"><li><p>So much software is available for Linux that it is impractical to provide it all on floppies.</p></li><li><p>It is much easier to install software from CD-ROM than to change floppies once a minute.</p></li><li><p>An inexpensive CD-ROM drive costs the same or less than the stack of floppies needed to install a complete Linux distribution.</p></li></ul></div><p>However, some distributions (including Debian, Red Hat, and Slackware) are available via FTP over the Internet in a form designed to fit on floppies.</p></div><div lang="en" xml:lang="en"><div><a></a>Copyright Considerations</div><p>Many distributions are freely available over the Internet, although only some are actively distributed in a way that makes it feasible to install them directly from the Internet. You should be aware that while distributors can restrict you from running commercial software components on more than one machine, they cannot restrict you from installing the base Linux software on multiple machines. A Linux distribution packaged in a form which cannot be installed without installing proprietary software under copyright licensing terms more strict than the GNU General Public License is probably in violation of copyright law.</p></div><div lang="en" xml:lang="en"><div><a></a>Missing Bugs</div><p>One thing you may notice missing from this overview is a list of bugs in each distribution. In general, we assume some noticeable bugs are inevitable in software that is evolving as quickly as Linux, and vendors will be responsive in tracking and eradicating bugs. If they aren't, word of mouth between users will be more effective than any sort of complaining on our part. We also want to avoid showing any bias, and if we start listing bugs we find, we will either show bias or appear to show bias simply by the “choice” of bugs we publish.</p><p>Since we can't do a fair comparison of the number and severity of bugs between distributions, we have tried to note only bugs that involved completely missing functionality or which were difficult to work around and hard for the user to avoid.</p><p>If working around simple bugs is a problem for you, we urge you to purchase a distribution from a vendor who offers technical support for the installation process. By providing installation technical support, these vendors not only help you with the problems, but force on themselves a vested interest in fixing those bugs. Providing support is expensive, and solving the same problem over and over again is a waste of their time and money.</p><p>At the same time, if you buy installation technical support, understand that you aren't buying a lifetime warranty for every part of the system. None of the vendors here provide that as part of their base product. You can buy very comprehensive support packages from several vendors if you need them. <a href="/files/linuxjournal.com/linuxjournal/articles/001/0139/0139t.html">Happy shopping!</a></p></div><div lang="en" xml:lang="en"><div><a></a>Caldera Network Desktop 1.0</div><p>The Caldera Network Desktop, by Caldera, Inc., comes as a boxed set of 1 CD-ROM, two floppy disks and a user's guide. Caldera Linux is based on Red Hat Linux 2.1 but uses its own installation system and desktop environment, and it includes many applications which can be found nowhere else.</p><p>Installation is very simple. The two disks included are a standard boot disk and a PCMCIA boot disk; you'll only need one of them. Simply boot your machine with the boot disk, insert the CD-ROM, and follow the messages which prompt you along the way. The initial package selection is somewhat granular, providing three predefined choices: Minimal Installation, Default Caldera, and Maximal Installation. But you can always fine- tune package selection later from within the Desktop. The installation process covers all the bases—from network configuration to X setup to LILO—and then requires you to make a rescue disk for safety. Overall, installing Caldera is very easy, and I encountered no unexpected surprises.</p><p>Once the system is installed, you can reboot into Caldera Linux, which will prompt you to set a root password and create a user account. After this, you can log in as your new user and start the desktop by typing <b>startx</b>. The Caldera desktop looks somewhat MS Windows-like. It has a toolbar at the top which includes options such as File, Window and Help; it supports quick-keys, like ALT+F3 and ALT+F4; has “program groups” and makes extensive use of icons. It has several additional features not found in Windows, however. It supports virtual screens; uses an additional, customizable icon toolbar (similar to fvwm's GoodStuff module); and of course, since it's on top of X, has all the power and configuration capabilities (not to mention stability) of X.</p><p>Since Caldera is based on Red Hat Linux, all the standard Red Hat system administration tools are available within Caldera, and all packages are stored in RPM format.</p><p>Caldera includes Motif, Accelerated-X (by X-Inside), Netscape, the CRiSP Lite editor, Caldera's Font Server and a full NetWare client (Netware 3.x and 4). Caldera has also ported to Linux WordPerfect 6.0, among other applications. These applications are generally available separately as an “add-on” package, to Caldera users.</p><p>Caldera is a very professional Linux distribution which I would recommend to anyone who wants a user-friendly, commercial-grade Linux system or to anyone who wishes to integrate a full-featured Linux network server into a NetWare environment.</p></div> <div lang="en" xml:lang="en"><div><a></a>Debian .93R6</div><p>The only distribution in this lineup which is not developed on a commercial basis, Debian has been a long time in the making. Unlike all the other Linux distributions, Debian is put together by a team of volunteers. While a few people are in charge of a very small core of the distribution, almost all the decisions are made by consensus, and nearly all the packages are developed independently by members of a large development team.</p><p>By following a strict set of rules and using the most powerful packaging technology currently available for Linux, this team has achieved a remarkably coherent Linux package. Debian has complete <span class="emphasis"><em>dependencies</em></span>: when you install one package, it checks to see if other needed packages are also installed. It also checks version numbers if requested; package <span class="bold"><b>A</b></span> can insist that package <span class="bold"><b>B</b></span> be installed and be version <span class="emphasis"><em>x</em></span> or greater. This makes upgrading any package nearly foolproof. The installation program will also suggest installing other packages the user will likely want if he or she installs package <span class="bold"><b>A</b></span>.</p><p>Debian installs the entire “base” system from floppy (three floppies) and then you reboot into the base system with enough software to install any other packages you like. This way, all the base system has to support is floppies and hard drives. During the initial “base” installation, you can choose which kernel modules to load, determining what hardware is supported. Debian is highly modularized.</p><p>All of Debian's packaging tools run in text mode, so X is not required to use any of Debian's sophisticated upgrade capabilities. The package tools are also very fast.</p><p>Debian is currently being transformed from an a.out-based distribution with optional ELF support to a fully ELF-based distribution. [At print time, Debian 1.1 beta was stable; this version will be reviewed in a future issue—Ed.]</p><p>Debian's home page can be found on the Web at <a href="http://www.debian.org">www.debian.org</a>.</p></div><div lang="en" xml:lang="en"><div><a></a>Craftworks Linux 2.0</div><p>Craftworks Linux, by Craftwork Solutions, Ltd., comes as a boxed set of one CD-ROM, one floppy disk and a 70 page manual. The single floppy disk is both a boot and a root disk, alleviating the need to make any floppies. Craftworks will install from FTP, CD-ROM, NFS, locally mounted media, tape and PPP. It supports PCMCIA Ethernet and CD-ROM for installation, as well. It has no MS Windows or UMSDOS installation capability and requires 8MB of RAM to install. The distribution is all ELF.</p><p>Craftworks' installation utility prompts you for your desired partitioning scheme (and shows you a recommendation), the installation method you want, and what kind of system you want to install. It has three precompiled kernels to choose from: Cyclom, SoundBlaster and Generic. All are ELF 1.2.8 with AIC7xxx and iBCS patches and have support for the ftape loadable module (QIC-40, QIC-80, QIC-3010 and QIC-3020). The SoundBlaster kernel supports the SB-Pro and SB-16. The Cyclom kernel supports the Cyclades Cyclom-Y driver.</p><p>Craftworks Linux uses a unique system for installing packages, called Component Replacement And Fabrication Technology (CRAFT). This system does extensive package dependency checking to assure that all required packages for a particular utility are installed and that packages are intact according to files present, size and checksum. The software itself comes bundled in something called Component Catalogs, grouping together related packages. Installing additional software is as easy as mounting the media containing the catalog and running sysadm (see below) to select and install it.</p><p>There are three predefined choices for package installation: Minimal, Developer and X Workstation. The fourth choice is Custom, and it allows you to pick which packages you want to install ahead of time. Selecting any of the first three choices will begin installation without further delay. Package selection comes into play only if you choose Custom. The package selection is considerably more granular than many other big Linux distributions, giving you somewhat less control over exactly what is installed and what is not. Once the installation process has begun, it requires no further attendance. Take a little break, and when you return, simply reboot and your system will come up ready to run. If you chose to use LILO, it will have checked your partition table, and any partitions labeled DOS will have been automatically added to the LILO configuration for you to choose from at boot time.</p><p>Craftworks Linux comes with sysadm, a graphical utility that, from a single screen, lets you control many aspects of your system, including modification of user/group information, security settings, tcp wrappers, IP firewalling, X Windows setup, system backup, and much more. The fact that sysadm is a text-based application is another useful characteristic, as it will run in low memory and on inferior or unconfigured display cards, in addition to X Windows.</p><p>I was impressed to find that Craftworks comes with shadow password support, IP firewalling, FlexFax and APSfilter. I was even more impressed to find that it also comes with DOSemu, the MS-DOS emulator, and BRU, a high-quality commercial backup and restore utility, correctly configured.</p><p>Craftworks Linux is FSSTND-compliant and everything is laid out logically and sensibly. I could easily find all of the configuration files I needed, which were all stubbed out to provide consistent and useful examples.</p><p>I think Craftwork Solutions' distribution would be an excellent choice for serious Linux users who want a complete distribution that comes mostly preconfigured and is easy to use and maintain.</p></div> <div lang="en" xml:lang="en"><div><a></a>Linux-FT 1.2</div><p>Linux-FT, by LaserMoon, Ltd., comes as a boxed set of two manuals (a 64 page installation and configuration guide and a Motif 2.0 user's guide) and 6 CD-ROMs. It is based on kernel 1.2.13 and uses the ELF file format. It is the only Linux distribution that is POSIX.1 certified.</p><p>Installation of FT is fairly easy. There are far fewer questions to answer compared to many other distributions. X configuration (which is an optional part of the installation process) is also very simple. Linux-FT does not use LILO but, instead, uses its own multi-OS boot loader. One of the most interesting and different things about Linux-FT's installation process is that hardly anything gets copied to your hard drive. Instead, the bare minimal operating system is installed, and from that point, the system reboots with the runtime CD mounted and uses what LaserMoon calls <span class="emphasis"><em>copy-cache</em></span> technology. With copy-cache, whenever you attempt to run an application or use a package that does not exist on your hard drive, the software is transparently installed to it (from the mounted run-time CD-ROM) for later use.</p><p>Of course, once you have Linux-FT installed and X up and running, you can begin tweaking your system with “xadmin”, a very powerful, extremely thorough X-based configuration and maintenance utility, to explicitly install packages or remove them permanently, just as with any other distribution.</p><p>I was highly impressed to find that xadmin can do anything from configuring user and group settings to formatting a floppy disk. Some of its maintenance capabilities include NFS, lpd, PPP/SLIP, file system and hardware setup, package maintenance, process table and much more. It makes administration a whole lot easier and less time consuming.</p><p>Linux-FT includes mwm, the Motif Window Manager, and has shadow passwords, IP firewalling, iBCS and quota support in the kernel. There is a massive amount of software included with FT: three archive CD-ROMs which contain a lot of Linux-related material from all over the Internet, and also a separate web server CD, which contains both the Apache and NCSA web servers, as well as a good deal of HTML- and CGI-related material and web browsers. Additionally, there is the run-time CD, which has the Linux-FT distribution on it, and a source code CD which contains—you guessed it—source for many of the applications and tools on the run-time CD. If there's anything in the Linux-FT distribution that isn't in abundance, it would have to be printed documentation. There's not a lot of “how-to” information.</p><p>In my opinion, Linux-FT would be a good choice for any hard core professional Unix/Linux user who wants a powerful, flexible and high-quality, professional, POSIX.1-certified, UNIX-like work environment.</p></div><div lang="en" xml:lang="en"><div><a></a>Linux Universe</div><p>Linux Universe is a book, with simple installation and configuration instructions and a small reference section, which includes a Linux distribution on CD-ROM. It's translated from German, and the distribution on it is also apparently translated from German, since some of the comments in the scripts are still in German.</p><p>Like Linux-FT, Linux Universe has its own full-screen boot loader (instead of using LILO) and is intended to be run with a minimum of software loaded onto the hard disk, caching other programs to the disk as they are needed.</p><p>Linux Universe is intended to be a companion to <span class="emphasis"><em>Linux—Unleashing the Workstation in your PC,</em></span> by the same authors. You can purchase Linux Universe alone or in a kit with its companion volume. If you are not already familiar with Linux (or at least Unix), you will want to purchase the whole kit, not just Linux Universe.</p><p>The graphical configuration utility is simple to use and seems to work well. It works quickly and intelligently. When filling out the networking configuration, for example, it guesses most of the information once you type in the IP address.</p></div><div lang="en" xml:lang="en"><div><a></a>Red Hat Linux 3.0.3</div><p>Red Hat Linux 3.0.3 comes as a boxed set of two CD-ROMs and a 190 page user's guide. There is no included boot disk, so you must make your own using another operating system, such as DOS or Unix. Red Hat comes with over 70 possible boot disk images to choose from, depending on your hardware configuration. Red Hat can be installed from floppy, FTP, CD-ROM, NFS, or pre-mounted local file system and will install from PCMCIA ethernet and CD-ROM. There is no support for a UMSDOS installation, although you can install from within DOS. Installing from DOS does not require making a boot floppy.</p><p>This latest version of Red Hat can be run live from CD-ROM (disc 2) and can also be installed in 4MB of RAM, provided you can perform a CD-ROM installation. All other types of installation require 8MB of RAM and two additional floppies, which are used to load the RAM disk.</p><p>Red Hat 3.0.3 is completely ELF and uses Linux kernel 1.2.13, libc-5.2.18, gcc-2.7.2 and XFree86-3.1.2. It also comes with the Metro Link X-server. Red Hat uses its own package format, Red Hat Package Manager (RPM). RPM packages are easy to install, upgrade and remove, and have built-in dependency checking. The RPM package format is primarily used for Red Hat Linux, but the software itself has the Gnu Public License and is and is gaining acceptance among commercial Linux developers.</p><p>The installation procedure is pretty well polished and feels nearly foolproof. You may choose to do either a text-based or an X-based installation. For both options, the script is intelligent and will correctly identify most of your hardware, providing you with sane defaults for most of the options, including what packages to install, LILO configuration and network setup. The X configuration is very simple and reliable; any novice with a video card manual should be able to get X Windows fired up in no time. This version of Red Hat by far surpasses the previous in package selection. There is simply a staggering number of packages available to install from the Red Hat CD. There are now almost 30 main groups of packages, each subdivided into several smaller groups, which are in turn subdivided into individual packages. This makes for an extremely fine degree of control over exactly what is and is not installed on your system. I noticed one possibly big drawback to such a high degree of control: there does not seem to be a foolproof package dependency system to ensure that required packages are installed, e.g., runtime libraries or the Tcl/TK utilities needed to run Red Hat's own setup and configuration tools. The installation program does have all required packages highlighted by default, so, as a word of advice to the novice, don't unselect anything unless you're sure about it.</p><p>Once the package installation is complete, you may reboot into your freshly installed Linux system. All system configuration and setup is done through the Control Panel. The Control Panel is an X Windows-based program that makes configuration of functions like network setup, account administration, and package management a simple process. Red Hat discourages you from indulging in the time-honored trade of editing configuration files by hand, and, instead, urges you to use Control Panel. The drawback to such an easy-to-use, point-and-click interface is if you can't run X, you can't run Control Panel.</p><p>I think Red Hat would be a good choice for anyone who is looking for a big distribution that is both fun to use and easy to maintain and install. Red Hat would be good, in particular, for a person new to Linux who may want to dive in head first after testing the water.</p></div> <div lang="en" xml:lang="en"><div><a></a>Slackware 3.0</div><p>Slackware has evolved from a distribution that was available only on the Internet (and on archive CDs provided by various vendors) into an <span class="emphasis"><em>official</em></span> distribution from Walnut Creek CD-ROM. Much like Red Hat, Slackware is still available on those archive CDs and can be used as the base of other Linux distributions, but again, Walnut Creek offers the official version.</p><p>Slackware Linux is commonly downloaded from ftp sites around the globe, but it is also frequently mastered on CD and bundled with other Linux material to be resold. It is organized into several “disk sets” which make up the main categories of packages to install, such as “networking” or “X Windows”. Each category is broken down into individual packages for you to choose from at installation time. Due to Slackware's highly categorized organization and its history of being available on the Net, it is one of the easiest distributions to install from floppy (provided you're patient enough to download it). Its package format is a plain Unix .tgz file, gzip-ed tar file. Each disk set also includes a file that describes the contents of the files that make up the set. This format, while highly portable, offers little in the way of dependency checking or upgradability. This will barely slow down a Unix Wizard, but it can be a moderate hang-up for a newbie. Fortunately, Slackware's text-mode installation program can be very verbose and helpful and should suffice for all but the more advanced users, anyway.</p><p>Slackware requires a single boot and root disk and will install in 4MB of RAM. It can install from floppy, local partition, CD-ROM and NFS, and has a mature range of non-commercial packages to choose from. Slackware 3 is an all-ELF distribution based on kernel 1.2.13.</p><p>Once Slackware is installed, you're pretty much ready to rock 'n' roll. Slackware does provide some configuration tools for networking and basic package maintenance, but it does not really posses any kind of “desktop administration” utility. However, one of Slackware's greatest strengths is its age. Many software packages out there on the Net have been modeled after Slackware, so you should be able to install pretty much anything without a hitch.</p><p>Slackware is a good distribution for beginners because it is available freely on most archive distributions and from ftp sites. It's also a great distribution for people who like to really get their hands under the hood and tweak their system (custom configure, edit rc files, etc.).</p></div><div lang="en" xml:lang="en"><div><a></a>WGS Linux Pro 3.0</div><p>WorkGroup Solutions' WGS Linux Pro 3.0, or Linux Encyclopedia, is a large Linux encyclopedia (approximately 1200 pages) containing all the freely redistributable documentation from the Linux Documentation Project and 4 CD-ROMs of Linux-related material and distributions. There are more FAQs, docs and HOWTOs here than I could list, examples of which include the “Network Administrator's Guide”, “Firewalling and Proxy Server HOWTO”, “Linux SCSI HOWTO”, “Kernel Hacker's Guide” and many, many more.</p><p>Disc one contains the main distribution, which is Red Hat Mother's Day Release. Mother's Day Release is based on Linux kernel 1.2.11 and uses the a.out binary format as its primary file format. Note that WGS Linux Pro version 4 will be released shortly and will be based on Red Hat 3.0.3, described above. The other three discs are supplemental and contain all sorts of software, which is provided for the user who requires later releases of software(and possibly developmental material), which may not be stable.</p><p>The installation of Linux Pro could not have been simpler. Although it does not contain any boot or root floppy disks, if you're using DOS, you simply insert the first CD-ROM into your drive and type “install” (or double click the icon from Windows). An installation program will prompt you for your CD-ROM drive type, Ethernet card type and SCSI type, and build boot and root floppies for you. Then, simply reboot and the installation begins. If you don't have DOS handy, you can build boot and root floppies the same way you normally would for this version of Red Hat, using rawrite, dd, cat or a mkfloppy script. Since Linux Pro 3 is based on Red Hat, the section on Red Hat mostly applies, with a few exceptions. The version of Red Hat used for Linux Pro is a.out and requires 4MB of RAM to install. Its packages are in a format called “.rpp” instead of Red Hat's current package format, which is “.rpm”.</p><p>If you're looking for an easy-to-install Linux distribution with a lot of hard-copy documentation, this might be the one for you.</p></div><div lang="en" xml:lang="en"><div><a></a>Yggdrasil Plug and Play Linux, Fall '95</div><p>The first Linux distribution designed for CD, Yggdrasil has had continued popularity due, in part, to graphical configuration, bootable floppies included with the distribution, and multimedia support. Yggdrasil also has a history of including kernels with patches they have tested but aren't included in the standard Linux kernel. Fall '95 continues this tradition.</p><p>After installing the “Suggested” configuration—at 250 MB, the only choice smaller than “Everything”, which takes 600MB—it is impossible to compile the kernel without either mounting the CD or installing some packages that aren't installed as a part of the “Suggested” configuration. The manual doesn't say what packages need to be installed to build the kernel with the CD removed, and since the control panel doesn't show which packages are already installed, it's not clear what packages need to be installed. Even after installing all the needed software components, we still had to figure out we had to remove /usr/src/linux/include/linux/version.h in order to successfully build the kernel; we were not able to find that in the documentation. This would not have been an important issue except for the fact that the standard kernel didn't support the 3C509 Ethernet card, and we needed to build a kernel with 3C509 support in order to test the networking setup. Further testing showed several functions of the basic control panel, such as printing, also did not function with the “Suggested” configuration unless the CD-ROM was mounted.</p><p>Although running Yggdrasil without the system CD mounted can take some work, Yggdrasil is one of the few distributions able to run entirely from the CD. This capability has been included with Yggdrasil for some time and is a great way to demonstrate Linux to skeptical friends. Not surprisingly, running multimedia applications under X entirely from the CD-ROM takes considerable memory; it doesn't work well with less than 16 MB of RAM.</p><p>Yggdrasil doesn't set up networking as part of the installation, but it does provide a graphical tool for setting up basic networking once you get X set up. It also has a reasonably easy X setup program that gets invoked automatically when you start X, if you haven't already configured X.</p><p>Yggdrasil doesn't come with some programs that are now considered standard with Linux, such as</p></div> <div lang="en" xml:lang="en"><div><a></a>rxvt</div><p>. On the other hand, it does seem to include a fairly full range of multimedia tools. The PC Speaker sound patches, which provide sound capabilities through the standard PC speaker, are already applied to the supplied kernel source tree and are one of the configuration options. Yggdrasil also comes with XEmacs, a version of Emacs with a good graphical user interface. </p></div><div lang="en" xml:lang="en"><div><a></a>Reading the Feature Chart</div><p>First, a word of warning: while the feature chart is intended to help you compare the features offered by different distributions, it doesn't say anything about the quality of the features. The chart doesn't tell the whole story, nor does this article, because it is impossible for a chart or article to do so. The chart <span class="emphasis"><em>can</em></span> give you an idea of what the vendors are trying to provide with their distributions.</p><p>A “no” isn't necessarily a strike against a distribution. Don't sit down and count up the number of boxes with “yes” in them and consider that a reasonable ranking of the distributions. Instead, consider the features that you particularly want and need. If you have further questions, contact the vendors and ask. Buy from vendors with a money-back guarantee if you are worried you'll get stuck with a distribution you don't want.</p><p>The labels on the feature chart (page FIXME) aren't entirely self-explanatory, as you may have already noticed. An explanation of the entire chart is in order here. If there is any part that you don't understand or are not interested in, feel free to skip it. Starting from the top...</p><p>Like everything else, the <span class="bold"><b>vendor's list price</b></span> isn't necessarily the price you will pay. Nearly all these distributions are re-sold. Also, like Linux itself, Debian has no official vendor and no official vendor price. The Debian distribution is made available for ftp from ftp.debian.org, and several vendors provide it, either as the sole distribution on a CD or as part of a collection.</p><p><span class="bold"><b>Packaging</b></span> is technology for easily and correctly installing, removing, and upgrading parts of the system. Each part would include several inter-related files. For example, all the files typically installed together will probably be included in the same part. The first line of the Packaging section indicates whether you can at least add and remove packages with the provided package management tools.</p><p><span class="bold"><b>Package upgradability</b></span> involves preserving (as much as possible) the configuration of the package correctly on the hard drive while installing a new version. This involves, at the very least, some method of distinguishing configuration files from other files, so that when you upgrade, a package's configuration files are not changed, and you do not have to re-configure the package. If the package management tools are unable to preserve the configuration untouched (for example, if the format of a configuration file changes with a new version), the package management tools need to notify the administrator of that fact.</p><p><span class="bold"><b>Dependencies</b></span> are a capability which allows one package to require that another package also be installed. For instance, LaTeX requires that TeX also be installed, so if LaTeX and TeX are provided in separate packages, the package containing LaTeX may require that the TeX package be installed first, since the functionality of the former depends on the latter.</p><p>Dependencies are usually absolute—a package either requires or does not require another package in order to function. Debian allows fine shades of distinction: A package can absolutely depend on another package being installed, it can recommend that any sane user would want the additional package installed, or it can suggest that you will probably want to install the other package.</p><p><span class="bold"><b>Format</b></span> refers to the way packages are maintained on the installation media. Debian and Red Hat each use special archives of their own design which contain the extra information needed to implement their special installation features. Slackware installs standard “.tar.gz” or “.tgz” archives created by using tar to archive a set of files and gzip to compress the archive; those archives do not, therefore, have the extra information needed to remove or upgrade archives. Yggdrasil and Linux Universe install by copying files directly from a file system on the CD-ROM to the hard drive, so they can only use their package management tools to install from the installation CD.</p><p><span class="bold"><b>Third-party packages</b></span> are closely related to format; those distributions which provide single-file packages are capable of installing packages built by third parties, downloaded from the Internet or found on other CDs. As an example of what can be done with third-party packages, Caldera built the Caldera Network Desktop upon Red Hat Commercial Linux (RHCL) and added new packages in Red Hat's RPM format to create a new distribution that is essentially a superset of RHCL.</p><p><span class="bold"><b>Source packages</b></span> means the source code is also installable with the package management tools.</p><p><span class="bold"><b>Buildable Source</b></span> means the package has the capability to build entire packages with one command (which may or may not be integrated with the package management tools).</p><p><span class="bold"><b>Multi-architecture</b></span> means support for more than one binary architecture. The Intel 80386 and above (denoted here as i86) is certainly the most common CPU architecture supported, but Linux also runs on other platforms, including some Amigas and Ataris, DEC's Alpha, the Acorn Archimedes, and Sparc. Some of the distributions are beginning to include support for more than one architecture. We expect, by the time you read this chart, support for more architectures will be, at least, announced by more distributions.</p><p><span class="bold"><b>Graphical and text-based package management</b></span> refer to the tools available for managing packages. <span class="bold"><b>Graphical</b></span> refers to native X-based tools, and <span class="bold"><b>text-based</b></span> refers to those that run in character mode (even in an xterm or rxvt session).</p><p><span class="bold"><b>Series sub-selection</b></span> refers to logically grouping packages together into intelligent groups while also making the selection of individual components possible. For instance, making a group or series of everything related to the TeX typesetting system, but also allowing the user to choose not to install all the fonts or to leave out LaTeX.</p><p>Over the past year, the Linux community has been migrating from the a.out to the ELF <span class="bold"><b>binary file format</b></span>. ELF has many advantages, but it has been necessary to move slowly to avoid causing unnecessary pain. However, ELF is now the standard, and we have purposely not included any distributions that do not at least support ELF binaries.</p><p>ELF-based distributions can choose to include a.out libraries, in order to provide support for legacy applications.</p><p>Most distributions (all in this lineup) provide iBCS2 support for binaries from many i86 Unix platforms.</p><p><span class="bold"><b>Supported architectures</b></span> are the types of machines supported by the distribution.</p><p>The standard PC architecture doesn't provide a standard way to boot from CD-ROMs, so in order to install Linux, it is not possible to simply boot a Linux CD-ROM. [No letters to the editor telling us that the Adaptec 2940 provides support for booting from a CD-ROM; that's not “support by the standard PC architecture”—ED] This means the distribution needs to provide some other way of booting. There are essentially two ways of doing this. One is to provide a bootable floppy disk containing the Linux kernel, and the other is to rely on already having DOS installed. Several distributions provide both options. In order to boot from a floppy, either a bootable floppy needs to be included with the distribution, or a way needs to be provided to make a floppy from files on the CD-ROM.</p><p>Unfortunately, it's hard to make a single floppy that is sufficient for booting on all platforms—but failing to supply a floppy with a kernel makes the user rely on having another operating system (DOS, Linux, or any version of Unix will do) with which to create the floppy. Fortunately, this is rarely a problem, but if you have no other operating system available (even on a friend's computer) to write the necessary floppies, you will probably want to purchase a distribution which provides the necessary floppies as part of the package.</p><p>It is possible to boot Linux directly from DOS, and some distributions provide an option to use no boot floppies at all by first booting DOS and then booting Linux from the CD-ROM.</p><p>Some distributions provide a wide variety of boot images, whereas others use one or only a few. If you are able to make floppies yourself, those with more boot floppy choices <span class="emphasis"><em>may</em></span> prove easier to configure for your hardware. The <span class="bold"><b>Boot Images</b></span> line doesn't count duplicates for different size drives, it only counts the choices for one size of floppy drive.</p><p>All the distributions provide at least the option of booting from floppy, and all of them provide a way to make your own boot floppies from the CD-ROM under DOS and/or Linux. Some also provide some assistance (under DOS, Linux, or both) to make choosing or creating the floppy or floppy set easier.</p><p>The <span class="bold"><b>number of floppies required</b></span> to install the system varies widely. Debian installs its entire “base system” from a set of five floppies and then requires one blank floppy after the installation to create an appropriate boot disk. If you boot the Linux Universe CD-ROM from DOS, it can install without any floppies at all.</p><p>While most of this article has assumed you are installing from CD-ROM (after all, that's what most of the vendors provide), that's not necessarily true. You may wish to copy packages to a subdirectory of a local hard drive and install from there, or you may wish to install from floppy, via NFS from a local server, via anonymous FTP, or from a tape.</p><p>In order to install on most notebooks, support for PCMCIA (also known as PC Card) is required, unless you are want to install one of the distributions available on floppies and are interested in shuffling floppies for hours. If you have a PCMCIA Ethernet or SCSI adaptor supported by the Linux PCMCIA card services package, some distributions make it possible for you to install from a network location over Ethernet or from a SCSI CD-ROM connected to the SCSI adaptor. This can be a real time saver.</p><p>If you don't want to partition your disk, some distributions provide the option of installing in a <b>\LINUX</b> subdirectory of a DOS file system using a Linux file system called UMSDOS. While this imposes on Linux all the inefficiencies of the DOS file system, it is an easy way to get started using Linux without committing a partition to do so. Yggdrasil goes one step farther, allowing you to install the base Linux system without booting Linux, using a DOS program to do the installation.</p><p>Most distributions now have customized documentation written about them, which is either included with the distribution by default or is available as an option. Some distributions have been covered in other books available in bookstores, and some books include distributions.</p><p>One of the most difficult parts of configuring a Linux system is configuring the X Window System. The XFree86 Project, Inc. provides a configuration program called xf86config, which has a fairly basic user interface and requires you to know a lot about your configuration. It is, however, quite complete. Some distributions provide tools to make X configuration easier.</p><p>Some vendors provide a support program, and some provide several different support programs. This chart only mentions whether at least one program is available—check with the vendors if you have specific requirements that you need met.</p><p>Some of the distributions include configuration tools, mostly graphical ones. If you are not familiar with administering a Linux or Unix system, you are likely to find most common tasks simplified by a user interface that handles common tasks easily. None of the configuration tools provided with any of the distributions prevents you from doing your configuration manually, so there is no reason to complain if you prefer to configure your system by hand.</p><p>In particular, we looked for configuration tools for setting up and maintaining a network, adding and deleting users and groups, mounting and un mounting file systems, setting up print services, and manipulating boot scripts (generally kept in /etc/init.d). Again, we did not try to rank them in usefulness, and some of the scripts were definitely more functional than others for our purposes. On the other hand, a script with more functionality than one user needs could include needless, confusing detail for another user. Configuration scripts should have a review of their own some day, but mentioning whether or not they exist is a first step.</p></div> <div lang="en" xml:lang="en"><div><a></a>Summary</div><p>Linux distributions have changed a lot in the few years they have been around. The Linux File System Standard has improved their ability to inter-operate; binaries compiled for one distribution are now more likely to run on another distribution, because standard files are more likely to be in the same place from one distribution to another. As distributions competed, bugs have been worked out of all of them, thus, users have benefited from distributions they haven't even used.</p><p>Since no single distribution provides an optimal environment for everyone, each distribution contributes something to the pot. Furthermore, having distributions targeted for different kinds of users means no distribution is pressured into complete mediocrity by an attempt to be all things to all people. It's a well-worn cliché that to do all things equally well is to do nothing at all well...</p><p>Bryan Phillippe is a 21-year-old Linux enthusiast who also enjoys the company of his fiancee, rollerblading and street-style snowboarding. He can be reached at <a href="mailto:bryan@terran.org">bryan@terran.org</a>.</p></div></div></div> <section class="section--disqus"> <a id="comments-link" class="btn btn-default" href="https://www.linuxjournal.com/article/139#disqus_thread">Load Disqus comments</a> <div id="disqus_thread"></div> <noscript>Our discussions are <a href="https://disqus.com/?ref_noscript" rel="nofollow">powered by Disqus</a>, which require JavaScript.</noscript> </section> </div> <div class="col-sm-3 bs-region bs-region--right"> <div class="field field--name-dynamic-block-fieldnode-sidebar-image field--type-ds field--label-hidden field--item"><div class="views-element-container form-group"><div class="view view-sidebar-image view-id-sidebar_image view-display-id-block_1 js-view-dom-id-85c16a00f560da6530d383d5b38cde380f34a0aa9795daeefb9e63eca97e9273"> </div> </div> </div> <div class="field field--name-dynamic-block-fieldnode-related-articles field--type-ds field--label-hidden field--item"><div class="views-element-container form-group"><div class="view view-related-content view-id-related_content view-display-id-block_1 js-view-dom-id-45832e593b1689218d067f143a9c10183fb4272d8f73daada2914f1855a4057b"> </div> </div> </div> <div class="field field--name-dynamic-block-fieldnode-sponsors field--type-ds field--label-hidden field--item"><div class="views-element-container form-group"><div class="view view-latest-sponsor-block view-id-latest_sponsor_block view-display-id-block_1 js-view-dom-id-e6133c12efd941372fa85505b61c6cc76584d2ae56d99cb812c6923a4b6c62fd"> <div class="view-header"> </div> <div class="view-content"> <div class="views-row"> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"> </div> </div> </div> </div> </div> </div> </div> </div> </div> </section> </div> </div> <footer class="footer container" role="contentinfo"> <div class="region region-footer"> <section class="views-element-container block block-views block-views-blocknewsletter-promo-block-block-1 clearfix" id="block-views-block-newsletter-promo-block-block-1"> <div class="form-group"><div class="view view-newsletter-promo-block view-id-newsletter_promo_block view-display-id-block_1 js-view-dom-id-0ed1728ac338bf41df25cc54162c82c3c25751a6655b97fc1409cc2bb085dd28"> <div class="view-content"> <div class="views-row"> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><div class="newsletter-bottom"> <div class="col-md-9 col-sm-12 signup-form"> <!--<h3>Linux Journal Week in Review</h3> <p>Sign up to get all the good stuff delivered to your inbox every week.</p> <form id="subForm" class="js-cm-form" action="https://www.createsend.com/t/subscribeerror?description=" method="post" data-id="A61C50BEC994754B1D79C5819EC1255CDBC34DDF3E170B13E2BAC2D68C42BF424F853383C84F5BAE38EAB4CFA5C73907CAC074FF8192503AF80F3699F7FE5CE1"> <div class="flexform">--> <!--<label for="fieldEmail">Email</label> <br />--> <!--<input id="fieldEmail" name="cm-gjjtdh-gjjtdh" type="email" class="js-cm-email-input" placeholder="Enter your email. Get the newsletter." required /> <button class="js-cm-submit-button" type="submit">Sign Up</button> </div> <div> <input id="cm-privacy-consent" name="cm-privacy-consent" required type="checkbox" /> <label for="cm-privacy-consent">I give my consent to be emailed</label> <input id="cm-privacy-consent-hidden" name="cm-privacy-consent-hidden" type="hidden" value="true" /> </div> </form> <script type="text/javascript" src="https://js.createsend1.com/javascript/copypastesubscribeformlogic.js"></script> </div>--> <!--<div class="col-md-3 col-sm-12 subs-callout"> <img src="/sites/default/files/styles/large/public/2019-01/LJ294-Jan2019-Cover_0.jpg" width="100px" /> <h3>The Value of Open Source Journalism</h3> <p> Subscribe and support our coverage for technology's biggest thinkers – with up to 52% savings. </p> <strong><a href="https://www.linuxjournal.com/subscribe">Subscribe <i class="fa fa-angle-double-right" aria-hidden="true"></i></a> </strong> </div>--> </div> </div> </div> </div> </div> </div> </section> </div> <div class="footer-blocks col-sm-12"> <div class="col-md-6 col-sm-12 footer-left"> <div class="region region-footer-left"> <section id="block-connectwithusfooter" class="block block-block-content block-block-content5e722bd4-5e08-454b-8507-956089bfa661 clearfix"> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><div class="footer-heading">Connect With Us <span class="social-media sm-a-no-underline"><a href="https://youtube.com/linuxjournalonline" alt="Linux Journal on YouTube" aria-label="YouTube"><i class="fa fa-youtube fa-2x"></i></a><a href="https://www.facebook.com/linuxjournal/" alt="Linux Journal on Facebook" aria-label="Facebook"><i class="fa fa-facebook-f fa-2x"></i><a href="https://twitter.com/linuxjournal" alt="Linux Journal on Twitter" aria-label="Twitter"><i class="fa fa-twitter fa-2x"></i></a></span></div> <p>Linux Journal, representing 25+ years of publication, is the original magazine of the global Open Source community.</p></div> </section> <section id="block-linuxjournal-block-9" class="block block-block-content block-block-content8669793b-e217-4426-a79e-eb3c21ede127 clearfix"> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><div id="copyright">© 2024 Slashdot Media, LLC. All rights reserved.</div> </div> </section> <section id="block-privacyterms" class="block block-block-content block-block-contenta203b8bd-80ef-4982-bf6e-784dd7b44120 clearfix"> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><ul class="menu menu--footer-submenu nav" id="terms-nav"> <li><a href="https://slashdotmedia.com/privacy-statement/" rel="nofollow" target="_blank">PRIVACY POLICY</a></li> <li><a href="https://slashdotmedia.com/terms-of-use/" rel="nofollow" target="_blank">TERMS OF SERVICE</a></li> <li><a href="/sponsors">ADVERTISE</a></li> </ul></div> </section> </div> </div> <div class="col-md-4 col-sm-8 footer-middle"> <div class="region region-footer-middle"> <nav role="navigation" aria-labelledby="block-footermenucolumn2-menu" id="block-footermenucolumn2"> <h2 class="visually-hidden" id="block-footermenucolumn2-menu">Footer Menu Column 2</h2> <ul class="menu menu--footer-menu-column-2 nav"> <li class="first"> <a href="/content/masthead" data-drupal-link-system-path="node/1007727">Masthead</a> </li> <li> <a href="/author" data-drupal-link-system-path="node/1009249">Authors</a> </li> <li class="last"> <a href="/form/contact" data-drupal-link-system-path="webform/contact">Contact Us</a> </li> </ul> </nav> <nav role="navigation" aria-labelledby="block-footermenucolumn3-menu" id="block-footermenucolumn3"> <h2 class="visually-hidden" id="block-footermenucolumn3-menu">Footer Menu Column 3</h2> <ul class="menu menu--footer-menu-column-3 nav"> <li class="first"> <a href="/rss_feeds" data-drupal-link-system-path="node/1000457">RSS Feeds</a> </li> <li class="last"> <a href="/aboutus" data-drupal-link-system-path="node/1000267">About Us</a> </li> </ul> </nav> </div> </div> </div> </footer> </div> </div> <script type="application/json" data-drupal-selector="drupal-settings-json">{"path":{"baseUrl":"\/","scriptPath":null,"pathPrefix":"","currentPath":"node\/139","currentPathIsAdmin":false,"isFront":false,"currentLanguage":"en"},"pluralDelimiter":"\u0003","suppressDeprecationErrors":true,"bootstrap":{"forms_has_error_value_toggle":1,"popover_enabled":1,"popover_animation":1,"popover_auto_close":1,"popover_container":"body","popover_content":"","popover_delay":"0","popover_html":0,"popover_placement":"right","popover_selector":"","popover_title":"","popover_trigger":"click"},"linuxjournal":{"disqus":{"origin":"https:\/\/www.linuxjournal.com","prettyUrl":"\/article\/139","fullUrl":"https:\/\/www.linuxjournal.com\/article\/139","embedUrl":"https:\/\/linuxjournal.disqus.com\/embed.js","shortname":"linuxjournal"}},"statistics":{"data":{"nid":"139"},"url":"\/core\/modules\/statistics\/statistics.php"},"ajaxTrustedUrl":{"\/search\/node":true},"user":{"uid":0,"permissionsHash":"a7b3a803411eb9cbd5d7d374ffb326721ee8274ab5a665df8f38311e3aad858c"}}</script> <script src="/core/assets/vendor/jquery/jquery.min.js?v=3.6.3"></script> <script src="/core/assets/vendor/underscore/underscore-min.js?v=1.13.6"></script> <script src="/core/misc/polyfills/element.matches.js?v=9.5.9"></script> <script src="/core/misc/polyfills/object.assign.js?v=9.5.9"></script> <script src="/core/assets/vendor/once/once.min.js?v=1.0.1"></script> <script src="/core/assets/vendor/jquery-once/jquery.once.min.js?v=9.5.9"></script> <script src="/core/misc/drupalSettingsLoader.js?v=9.5.9"></script> <script src="/core/misc/drupal.js?v=9.5.9"></script> <script src="/core/misc/drupal.init.js?v=9.5.9"></script> <script src="/themes/contrib/bootstrap/js/drupal.bootstrap.js?smwnh4"></script> <script src="/themes/contrib/bootstrap/js/attributes.js?smwnh4"></script> <script src="/themes/contrib/bootstrap/js/theme.js?smwnh4"></script> <script src="/themes/linuxjournal/bootstrap/assets/javascripts/bootstrap/affix.js?smwnh4"></script> <script src="/themes/linuxjournal/bootstrap/assets/javascripts/bootstrap/alert.js?smwnh4"></script> <script src="/themes/linuxjournal/bootstrap/assets/javascripts/bootstrap/button.js?smwnh4"></script> <script src="/themes/linuxjournal/bootstrap/assets/javascripts/bootstrap/carousel.js?smwnh4"></script> <script src="/themes/linuxjournal/bootstrap/assets/javascripts/bootstrap/collapse.js?smwnh4"></script> <script src="/themes/linuxjournal/bootstrap/assets/javascripts/bootstrap/dropdown.js?smwnh4"></script> <script src="/themes/linuxjournal/bootstrap/assets/javascripts/bootstrap/modal.js?smwnh4"></script> <script src="/themes/linuxjournal/bootstrap/assets/javascripts/bootstrap/tooltip.js?smwnh4"></script> <script src="/themes/linuxjournal/bootstrap/assets/javascripts/bootstrap/popover.js?smwnh4"></script> <script src="/themes/linuxjournal/bootstrap/assets/javascripts/bootstrap/scrollspy.js?smwnh4"></script> <script src="/themes/linuxjournal/bootstrap/assets/javascripts/bootstrap/tab.js?smwnh4"></script> <script src="/themes/linuxjournal/bootstrap/assets/javascripts/bootstrap/transition.js?smwnh4"></script> <script src="/themes/linuxjournal/js/lj-consentmanager.js?smwnh4"></script> <script src="/modules/contrib/webform/js/webform.behaviors.js?v=9.5.9"></script> <script src="/core/misc/jquery.once.bc.js?v=9.5.9"></script> <script src="/core/misc/states.js?v=9.5.9"></script> <script src="/themes/contrib/bootstrap/js/misc/states.js?smwnh4"></script> <script src="/modules/contrib/webform/js/webform.states.js?v=9.5.9"></script> <script src="/modules/contrib/webform/modules/webform_bootstrap/js/webform_bootstrap.states.js?v=9.5.9"></script> <script src="/themes/contrib/bootstrap/js/popover.js?smwnh4"></script> <script src="/core/modules/statistics/statistics.js?v=9.5.9"></script> <script src="/themes/linuxjournal/js/lj-disqus.js?smwnh4"></script> <!-- START EMBED --> <noscript><img src="https://api.b2c.com/api/noscript-448i7exgpyqpr9c144q.gif"></noscript> <!-- END EMBED --> <!-- Matomo --> <script type="text/javascript"> var _paq = _paq || []; function initPiwik() { _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u="https://analytics.linuxjournal.com/"; _paq.push(['setTrackerUrl', u+'piwik.php']); _paq.push(['setSiteId', '50']); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s); })(); } </script> <noscript><p><img src="https://analytics.linuxjournal.com/piwik.php?idsite=50&rec=1" style="border:0;" alt="" /></p></noscript> <!-- End Matomo Code --> <div class="modal-custom overlay-custom" id="ccpa-modal" style="margin-left: 0; display: none; max-width: 100%; width: 100%"> <div id="modal-content" class="modal-content"> <div class="modal-header" id="ccpa-modal-content-destination"></div> <span class="close" id="modal-close">×</span> </div> </div> </body> </html>