Virtual Guru's Blog – Home of Virtualization Workshops

December 21, 2009

OpenSolaris JeOS Prototype (Part 10: JeOS Install Cost Deep Dive)

Filed under: cloud, jeos, opensolaris, virtualbox, Virtualization — natiku @ 4:04 am

This entry is part of OpenSolaris JeOS (Just Enough Operating System) Prototype workshop.

JeOS Install costs – Deep Dive


In this section I discuss in deep per package dive, for overall comparisons look at OpenSolaris JeOS Prototype (Part 8: JeOS Installation costs)

1. JeOS Install packages lists

Base lists with descriptions was created based on this PKGs output:

pkg list -s
pkg list -v

Full Live-CD distributions lists:

621 Live-CD pkgs (i386) 609 Live-CD pkgs (SPARC)

OpenSolaris 200906 JeOS Prototype packages lists:

150+ JeOS pkgs (i386) 150+ JeOS (SPARC)
JeOS Virt Drivers (i386) JeOS Virt Drivers (SPARC)
Full JeOS FMRIs (i386) Full JeOS FMRIs (SPARC)

Note: Actual list of packages is saved in JeOS during installation, see lst file in root of image

ls -a /.*.lst
/.pkgsfmris-JeOS.i386.lst  /.pkgsnames-JeOS.i386.lst

Full JeOS install size was check by this alternate root install commands:

# -------------------------------------------------------------------------------------
# Size statisctics for Common OSOL0906 Pure CLI cluster rev 1.0.0a setup on 06-Jan-2009
# -------------------------------------------------------------------------------------
#
# mkdir /export/sc
#
# pkg image-create -F -a opensolaris.org=http://pkg.opensolaris.org/release /export/sc
#
# pkg -R /export/sc set-publisher --add-mirror=http://ipkg.czech.sun.com:8000 opensolaris.org
#
# pkg -R /export/sc publisher
#   PUBLISHER                             TYPE     STATUS   URI
#   opensolaris.org          (preferred)  origin   online   http://pkg.opensolaris.org/release/
#   opensolaris.org          (preferred)  mirror   online   http://ipkg.czech.sun.com:8000/
#
# pkg -R /export/sc set-property flush-content-cache-on-success True
#
# Note: xargs line have limit 2048bytes, split drivers if you hit this issue
# cat /tmp/OS0LO906-JeOS-pkgs.lst /tmp/OS0L0906-JeOS-drvs.lst | grep -v "^#" | awk \
# '{print $1}' | xargs -t pkg -R /export/st install --no-index --no-refresh
#
# DOWNLOAD          PKGS       FILES     XFER (MB)
# Completed       155/155   29031/29031 174.32/174.32
#
# Clean IPS catalogs data, they will be recreated by pkg
# rm -r /export/sc/var/pkg/catalog/*
#
# du -s -h /export/sc
# 566M    /export/sc
#
# zip -9 -r -y /tmp/JeOS-sc.zip /export/sc/*
#
# unzip -v /tmp/JeOS-sc.zip | tail -n 1
#  539 276 541    194 701 188  64% 37655 files
#
# 7z a  -bd  -t7z -m0=lzma -ms=on -mx=9 -mfb=64 -md=64m JeOS-sc.7z /export/sc/
#
# 7z -l /tmp/JeOS-sc.7z | tail  -n 1
#  539 276 541    108 473 451  35703 files, 1953 folders
#
# Wow, we are on 200MB target , 185.6MB with zip, but 7z get around then 103.5MB (Non booted OS)
#
# Script for generaion of Relax NG XML style wrapper around packages for AI Client XML manifest
# #!/bin/sh
# cat OSOL0906-JeOS-pkgs.lst OSOL0906-JeOS-drvs.lst| egrep -v "^#"| gawk '{ \
#   if ($1 !~ /^#/ ) { printf " <pkg name=\"%s\"/> <!-- ", $1;    for (i=2;i<=NF;i++) {printf " %s ",$(i)}; print "-->" };
#   }' >JeOS-pkgs.xml
#
# Password values for AI Client XML manifest
#  osol justone1 $5$QozYKGdc$40Bo8ychJEaBVvJN5uwAzIwO7xdyuZ2ZH49L6Gd/l3.
#  root osol0906 $5$7g4VYNDC$/5E1sW/qyA7zsWqm9nJ/YE2ZtTTzXLv4miQQ3K6bfq/
# -------------------------------------------------------------------------------------
# Size statisctics for Common OSOL0906 Pure CLI cluster rev 1.0.0a setup on 06-Jan-2009
# -------------------------------------------------------------------------------------
#
# mkdir /export/sc
#
# pkg image-create -F -a opensolaris.org=http://pkg.opensolaris.org/release /export/sc
#
# pkg -R /export/sc set-publisher --add-mirror=http://ipkg.czech.sun.com:8000 opensolaris.org
#
# pkg -R /export/sc publisher
#   PUBLISHER                             TYPE     STATUS   URI
#   opensolaris.org          (preferred)  origin   online   http://pkg.opensolaris.org/release/
#   opensolaris.org          (preferred)  mirror   online   http://ipkg.czech.sun.com:8000/
#
# pkg -R /export/sc set-property flush-content-cache-on-success True
#
# Note: xargs line have limit 2048bytes, split drivers if you hit this issue
# cat /tmp/OS0LO906-JeOS-pkgs.sparc.lst /tmp/OS0L0906-JeOS-drvs.sparc.lst | grep -v "^#" | awk \
# '{print $1}' | xargs -t pkg -R /export/st install --no-index --no-refresh
#
# DOWNLOAD                                    PKGS       FILES     XFER (MB)
# Completed                                154/154 29093/29093 175.53/175.53
#
# Clean IPS catalogs data, they will be recreated by pkg
# rm -r /export/sc/var/pkg/catalog/*
#
# du -s -h /export/sc
# 555M    /export/sc
#
# zip -9 -r -y /tmp/JeOS-sc.zip /export/sc/*
#
# unzip -v /tmp/JeOS-sc.zip | tail -n 1
#  524 400 678    195 623 068  63% 39105 files
#
# 7z a  -bd  -t7z -m0=lzma -ms=on -mx=9 -mfb=64 -md=64m /tmp/JeOS-sc.7z /export/sc/
#
# 7z l /tmp/JeOS-sc.7z | tail  -n 1
#  524 400 678    102 527 303  36554 files, 2552 folders
#
# Wow, we are on 200MB target , 157.5MB with zip, but 7z get around then 101.5MB (Non booted OS)
#
# Script for generaion of Relax NG XML style wrapper around packages for AI Client XML manifest
# #!/bin/sh
# cat OSOL0906-JeOS-pkgs.sparc.lst OSOL0906-JeOS-drvs.sparc.lst| egrep -v "^#"| gawk '{ \
#   if ($1 !~ /^#/ ) { printf " <pkg name=\"%s\"/> <!-- ", $1;    for (i=2;i<=NF;i++) {printf " %s ",$(i)}; print "-->" };
#   }' >JeOS-pkgs.xml
#
# Password values for AI Client XML manifest
#  osol justone1 $5$QozYKGdc$40Bo8ychJEaBVvJN5uwAzIwO7xdyuZ2ZH49L6Gd/l3.
#  root osol0906 $5$7g4VYNDC$/5E1sW/qyA7zsWqm9nJ/YE2ZtTTzXLv4miQQ3K6bfq/

