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

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

Comments:

Post a Comment:
  • HTML Syntax: NOT allowed
About

Hands-on experience with Virtualization

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today