Making Fedora Core CD #1 Standalone -- Now you're seeing it my way!

Bryan J. Smith b.j.smith at ieee.org
Tue May 25 15:22:39 UTC 2004


[ I think at this point I've spewed enough vapor, so it's time for me to
go off and do something.  I really appreciate *EVERYONE'S*! input on
this.  I'm going to try to have a "nailed down" comps.xml by the
weekend, and identify some of the "BS dependencies" that should be
removed (if any) on various, basic packages. ]

Chris Chabot wrote:  
> This is indeed a big can of worms. To further complicate the matter,
> you always need to keep the upgrade path in mind to. If someone is
> running redhat 8,9, fedora core 1 or 2, they should be able to
> download the install cd's and upgrade their existing system.

I think some people are missing the fact that I _do_ recognize that. 
And that's why I'm advocating that the full "Core" _not_ be touched.

This new sub-Core would be explicit.  Ideally it would be Core CD #1.

> This means a whole lot of packages _have_ to be included to provide
> compat-XYZ or newer versions of the already installed packages. This
> kind of means that 90% of the existing packages are automaticly tied
> in on the install cd's.

Right.  I don't disagree with that.

> So with that in mind, what profit can still be gained by re-ordering
> packages around on cd's, and making minimal install cd's?
> IMHO you could make the first cd a "Basic but relatively complete"
> install cd, which includes all basic apps, web browsers, basic
> services and server apps, yum, system-config-packages, etc; Which you
> could use to install a new functional and working Workstation, or
> Server installation.

I think that was what I was saying.
But maybe I wasn't saying it as clearly?
My apologies ;-).

> The other (3) cd's would include all the other packages that are
> currently in fedora core 2, and should be listed and described in the
> comps / rpmdb-fedora packages.
> Then if you do a clean install it would only use the first CD to do
> the basic install, run thru first-boot, and allow people to add
> additional packages from either the 3 extra's cd's (it would know
> where they are and ask for the correct cd by looking that up in the
> comps / rpmdb-fedora lists), or offer the option to download them from
> a selected mirror.
> However if you do an upgrade using the first cd, it can use the
> knowledge of what packages are on what cd's to include those in the
> upgrade, and do a clean and sound upgrade (asking for those cd's as it
> does now).
> As far as i can think off thats the only way to satisfy the upgrade
> cycle dependency, while allowing for a 1 core cd install.

Now you're seeing it my way!
Thank you for re-iterating it in another way.
Maybe now others will see it as you do.

> Ofcource then the question becomes "What packages do we include on the
> core cd". To be able to play around with that question i've written a
> little tool in PHP which i've posted in a seperate email (Subject: A
> usefull tool (Was: Making Fedora Core CD #1 Standalone)).

Right, and I'm going to start play with it.

> You would be supprised at how much you can still include on the first
> CD.. With that tool you can show that all this paranoia about "Don't
> include any, *0* apps on the core CD" is being overly zealous..

Well, I'm anal.  I'm thinking of the company that has its own, internal
Apt repository.  So it's easy to fetch what you need for different
systems.  Eventually the company should write its own comps.xml, but
this "Quark" gives them a "nice base."

Eventually I'd like to see the "Quark" weed out a lot of stupid,
unnecesary dependencies in "Core."  But that's a future ideal.

> Your able to fit quite a large collection of workstation and server
> packages on one CD.. The mix that i came up with playing with the
> dep-tree tool is:
> ./dep-tree.php -d firstboot system-config-packages mozilla yum rpm
> mdadm cups vixie-cron httpd samba jfsutils php perl usbutils
> isdn4k-utils irda-utils metacity gnome-desktop gnome-session
> gnome-panel compat-db compat-libstdc++ compat-glibc openssh
> openssh-server openssh-clients openldap samba screen magicdev
> openmotif xmms gedit lm_sensors ntp gnome-utils autofs setserial nmap
> mgetty stunnel curl eject nautilus-cd-burner nautilus-media lsof wget
> telnet ftp gnome-applets gftp openoffice.org gimp gaim links mkinitrd
> mktemp ttmkfdir mkbootdisk xpdf eog gcc autoconf automake15
> autoconf213 automake automake14 make
> Number of packages: 457
> Total size installed: 1557 Mb
> Total packaged size: 498 Mb
> So this includes (i think) all the basic packages for a working linux
> instalation, qt/gnome/kde/motif compatiblity, mozilla, gimp, gaim,
> openoffice and lots of other workstation apps, and all required basic
> server apps (webserver, openssh, telnet, ftp, yum, nmap, screen, wget,
> links etc)

I'd go the other way.  No apps.  Why?  Because in short order, it will
bloat to more than 1 CD.  The idea here is to make it as small as
possible.  Even if its only 300MB or smaller.

Someone can _always_ "fill" the official "Core" CD #1 with more -- but
it all starts with the "Quark" comps.xml _first_, as the "base."  We
need more than the 90MB one (although that's not a bad start).

BTW, does that list include Kerberos?  I probably need to find out by
using RPM-Analyzer.

> The nice thing of this is that the first CD can then offer 4 install modes:
> - Basic Workstation
> - Basic Server
> - Both server and workstation software
> - Minimal instalation (90 or so megs, already included in FC1/2)
> [x] checkbox Include development packages and tools

I  see little reason to include development.  They can be fetched via Apt/Yam.
For those that can't, Quark is not for them.  They should install the full
"Core" instead (possibly from 3rd party DVD with Extras added).

> While still offering a fully functional end result, and including all
> *-devel packages and compilers so the system is self-building and
> allows you to compile kernels, source rpm's or tarbals (imho it would
> go against the spirit of *nix / open source to have a system that
> could not compile software or it's self)

But at what point do you start not including stuff?  I say devel is out
for "Quark."  You have Apt/Yam to fetch them anytime you need.

> Then if they want all KDE apps, more server software, a slow of perl-*
> packages, databases, then the extra 3 cd's come into play (and/or
> external repositories)

Here's what I think should be in "Quark" (or whatever it is called):

- Everything in "Minimal Install" (90MB)
This is a suppport consideration

- All client network services for basic X/GNOME functionality
- All client probing/hardware support
Everything from DHCP to Mozilla, and the GTK+/GNOME to run it
This includes Fonts (which can quickly be a size issue)

- All directory service, authentication, crypto clients/services
- All network client/services having to do with file
Because if you can't connect to any network setup, you can't fetch

And that's all.  No extra GNOME applets or goodies.  No bitmaps other
than maybe the Fedora one.  No frills.  Those can be apt-get'ted.

In an enterprise environment, I'd rather have a "base" install like
Quark on a CD, and then run a script that does an "apt-get" of
everything else needed.  But that's just me.


-- 
Bryan J. Smith, E.I. -- b.j.smith at ieee.org






More information about the fedora-devel-list mailing list