2. JeOS Install per packages cots

Per packages costs install size, download (compress size) , number of installed files, descriptions and category

OpenSolaris 200906 JeOS Prototype Per packages Costs:

JeOS Per packages costs (i386) JeOS Per packages costs (SPARC)

This per packages lists was created with this small gAWK count script:

cat >/tmp/sizes.bash << EOF
#!/usr/bin/bash
pkg -R /tmp/osol0906size contents -H -t file,license,set -o "pkg.name,action.raw" \$1 | sed -e "s/variant.arch=i386//g" | sed -e "s/[\\":=]/ /g" | gawk \
'BEGIN {CSUM=0;SUM=0;DESC="";CAT=""}
{ NAME = \$1; ++FSUM; \
for (i=1;i<NF;i++) if ( \$i ~ /^pkg.csize$/ ) { CSUM += \$(i+1)}
for (i=1;i<NF;i++) if( \$i ~ /^pkg.size$/ ) { SUM += \$(i+1)}
for (i=1;i<NF;i++) if ( \$i ~ /^org.opensolaris.category.2008$/ )  { for (a=(i+1);a<=NF;a++) {CAT = CAT" "\$(a) }} \
for (i=1;i<NF;i++) if ( \$i ~ /^description$/ )  { for (a=(i+2);a<=NF;a++) {DESC = DESC" "\$(a) }} \
}
END { RATIO=((CSUM/(SUM+1))*100);printf "%10d %2d %10d %10d %-30s '%-40s' %s\n", SUM,RATIO,CSUM,FSUM, NAME,CAT,DESC }'
EOF
chmod 0777 /tmp/sizes.bash
pkg -R  /export/sc list -H | awk '{print $1}' | xargs  -n 1 /tmp/sizes.bash >/tmp/allsized.lst
Advertisements

3 Comments »

  1. […] JeOS Install Cost Deep Dive […]

    Pingback by OpenSolaris JeOS (Main Page) « Virtual Guru's Blog – Home of Virtualization Workshops — February 7, 2010 @ 3:51 pm

  2. […] For comparison: Link to OpenSolairs 2009.06 JeOS Prototype pkg lists […]

    Pingback by OpenSolaris JeOS Prototype (Part 18: B130 JeOS First Touch – pkgs list) « Virtual Guru's Blog – Home of Virtualization Workshops — February 7, 2010 @ 7:28 pm

  3. […] Links to actual JeOS pkgs lists are here […]

    Pingback by OpenSolaris JeOS Prototype (Part 16: Inst from lists pkgs BE) « Virtual Guru's Blog – Home of Virtualization Workshops — February 7, 2010 @ 8:04 pm


RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at WordPress.com.

%d bloggers like this: