652 lines
8.4 KiB
HTML
652 lines
8.4 KiB
HTML
<HTML
|
|
><HEAD
|
|
><TITLE
|
|
>Designing Integrated High Quality Linux Applications</TITLE
|
|
><META
|
|
NAME="GENERATOR"
|
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
|
|
"><LINK
|
|
REL="NEXT"
|
|
TITLE="Introduction"
|
|
HREF="intro.html"></HEAD
|
|
><BODY
|
|
CLASS="article"
|
|
BGCOLOR="#FFFFFF"
|
|
TEXT="#000000"
|
|
LINK="#0000FF"
|
|
VLINK="#840084"
|
|
ALINK="#0000FF"
|
|
><DIV
|
|
CLASS="ARTICLE"
|
|
><DIV
|
|
CLASS="TITLEPAGE"
|
|
><H1
|
|
CLASS="title"
|
|
><A
|
|
NAME="AEN2">Designing Integrated High Quality Linux Applications</H1
|
|
><DIV
|
|
CLASS="authorgroup"
|
|
><A
|
|
NAME="AEN8"><H3
|
|
CLASS="author"
|
|
><A
|
|
NAME="AEN9"
|
|
>Avi Alkalay</A
|
|
></H3
|
|
><DIV
|
|
CLASS="affiliation"
|
|
><DIV
|
|
CLASS="address"
|
|
><P
|
|
CLASS="address"
|
|
><br>
|
|
avi at br.ibm.com<br>
|
|
avi at unix.sh<br>
|
|
</P
|
|
></DIV
|
|
><SPAN
|
|
CLASS="orgdiv"
|
|
>Senior IT and Software Architect :: Linux Market Developer<BR></SPAN
|
|
><SPAN
|
|
CLASS="orgname"
|
|
>IBM Linux Impact Team :: <A
|
|
HREF="http://ibm.com/linux"
|
|
TARGET="_top"
|
|
>ibm.com/linux</A
|
|
><BR></SPAN
|
|
></DIV
|
|
></DIV
|
|
><P
|
|
CLASS="copyright"
|
|
>Copyright © 2002 by Avi Alkalay</P
|
|
><P
|
|
CLASS="pubdate"
|
|
>v2.1, 2002-08-24<BR></P
|
|
><DIV
|
|
CLASS="revhistory"
|
|
><TABLE
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
><TR
|
|
><TH
|
|
ALIGN="LEFT"
|
|
VALIGN="TOP"
|
|
COLSPAN="3"
|
|
><B
|
|
>Revision History</B
|
|
></TH
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revision 2.1</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>24 Aug 2002</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revised by: avi</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
COLSPAN="3"
|
|
>Rewrite of the /opt /usr/local section.Cosmetics on graphical user interface and plugins sections.Fixed screens and programlistings width.</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revision 2.0</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>07 May 2002</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revised by: avi</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
COLSPAN="3"
|
|
>Final XML conversion. Files reorganization.</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revision 1.9.9</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>20 Apr 2002</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revised by: avi</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
COLSPAN="3"
|
|
>Included other document locations.</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revision 1.98</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>14 Apr 2002</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revised by: avi</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
COLSPAN="3"
|
|
>Title changed from "Creating" to "Designing".</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revision 1.97</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>09 Apr 2002</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revised by: avi</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
COLSPAN="3"
|
|
>Converted to XML 4.1.2, and started to use real XSLT. Spell checked the english version.</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revision 1.96</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>23 Mar 2002</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revised by: avi</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
COLSPAN="3"
|
|
>Better HTML style sheets.</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revision 1.95</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>17 Mar 2002</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revised by: avi</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
COLSPAN="3"
|
|
>Last chapter: One Body, Many Souls. Created appendix. Still have to translate some words here and there.</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revision 1.9</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>16 Mar 2002</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revised by: avi</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
COLSPAN="3"
|
|
>Added universal software table with FHS.</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revision 1.7</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>16 Mar 2002</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revised by: avi</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
COLSPAN="3"
|
|
>Everything is now translated except some words.</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revision 1.3</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>27 Feb 2002</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revised by: avi</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
COLSPAN="3"
|
|
>Translated and reviewed the most important section of the article: The /opt and /usr/local section.</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revision 1.2</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>23 Feb 2002</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revised by: avi</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
COLSPAN="3"
|
|
>English translation at 65%. Doing some corrections to potuguese version also.</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revision 1.1</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>17 Feb 2002</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revised by: avi</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
COLSPAN="3"
|
|
>Started english translation.</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revision 1.0</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>16 Feb 2002</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revised by: avi</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
COLSPAN="3"
|
|
>First final version of proposed skeleton.</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revision 0.9.6</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>16 Feb 2002</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revised by: avi</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
COLSPAN="3"
|
|
>Finished Plugin chapter.</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revision 0.9.5</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>15 Feb 2002</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revised by: avi</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
COLSPAN="3"
|
|
>Finished chapter about boot and subsystems.</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revision 0.9.4</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>14 Feb 2002</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revised by: avi</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
COLSPAN="3"
|
|
>Finished chapter describing the boot process.</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revision 0.9.3</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>08 Feb 2002</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revised by: avi</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
COLSPAN="3"
|
|
>Text and style updates.</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revision 0.9.2</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>07 Feb 2002</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revised by: avi</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
COLSPAN="3"
|
|
>Text updates.</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revision 0.9</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>06 Feb 2002</TD
|
|
><TD
|
|
ALIGN="LEFT"
|
|
>Revised by: avi</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="LEFT"
|
|
COLSPAN="3"
|
|
>First translation to DocBook.</TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
><HR></DIV
|
|
><DIV
|
|
CLASS="TOC"
|
|
><DL
|
|
><DT
|
|
><B
|
|
>Table of Contents</B
|
|
></DT
|
|
><DT
|
|
>1. <A
|
|
HREF="intro.html"
|
|
>Introduction</A
|
|
></DT
|
|
><DT
|
|
>2. <A
|
|
HREF="userfriendly.html"
|
|
>User Friendly: Guaranteed Success</A
|
|
></DT
|
|
><DD
|
|
><DL
|
|
><DT
|
|
>2.1. <A
|
|
HREF="userfriendly.html#installAndUse"
|
|
>Embrace the <EM
|
|
>Install-and-Use</EM
|
|
> Paradigm</A
|
|
></DT
|
|
></DL
|
|
></DD
|
|
><DT
|
|
>3. <A
|
|
HREF="software.html"
|
|
>The Four Universal Parts of Any Software</A
|
|
></DT
|
|
><DD
|
|
><DL
|
|
><DT
|
|
>3.1. <A
|
|
HREF="software.html#software.example"
|
|
>Practical Examples</A
|
|
></DT
|
|
><DT
|
|
>3.2. <A
|
|
HREF="software.html#separe"
|
|
>The Importance of Clear Separation Between Four Parts</A
|
|
></DT
|
|
><DT
|
|
>3.3. <A
|
|
HREF="software.html#bodysouls"
|
|
>One Body, Many Souls</A
|
|
></DT
|
|
></DL
|
|
></DD
|
|
><DT
|
|
>4. <A
|
|
HREF="fhs.html"
|
|
>Linux Directory Hierarchy: Oriented to the Software Parts</A
|
|
></DT
|
|
><DD
|
|
><DL
|
|
><DT
|
|
>4.1. <A
|
|
HREF="fhs.html#fhs.fhs"
|
|
><SPAN
|
|
CLASS="acronym"
|
|
>FHS</SPAN
|
|
> Summary</A
|
|
></DT
|
|
><DT
|
|
>4.2. <A
|
|
HREF="fhs.html#newtable"
|
|
>Examples Using the <SPAN
|
|
CLASS="acronym"
|
|
>FHS</SPAN
|
|
></A
|
|
></DT
|
|
><DT
|
|
>4.3. <A
|
|
HREF="fhs.html#noopt"
|
|
>Developer, Do Not Install in <TT
|
|
CLASS="filename"
|
|
>/opt</TT
|
|
> or <TT
|
|
CLASS="filename"
|
|
>/usr/local</TT
|
|
> !</A
|
|
></DT
|
|
></DL
|
|
></DD
|
|
><DT
|
|
>5. <A
|
|
HREF="plugin.html"
|
|
>Provide Architecture for Extensions and Plugins</A
|
|
></DT
|
|
><DD
|
|
><DL
|
|
><DT
|
|
>5.1. <A
|
|
HREF="plugin.html#plugin.concept"
|
|
>Abstracting About Plugins</A
|
|
></DT
|
|
></DL
|
|
></DD
|
|
><DT
|
|
>6. <A
|
|
HREF="rpm.html"
|
|
>Allways Provide RPM Packages of Your Softwares</A
|
|
></DT
|
|
><DD
|
|
><DL
|
|
><DT
|
|
>6.1. <A
|
|
HREF="rpm.html#module"
|
|
>Software Package Modularization</A
|
|
></DT
|
|
></DL
|
|
></DD
|
|
><DT
|
|
>7. <A
|
|
HREF="security.html"
|
|
>Security: The Omnipresent Concept</A
|
|
></DT
|
|
><DT
|
|
>8. <A
|
|
HREF="gui.html"
|
|
>Graphical User Interface</A
|
|
></DT
|
|
><DD
|
|
><DL
|
|
><DT
|
|
>8.1. <A
|
|
HREF="gui.html#kdegnome"
|
|
>KDE, GNOME, Java or Motif?</A
|
|
></DT
|
|
><DT
|
|
>8.2. <A
|
|
HREF="gui.html#webgui"
|
|
>Web Interface: Access from Anywhere</A
|
|
></DT
|
|
><DT
|
|
>8.3. <A
|
|
HREF="gui.html#wizard"
|
|
>Wizards and Graphical Installers</A
|
|
></DT
|
|
></DL
|
|
></DD
|
|
><DT
|
|
>9. <A
|
|
HREF="boot.html"
|
|
>Starting Your Software Automatically on Boot</A
|
|
></DT
|
|
><DD
|
|
><DL
|
|
><DT
|
|
>9.1. <A
|
|
HREF="boot.html#boot.init"
|
|
>From <SPAN
|
|
CLASS="acronym"
|
|
>BIOS</SPAN
|
|
> to Subsystems</A
|
|
></DT
|
|
><DT
|
|
>9.2. <A
|
|
HREF="boot.html#boot.runlevel"
|
|
>Runlevels</A
|
|
></DT
|
|
><DT
|
|
>9.3. <A
|
|
HREF="boot.html#boot.subs"
|
|
>The Subsystems</A
|
|
></DT
|
|
><DT
|
|
>9.4. <A
|
|
HREF="boot.html#boot.script"
|
|
>Turning Your Software Into a Subsystem</A
|
|
></DT
|
|
><DT
|
|
>9.5. <A
|
|
HREF="boot.html#boot.install"
|
|
>Packaging Your Boot Script</A
|
|
></DT
|
|
></DL
|
|
></DD
|
|
><DT
|
|
>A. <A
|
|
HREF="redhat.html"
|
|
>Red Hat, About the Filesystem Structure</A
|
|
></DT
|
|
><DT
|
|
>B. <A
|
|
HREF="about.html"
|
|
>About this Document</A
|
|
></DT
|
|
></DL
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="NAVFOOTER"
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"><TABLE
|
|
SUMMARY="Footer navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
> </TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
> </TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="intro.html"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
> </TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
> </TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
>Introduction</TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></BODY
|
|
></HTML
|
|
> |