Solaris10 Minimization

Minimizing Solaris 10 for Appliances

Solaris OS Minimization When Using Java Enterprise System (including GlassFish)

The following documentation lists several packages on Solaris 10 beyond the Core System Solaris Software Group (SUNWCreq) that should be installed:

http://docs.sun.com/app/docs/doc/819-4893/gemqx?a=view

We can probably minimize a Solaris 10 system even further, but the above combination of packages has been tested in support of App Server.

Due to how the Solaris OS packages are being refactored in the OpenSolaris binary distros, we'll probably be able to achieve an OpenSolaris image of just 100 or so MB in size to support GlassFish. Similar to what can be achieved with some Linux distros today where you can download appliances of 50-100MB including basic apps. With Solaris 10, we're limited by the relatively coarse grained packaging of the OS itself.

Minimal JES5 Solaris 10 install profile of SUNWCreq + 6 packages have for x86-64 Solaris 10u4 "packages size" of 312.3 MB,
resulted disk occupied file system size will be more then 400MB (with install logs and so on)

But we need to keep in mind then in this minimalized install are missing important parts of OS like:

  • Tools & Services: ssh access, NTP, compress utilities or shells, so I will recommend to add minimum this clusters ("packages size" 318.32 MB):
    SUNWCssh SUNWCntp SUNWCfwcmp SUNWCfwshl
  • Storage network clients like for samba/cifs (there is already automounter and nfs client)
  • DB access: libraries like for JDBC/ODBC, MySQL
  • Latest (any) Java , because Java is part of JES5 installation
  • Other admin languaes like python (there basic PERL stuff)

Packages in Software Groups (or clusters)

The Solaris 10 documentation has an exhaustive breakdown of which OS packages are in which software group:

http://docs.sun.com/app/docs/doc/820-0181/eezbb?a=view

Since use of Core worked for pretty much all of our middleware products, we haven't documented further reductions. We might be able to prune some of the "Core"packages in support for GlassFish deployments. If some packages in Core are rather large and appear to be extraneous from a core OS, JDK and app server standpoint, you could probably remove them. e.g. There are a bunch of driver packages that are probably irrelevant in the virtualized environment.

Although with a standard Solaris 10 install you can easily choose which software group (e.g. Core) to use for initial installation, it's not clear to me how you'd achieve the same selection when using the Nevada based Solaris Express Community Edition (SXCE) or Solaris Express Developer Edition (SXDE). I haven't installed those distros enough to remember the install-time package group options.

Patching Considerations

We need keep in mind them Solaris patches are generated against SUNWCreq and when we remove packages from this cluster it can affect possibility to update it with patches in future

A good example of the minimization process is on Peter's Solaris Zone - Minimalized Installation , see:
http://www.petertribble.co.uk/Solaris/miniinstall.html
http://www.petertribble.co.uk/Solaris/miniinstall2.html

Also this very conceptual article can be helpfull: Solaris 10 package minimalization, see:
http://people.arsc.edu/~clark/sun/PkgMinimize10.html

Process Solaris minimalizing and install templates are also part of Solaris Hardening, which can be done with SST (Solaris Security Toolkit), formerly JASS

See SST homepage, http://www.sun.com/software/security/jass/

SST toolkit can also help with installation automation in reproducible manner because is part of Solaris 10 JumpStart based installations.















Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

Sign up or Log in to add a comment or watch this page.


The individuals who post here are part of the extended Sun Microsystems community and they might not be employed or in any way formally affiliated with Sun Microsystems. The opinions expressed here are their own, are not necessarily reviewed in advance by anyone but the individual authors, and neither Sun nor any other party necessarily agrees with them.

Copyright 1994-2009 Sun Microsystems, Inc.
Powered by Atlassian Confluence
Sun Guidelines on Public Discourse Privacy Policy Terms of Use Trademarks Site Map Employment Investor Relations Contact