Sophie

Sophie

distrib > Mandriva > 2010.1 > x86_64 > by-pkgid > 965e33040dd61030a94f0eb89877aee8 > files > 5041

howto-html-en-20080722-2mdv2010.1.noarch.rpm

<HTML
><HEAD
><TITLE
>The comps file</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
REL="HOME"
TITLE="    Burning a RedHat CD HOWTO
  "
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Burning the CD(s)"
HREF="burn-cd.html"><LINK
REL="NEXT"
TITLE="Installing from the CD"
HREF="installation.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Burning a RedHat CD HOWTO</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="burn-cd.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="installation.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="COMPS-FILE"
></A
>7. The comps file</H1
><P
>    The <TT
CLASS="FILENAME"
>comps</TT
> file defines how the packages are bundled during 
    the installation.  In the Red Hat distribution, this is done according to the
    functionality they provide, for example:
    <P
></P
><UL
><LI
STYLE="list-style-type: opencircle"
><P
>Printer Support</P
></LI
><LI
STYLE="list-style-type: opencircle"
><P
>X Window System</P
></LI
><LI
STYLE="list-style-type: opencircle"
><P
>GNOME</P
></LI
><LI
STYLE="list-style-type: opencircle"
><P
>KDE</P
></LI
><LI
STYLE="list-style-type: opencircle"
><P
>Mail/WWW/News Tools</P
></LI
><LI
STYLE="list-style-type: opencircle"
><P
>...</P
></LI
><LI
STYLE="list-style-type: opencircle"
><P
>Kernel Development</P
></LI
><LI
STYLE="list-style-type: opencircle"
><P
>Extra Documentation</P
></LI
></UL
>
  </P
><P
>    Sometime during the installation process, the user is presented with a
    dialog called "Components to install". Some of the components have been
    preselected, and others not. The last item on the components list is called
    "Everything".
    On the dialog box, there is also an option that enables the user to
    customize exactly what packages will be installed.  Customizing the
    installation by hand, or selecting "Everything" in the components list is
    the only way to have your own packages installed unless you modify the
    <TT
CLASS="FILENAME"
>RedHat/base/comps</TT
> file.
  </P
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN697"
></A
>7.1. Format of <TT
CLASS="FILENAME"
>comps</TT
> file in RedHat versions &#60; 6.1</H2
><P
>      The <TT
CLASS="FILENAME"
>comps</TT
> file currently starts with a header describing 
      the version of the comps format, followed by an empty line.
      <TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>        0.1
        &#60;empty line&#62;
      </PRE
></FONT
></TD
></TR
></TABLE
>
    </P
><P
>      After this, the components are listed, separated by empty lines:
      <TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>        &#60;component 1&#62;
        &#60;empty line&#62;
        &#60;component 2&#62;
        &#60;empty line&#62;
        ....
        &#60;component n&#62;
        &#60;empty line&#62;
        EOF
      </PRE
></FONT
></TD
></TR
></TABLE
>
    </P
><P
>      Each component has the following definition:
      <TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>        (0|1) (--hide)? &#60;name&#62;
        &#60;RPM 1&#62;
        &#60;RPM 2&#62;
        ...
        &#60;RPM n&#62;
        end
      </PRE
></FONT
></TD
></TR
></TABLE
>
    </P
><P
>      Before the name of each component, 0 or 1 is given. A value of 1 here means
      that the component is chosen by default, and 0 means it's not. The option
      <EM
>--hide</EM
> means that you will not see the entry, unless you 
      choose <SPAN
CLASS="QUOTE"
>"expert"</SPAN
> installation. The first component is called 
      <SPAN
CLASS="QUOTE"
>"Base"</SPAN
>, and that is special, in the sense that it 
      <EM
>must</EM
> be present and it does not show up in the dialog 
      (you can't deselect the base installation, which makes sense...). Next 
      follows a list of rpm packages belonging to that component. 
      Note that this is the package name stored <EM
>in the rpm file</EM
>, 
      and <EM
>not</EM
> any part of the file name of the package (although 
      it should be the same by convention).
    </P
><P
>      By adding your packages to the <TT
CLASS="FILENAME"
>comps</TT
> file, you can customize 
      your own distribution, and make sure that your packages will be installed by default. 
      One thing to be careful about is interdependence among your packages, but here, you 
      are on your own :-) A word of warning: be careful not to add or remove extra whitespace 
      in the file. Examine the existing <TT
CLASS="FILENAME"
>comps</TT
> file (make a copy of 
      the original) to see how it's done (or check 
      <TT
CLASS="FILENAME"
>i386/misc/src/install/pkgs.c</TT
> if you want to see how the file 
      is parsed).
    </P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN718"
></A
>7.2. Format of comps file in RedHat version 6.1</H2
><P
>      With RedHat version 6.1, the format of the <TT
CLASS="FILENAME"
>comps</TT
> file has changed.  
      The decoding takes place in 
      <TT
CLASS="FILENAME"
>${RHROOT}/${ARCH}/misc/src/anaconda/comps.py</TT
>. I didn't 
      analyze yet this python script and the following rules were obtained only by 
      reading the file and testing some configurations for it.
    </P
><P
>      In release 6.1, the definition of <EM
>component</EM
> is extended to 
      include some more optional elements beside the <EM
>&#60;RPM&#62;</EM
> 
      ones. These elements are:
        <TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>          &#60;arch-dependent-RPM 1&#62;
          ...
          &#60;arch-dependent-RPM n&#62;
          &#60;required-component 1&#62;
          ...
          &#60;required-component n&#62;
          &#60;component-dependent-RPM 1&#62; 
          ...
          &#60;component-dependent-RPM n&#62;
        </PRE
></FONT
></TD
></TR
></TABLE
>
      </P
><P
>        An &#60;arch-dependent-RPM&#62; defines a dependency between a package and specific 
        architecture and has the following definition:
        <TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>          (!)?arch: &#60;RPM&#62;
        </PRE
></FONT
></TD
></TR
></TABLE
>
      </P
><P
>        So it can, for example, present itself, in the real world, as: 
        <TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>          !alpha: kernelcfg
        </PRE
></FONT
></TD
></TR
></TABLE
>
        which means: if architecture is not alpha then install package 
        <EM
>kernelcfg</EM
>.
      </P
><P
>        Or as:
        <TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>          i386: mkbootdisk
        </PRE
></FONT
></TD
></TR
></TABLE
>
        which means if architecture is i386 then install package 
        <EM
>mkbootdisk</EM
>
      </P
><P
>        A &#60;required-component1&#62; enforces the dependency from another component and is 
        defined as:
        <TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>          @ &#60;component&#62;
        </PRE
></FONT
></TD
></TR
></TABLE
>
      </P
><P
>        So, for example, if inside a component definition you find the following line:
        <TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>          @ Networked Workstation
        </PRE
></FONT
></TD
></TR
></TABLE
>
        it means that the component itself needs the installation of another component 
        named <EM
>Networked Workstation</EM
>.
      </P
><P
>        A &#60;component-dependent-RPM&#62; is used to select the installation of some 
        additional packages for a component, given the presence of another component. 
        Its definition is as follows:
        <TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>          ? &#60;component&#62; { 
            &#60;RPM 1&#62;
            ...
            &#60;RPM n&#62;
          }
        </PRE
></FONT
></TD
></TR
></TABLE
>
      </P
><P
>        So if, for example, in a component definition, you happen to read the following 
        lines:
      <TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>        ? KDE { 
          kpppload
        }
      </PRE
></FONT
></TD
></TR
></TABLE
>
      then if the <EM
>KDE</EM
> component is installed, the package 
      <EM
>kpppload</EM
> will be installed together with the packages 
      included in the component the definition was found in.
    </P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN746"
></A
>7.3. Format of comps file in RedHat version 6.2</H2
><P
>      With RedHat version 6.2, the format of the <TT
CLASS="FILENAME"
>comps</TT
> file
      has, apparently, changed just slightly.  The decoding takes place in
      <TT
CLASS="FILENAME"
>${RHROOT}/${ARCH}/misc/src/anaconda/comps.py</TT
> even in this 
      case. Once again, I didn't analyze yet this python script and the following rules 
      were obtained only by reading the file and testing some configurations for it.
    </P
><P
>  
      In release 6.2, the definition of component is extended to include two more 
      optional elements which are:
      <TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>        &#60;lang-dependent-RPM 1&#62;
        ...
        &#60;lang-dependent-RPM n&#62;
        &#60;arch-dependent-component 1&#62;
        ...
        &#60;arch-dependent-component n&#62;
      </PRE
></FONT
></TD
></TR
></TABLE
>
    </P
><P
>      A <EM
>&#60;lang-dependent-RPM&#62;</EM
> is needed to specify the 
      installation of a package in case a specific language was selected. It's 
      defined as:
      <TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>        (lang &#60;language&#62;): &#60;RPM&#62;
      </PRE
></FONT
></TD
></TR
></TABLE
>
    </P
><P
>      For example, the following line:
      <TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>        (lang ja_JP)): locale-ja
      </PRE
></FONT
></TD
></TR
></TABLE
>
      means: if the Japanese language is selected, then install the 
      <EM
>locale-ja</EM
> package together with the other packages installed 
      for the current component.
    </P
><P
>      An <EM
>&#60;arch-dependent-component&#62;</EM
> extends the concept of 
      <EM
>&#60;arch-dependent-RPM&#62;</EM
> introduced in release 6.1 to an 
      entire component, as you can understand reading the definition:
      <TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>        (!)?arch: &#60;component&#62;
      </PRE
></FONT
></TD
></TR
></TABLE
>
    </P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN763"
></A
>7.4. Format of comps file in RedHat version 7.3</H2
><P
>      With RedHat version 7.3, the format of the <TT
CLASS="FILENAME"
>comps</TT
> file
      has gained some more syntactical power.  The decoding takes place (again) in
      the <TT
CLASS="FILENAME"
>comps.py</TT
> script, which you can now find in the
      <TT
CLASS="FILENAME"
>/usr/lib/anaconda/</TT
> directory if you have installed the 
      <EM
>anaconda</EM
> package. The dependencies on a language or an 
      architecture by a component or a package can now be joined with the 
      <EM
>and</EM
> operator. For example:
      <TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>        (arch !s390 and arch !s390x and arch !ia64): readline2.2.1
      </PRE
></FONT
></TD
></TR
></TABLE
>
    </P
><P
>      which means if architecture is not any of s390, s390x, ia64 then install 
      the package readline2.2.1. This can be done with components instead of 
      packages and languages instead of architectures. All this, is definitely more 
      than enough for the simple examples of customization of the default installation 
      which will be presented in the next section. 
    </P
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="CUSTOM-COMPS-RH73"
></A
>7.4.1. Customizing the default installation of RedHat version 7.3</H3
><P
>        The example we will go through in this section implies modifications to the 
        <EM
>comps</EM
> file to change the default values for packages 
        installation. I usually prefer, in fact, particularly in certain situations a 
        default installation including only the base packages, with some slight 
        alterations to some of them. In the first of the presented examples, we will 
        build a default installation which has the <EM
>libsafe</EM
> added 
        to the <SPAN
CLASS="QUOTE"
>"Base"</SPAN
> component and most of the packages which are usually 
        installed by default are deselected, so to build a minimal installation. In the 
        second of the examples, we will modify some of the components to build another 
        minimal installation which fits (this time, almost perfectly) our needs (they are, 
        actually, my needs, your mileage may definitely vary). If you want to include a 
        modified <EM
>comps</EM
> file in your CDs, you should copy 
        it into the main tree just before starting the operations described in 
	<A
HREF="include-updates.html#RH73-REBUILD"
>Rebuilding the 7.3/8.0 installer</A
>.
      </P
><DIV
CLASS="SECT4"
><H4
CLASS="SECT4"
><A
NAME="AEN781"
></A
>7.4.1.1. Adding RPMS and deselecting default components</H4
><P
>          To customize your installation this way, you have to edit the 
          <TT
CLASS="FILENAME"
>comps</TT
> file with your favourite text editor (pay 
          attention not to leave harmful spaces or tabs in the file) and move it 
          to the <TT
CLASS="FILENAME"
>Redhat/base</TT
> directory overwriting the original 
          one.
        </P
><P
>          In the <A
HREF="rhcd-scripts/comps/comps.1"
TARGET="_top"
>          first comps file</A
> included, the <EM
>libsafe</EM
> 
          package was added to the <SPAN
CLASS="QUOTE"
>"Base system"</SPAN
> component and almost 
          every component was deselected so to have a default installation comprising 
          only two hundred packages (I know they can still be too many...). 
        </P
></DIV
><DIV
CLASS="SECT4"
><H4
CLASS="SECT4"
><A
NAME="AEN790"
></A
>7.4.1.2. Modify some of the standard components</H4
><P
>          In the <A
HREF="rhcd-scripts/comps/comps.2"
TARGET="_top"
>          second comps file</A
> included, we build on the previous setup and strip 
          down the default installation a bit more (this time there will be only 154 packages 
          in the default installation). Some of the groups have been splitted to give 
          the installation some more granularity. All the modifications you do should 
          take into account the interdependencies among packages and the applications used 
          during the installation phases (you cannot remove <EM
>kudzu</EM
>, for 
          example, from the <EM
>Base</EM
> component, even if you can do it after 
          installation). It must be said that similar results can be obtained using 
          <EM
>kickstart</EM
>. For more informations about it, you can read 
          <A
HREF="http://www.redhat.com/docs/manuals/linux/RHL-7.3-Manual/custom-guide/ch-kickstart2.html"
TARGET="_top"
>  
          The RedHat Linux Customization Guide</A
>. 
            
        </P
></DIV
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN798"
></A
>7.5. Format of comps file in RedHat version 8.0 and 9</H2
><P
>      With RedHat version 8.0 and 9, the format of the <TT
CLASS="FILENAME"
>comps</TT
> file
      has changed completely and now an XML file, whose name is <TT
CLASS="FILENAME"
>comps.xml</TT
>, 
      is used. Details on the file syntax can be found in the 
      <A
HREF="http://rhlinux.redhat.com/anaconda/comps.html"
TARGET="_top"
>anaconda comps</A
> section 
      of the RedHat website. 
    </P
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="CUSTOM-COMPS-RH80"
></A
>7.5.1. Customizing the default installation of RedHat version 8.0</H3
><P
>        We will now reproduce the examples presented for release 7.3 taking into account 
        the modifications the various groups were submitted to. The most important group 
        (the <SPAN
CLASS="QUOTE"
>"Base"</SPAN
> group) is splitted here in two groups which are named 
        <SPAN
CLASS="QUOTE"
>"Base"</SPAN
> and <SPAN
CLASS="QUOTE"
>"Core"</SPAN
>. The <SPAN
CLASS="QUOTE"
>"Base"</SPAN
> group should 
        represent the  minimal possible installation. 
      </P
><DIV
CLASS="SECT4"
><H4
CLASS="SECT4"
><A
NAME="AEN811"
></A
>7.5.1.1. Our first example revisited for Redhat 8.0</H4
><P
>          This time, to customize your installation you have to edit the 
          <TT
CLASS="FILENAME"
>comps-milan.xml.in</TT
> file with your favourite text editor. 
          This file can be found  in the 
          <A
HREF="http://rhlinux.redhat.com/anaconda/comps-8.0.tar.gz"
TARGET="_top"
>          comps-8.0.tar.gz</A
> archive found on the Redhat website. To add the 
          packages information to the file you create, you need to have the 
          <TT
CLASS="FILENAME"
>comps-extras</TT
> rpm package installed. The commands 
          to be issued to complete the operation are listed in 
          <A
HREF="include-updates.html#UPD-COMPS.XML"
>Updating comps.xml</A
> and in the 
          <A
HREF="http://rhlinux.redhat.com/anaconda/comps.html"
TARGET="_top"
>documentation</A
>.
          After you create the file, you have to copy it to the 
          <TT
CLASS="FILENAME"
>Redhat/base</TT
> directory overwriting the original one. 
          If you are using <A
HREF="include-updates.html#UPDATEBUILD-SCRIPT"
>the updateBuild.sh script</A
>, you should only copy the 
          <TT
CLASS="FILENAME"
>comps-milan.xml</TT
>, (after having modified the 
          <TT
CLASS="FILENAME"
>comps-milan.xml.in</TT
> found in the 
          <TT
CLASS="FILENAME"
>comps-8.0.tar.gz</TT
> tar/gzip package and issued the 
          <EM
>make</EM
> command), to the destination you should have 
          already configured in the <EM
>COMPSFILE</EM
> variable 
          (<A
HREF="rhcd-scripts/rhcd.conf"
TARGET="_top"
>rhcd.conf</A
>).
        </P
><P
>          In the <A
HREF="rhcd-scripts/comps/comps-milan.xml.in.1"
TARGET="_top"
>          first comps file</A
> included  the <EM
>libsafe</EM
> 
          package was added to the <SPAN
CLASS="QUOTE"
>"Base"</SPAN
> group (component) and almost 
          every group (component) was deselected, apart from  <SPAN
CLASS="QUOTE"
>"Base"</SPAN
> and 
          <SPAN
CLASS="QUOTE"
>"Core"</SPAN
>, so to have a default installation comprising 
          only ~220 packages (probably too many, again...). 
        </P
></DIV
><DIV
CLASS="SECT4"
><H4
CLASS="SECT4"
><A
NAME="AEN833"
></A
>7.5.1.2. Our second example revisited for Redhat 8.0</H4
><P
>          In the <A
HREF="rhcd-scripts/comps/comps-milan.xml.in.2"
TARGET="_top"
>          second comps file</A
> included, we build on the previous setup and strip 
          down the default installation a bit more (this time, there will be only 158 packages 
          in the default installation). Once again, similar results can be obtained using 
          <EM
>kickstart</EM
>, for more informations about it you can read 
          <A
HREF="http://www.redhat.com/docs/manuals/linux/RHL-8.0-Manual/custom-guide/ch-kickstart2.html"
TARGET="_top"
>  
          The RedHat Linux Customization Guide</A
>. In the example, I didn't unselect 
          completely the installation of the <SPAN
CLASS="QUOTE"
>"Base"</SPAN
> group, because there are 
          too many packages I usually need, so I just unselected the default installation 
          for these packages making them optional. As you can see, even the 
          <TT
CLASS="FILENAME"
>redhat-logos</TT
> package in the <SPAN
CLASS="QUOTE"
>"Core"</SPAN
> group was made 
          optional. Considering that all of the packages in this group, together,  should 
          represent the <EM
>smallest possible</EM
> installation, you probably 
          don't want to do this (by the way my CDs work even with this, there should be 
          some failure I cannot see, yet). The <TT
CLASS="FILENAME"
>tripwire</TT
> package was 
          also added to the <SPAN
CLASS="QUOTE"
>"Base"</SPAN
> group. The last noticeable modification 
          was made to the <SPAN
CLASS="QUOTE"
>"dialup"</SPAN
> group, which will be installed even if 
          unselected because the <SPAN
CLASS="QUOTE"
>"Base"</SPAN
> group depends on it (as declared in 
          the group definition itself). I have selected only some packages I usually need 
          from this group for installation and left the rest of them unselected.
        </P
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="CUSTOM-COMPS-RH9"
></A
>7.5.2. Customizing the default installation of RedHat version 9</H3
><P
>        We will reproduce (again) the examples presented for release 7.3/8 taking into 
        account the modifications the various groups were submitted to. 
      </P
><DIV
CLASS="SECT4"
><H4
CLASS="SECT4"
><A
NAME="AEN850"
></A
>7.5.2.1. Our first example revisited for Redhat 9</H4
><P
>          As in the case of 8.0, to customize your installation you have to edit the 
          <TT
CLASS="FILENAME"
>comps-milan.xml.in</TT
> file with your favourite text editor. 
          This file can be found  in the 
          <A
HREF="rhcd-scripts/comps-9.tar.gz"
TARGET="_top"
>          comps-9.tar.gz</A
> file among the script <EM
>(as I said it is not 
          the same you can find on the Redhat website)</EM
>. To add the packages 
          information to the file you create, you need to have the 
          <TT
CLASS="FILENAME"
>comps-extras</TT
> rpm package installed. The commands 
          to be issued to complete the operation are listed in 
          <A
HREF="include-updates.html#UPD-COMPS.XML"
>Updating comps.xml</A
> and in the 
          <A
HREF="http://rhlinux.redhat.com/anaconda/comps.html"
TARGET="_top"
>documentation</A
>.
          After you create the file, you have to copy it to the 
          <TT
CLASS="FILENAME"
>Redhat/base</TT
> directory overwriting the original one. 
          If you are using <A
HREF="include-updates.html#UPDATEBUILD-SCRIPT"
>the updateBuild.sh script</A
>, you should only copy the 
          <TT
CLASS="FILENAME"
>comps-milan.xml</TT
>, (after having modified the 
          <TT
CLASS="FILENAME"
>comps-milan.xml.in</TT
> found in the 
          <TT
CLASS="FILENAME"
>comps-9.tar.gz</TT
> tar/gzip package and issued the 
          <EM
>make</EM
> command), to the destination you should have 
          already configured in the <EM
>COMPSFILE</EM
> variable 
          (<A
HREF="rhcd-scripts/rhcd.conf"
TARGET="_top"
>rhcd.conf</A
>).
        </P
><P
>          In the <A
HREF="rhcd-scripts/comps/comps-milan.xml.in.1-9"
TARGET="_top"
>          first comps file</A
> included  the <EM
>libsafe</EM
> 
          package was added to the <SPAN
CLASS="QUOTE"
>"Base"</SPAN
> group (component) and almost 
          every group (component) was deselected, apart from  <SPAN
CLASS="QUOTE"
>"Base"</SPAN
> and 
          <SPAN
CLASS="QUOTE"
>"Core"</SPAN
>, so to have a default installation comprising 
          only ~240 packages (mmmhhh complexity is raising high...). 
        </P
></DIV
><DIV
CLASS="SECT4"
><H4
CLASS="SECT4"
><A
NAME="AEN873"
></A
>7.5.2.2. Our second example revisited for Redhat 9</H4
><P
>          In the <A
HREF="rhcd-scripts/comps/comps-milan.xml.in.2-9"
TARGET="_top"
>          second comps file</A
> included, we build on the previous setup and strip 
          down the default installation a bit more (this time, there will be only ~175 packages 
          in the default installation). This is really similar to the example presented for 
          Redhat 8.0, so I will avoid boring you with the same explanations. Once again, similar 
          results can be obtained using <EM
>kickstart</EM
>, for more informations 
          about it you can read 
          <A
HREF="http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/custom-guide/ch-kickstart2.html"
TARGET="_top"
>  
          The RedHat Linux Customization Guide</A
>. 
        </P
></DIV
></DIV
></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"
><A
HREF="burn-cd.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="installation.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Burning the CD(s)</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Installing from the CD</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>