Virtual Guru's Blog – Home of Virtualization Workshops

January 8, 2010

OpenSolaris JeOS Prototype (Part 20: B130 JeOS First Touch – iPKG GUI – remote X)

Filed under: jeos, opensolaris, virtualbox, Virtualization — natiku @ 7:30 am

OpenSolaris 1003 Dev B130 JeOS Prototype First Touch (Part Three)

This is a First Touch for JeOS like configuration on dev release targeting OpenSolaris 2010.03 release, this is not a final Prototype
and content of final OpenSolaris 2010.03 JeOS Prototype can change significantly. This instructions are published for development
and testing purposes only. Please, send your feed back, questions and suggestions to jeos-discuss@opensolaris.org

This entry is part of OpenSolaris CLI JeOS workshop

OpenSolaris 1003 Dev B130 JeOS Prototype First Touch (Part Three)
   iPKG GUI tools on OSOL 1003 JeOS CLI Firts Touch
      Evaluating iPKG GUI in OSOL 1003 B130 JeOS First Touch
      Installing iPKG GUI in OSOL 1003 B130 JeOS First Touch
      Trying VNC session based iPKG GUI in OSOL 1003 B130 JeOS First Touch
      AI install hints for iPKG GUI in OSOL 1003 B130 JeOS First Touch
      Install costs for iPKG GUI in OSOL 1003 B130 JeOS First Touch


iPKG GUI tools on OSOL 1003 JeOS CLI Firts Touch

iPKG GUI tools like Package Manger (SUNWipkg-gui) and Update Manager (SUNWipkg-um) use same GUI Python based PyGTK and Pango frameworks, so to ne able run them on JeOS CLI prototype we need otadd there needed remote X access, which will allow to start this tools with X output redirected to repote X display, this configuraiton will create smallest by size JeOS with iPKG GUI tools setup.

Why we need iPKG GUI, if we can make all operation in PKG CLI interface, because iPKG GUI Update Manager is main part of Update Center and its main part on Layered Unbundle SW installation delivery strategy, see 10 Simple JeOS Prototype Usage Samples (Based on JeOS VM images and Glassfish V3 Pet Catalog sample DEMO in VM Template

I already have experience with iPKG GUI tools on OpenSolaris 200906 JeOS prototype, see Minimal X env for iPKG GUI in OpenSolaris 200906 JeOS Prototype

Evaluating iPKG GUI in OSOL 1003 B130 JeOS First Touch

1. Checking iPKG GUI dependencies in OSOL 1003 B130 JeOS First Touch instance

pkg list -sa SUNWipkg-gui SUNWipkg-um
NAME (PUBLISHER)               SUMMARY
SUNWipkg-gui                   GUI for Image Packaging System
SUNWipkg-um                    Update Manager for Image Packaging System
root@osol-jeos:~# pkg info -r SUNWipkg-gui SUNWipkg-um
Name: SUNWipkg-gui
Summary: GUI for Image Packaging System
Description: GUI for Image Packaging System
Category: System/Packaging
State: Not installed
Publisher: opensolaris.org
Version: 0.5.11
Build Release: 5.11
Branch: 0.130
Packaging Date: Sat Dec 19 01:07:38 2009
Size: 4.11 MB
FMRI: pkg://opensolaris.org/SUNWipkg-gui@0.5.11,5.11-0.130:20091219T010738Z
Name: SUNWipkg-um
Summary: Update Manager for Image Packaging System
Description: Update Manager for Image Packaging System
Category: System/Packaging
State: Not installed
Publisher: opensolaris.org
Version: 0.5.11
Build Release: 5.11
Branch: 0.130
Packaging Date: Sat Dec 19 01:08:10 2009
Size: 124.03 kB
FMRI: pkg://opensolaris.org/SUNWipkg-um@0.5.11,5.11-0.130:20091219T010810Z

2. Looks like UM don’t have dependecies on needed GUI compotes ???

root@osol-jeos:~# pkg contents -m -r SUNWipkg-gui | grep require
depend fmri=SUNWgnome-python26-extras@0.5.11-0.130 type=require
depend fmri=consolidation/ips/ips-incorporation type=require
depend fmri=SUNWPython26@2.6.4-0.130 type=require
depend fmri=SUNWPython@2.4.6-0.130 type=require
root@osol-jeos:~# pkg contents -m -r SUNWipkg-um | grep require
depend fmri=consolidation/ips/ips-incorporation type=require
depend fmri=SUNWPython26@2.6.4-0.130 type=require
depend fmri=SUNWcs@0.5.11-0.130 type=require

3. Look how this dependencies will open with hidden dependencies

root@osol-jeos:~# pkg install -nv SUNWipkg-gui SUNWipkg-um | grep None | wc -l
30
pkg install -nv SUNWipkg-gui SUNWipkg-um | grep None | sed \
-e 's/opensolaris.org\// /'| sed -e 's/@/ /' | awk '{print $4}' | sort | xargs -n1 pkg list -saH
SUNWTiff                       libtiff - library for reading and writing TIFF
SUNWcairo                      Vector graphics library
SUNWfirefox                    Mozilla Firefox Web browser
SUNWgamin                      Library providing the FAM File Alteration Monitor API
SUNWgksu                       Gksu CLI and libraries
SUNWgnome-audio                GNOME audio support framework
SUNWgnome-component            GNOME CORBA ORB and component framework
SUNWgnome-config               GNOME configuration framework
SUNWgnome-gtksourceview        GNOME syntax highlighting text widget
SUNWgnome-libs                 GNOME platform libraries - development files
SUNWgnome-print                GNOME printing technology
SUNWgnome-python26-extras      Supplemental Python 2.6 bindings for GNOME
SUNWgnome-python26-libs        Python 2.6 support libraries for GNOME
SUNWgnome-spell                GNOME spell checker component
SUNWgnome-vfs                  GNOME virtual file system framework and application/MIME type registry
SUNWgtk2                       GTK+ - GIMP toolkit libraries
SUNWgtkspell                   Gtkspell provides word-processor-style highlighting
SUNWipkg-gui                   GUI for Image Packaging System
SUNWipkg-um                    Update Manager for Image Packaging System
SUNWjpg                        jpeg - The Independent JPEG Groups JPEG software
SUNWlibart                     GNOME library for high-performace 2D graphics
SUNWlibatk                     GNOME accesibility toolkit libraries
SUNWlibexif                    EXIF tag parsing library for digital cameras
SUNWlibglade                   GNOME library for loading GLADE interfaces at runtime
SUNWlibgnomecanvas             GNOME canvas library
SUNWlibtheora                  Theora video compression codec
SUNWogg-vorbis                 Ogg bitstream and Vorbis audio codec libraries
SUNWpango                      GNOME core text and font handling libraries
SUNWpapi                       Free Standards Group Open Printing API
SUNWpixman                     Pixman library

We need also to take in account then these X related stuff was already installed in system with SUNWcsd denpdencies, they can be optional in future builds:

SUNWfontconfig                 Fontconfig library
SUNWfreetype2                  FreeType2 Font library
SUNWxorg-clientlibs            X.Org Foundation X Client Libraries
SUNWxwfsw                      X Window System platform required font software
SUNWxwice                      X Window System Inter-Client Exchange (ICE) Components
SUNWxwplt                      X Window System platform software
SUNWxwxft                      Xft (X Freetype) Library

Excelent , great improvements from OpenSolaris 200906 time OSOL0906 Part 2: Minimal X env for iPKG GUI in OpenSolaris JeOS Prototype , we don’t have any more Media Lib or X server dependecies, but we sill see large Gnome part with audio and print support and Firefox (probably NSS and/or NSPR) ones, this is still side effect of JUMBO packages , rather then many small ones like know it Linux distributions

Installing iPKG GUI in OSOL 1003 B130 JeOS First Touch

1. Install iPKG GUI enforced dependencies

root@osol-jeos:~# pkg install SUNWipkg-gui SUNWipkg-um
DOWNLOAD                                  PKGS       FILES    XFER (MB)
Completed                                30/30   8750/8750    56.2/56.2

2. Check PM and UM with remote X redirection

root@osol-jeos:~# export DISPLAY=kutina-ws:0.0
On Workstation
ruda@kutina-ws# xhost +
access control disabled, clients can connect from any host
Note: generally if will want to support remote X as feature we need a wrapper script standard xdpyinfo check
Return back to JeIOS instance
root@osol-jeos:~# xdpyinfo >/dev/null; echo $?
0root@osol-jeos:~# root@osol-jeos:~# packagemanager
process 1119: D-Bus library appears to be incorrectly set up; failed to read machine uuid:
Failed to open "/var/lib/dbus/machine-id": No such file or directory
See the manual page for dbus-uuidgen to correct this issue.
D-Bus not built with -rdynamic so unable to print a backtrace
pkg install SUNWdbus
DOWNLOAD                                  PKGS       FILES    XFER (MB)
Completed                                  1/1       31/31      0.4/0.4
root@osol-jeos:~# root@osol-jeos:~# packagemanager
usr/bin/pm-updatemanager:219: PangoWarning: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='latin'
root@osol-jeos:~# root@osol-jeos:~# pm-updatemanager
/usr/bin/pm-updatemanager:219: PangoWarning: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='latin'
Font are missing, installing core fonts
root@osol-jeos:~# pkg install SUNWfont-xorg-core
DOWNLOAD                                  PKGS       FILES    XFER (MB)
Completed                                  1/1     601/601    10.6/10.6
root@osol-jeos:~# root@osol-jeos:~# packagemanager
root@osol-jeos:~# root@osol-jeos:~# pm-updatemanager

So iPKG GUI in Remote X is working but GUI interface is very ugly and unreadable,
fonts are very ugly and are difficult to read, because no FONT aliasing is enabled,
may be because Pango is not configured, if not running inside X and X Windows manager,
So I will try same workaround I use in OSOL0906, running iPKG GUI in VNCserver session.

Trying VNC session based iPKG GUI in OSOL 1003 B130 JeOS First Touch

1. Installing VNCserver and default X Windows manager

root@osol-jeos:~# pkg  install -nv SUNWxvnc SUNWxwopt
Package version changes:
None -> pkg://opensolaris.org/SUNWxvnc@4.1.3,5.11-0.130:20091219T043633Z
None -> pkg://opensolaris.org/SUNWxwopt@0.5.11,5.11-0.130:20091219T043844Z
None -> pkg://opensolaris.org/SUNWxorg-xkb@0.5.11,5.11-0.130:20091219T043302Z
root@osol-jeos:~# pkg  install SUNWxvnc SUNWxwopt
DOWNLOAD                                  PKGS       FILES    XFER (MB)
Completed                                  3/3     423/423      2.9/2.9

Note: Excellent, no more depndencies on HW related X server stuff

2. Try iPKG GUI in VNC session

root@osol-jeos:~# unset DISPLAY
root@osol-jeos:~# vncserver -geometry 1600x1200 -depth 16| grep EE
(EE) Cannot create /var/dt/sdtlogin directory for display manager pipe: No such file or directory
(EE) AIGLX error: dlopen of /usr/lib/xorg/modules/dri/swrast_dri.so failed (ld.so.1:
Xvnc: fatal: /usr/lib/xorg/modules/dri/swrast_dri.so: open failed: No such file or directory)
(EE) GLX: could not load software renderer
(EE) Error compiling keymap (server-1)
(EE) XKB: Couldn't compile keymap
(EE) Cannot create /var/dt/sdtlogin directory for display manager pipe: No such file or directory
(EE) AIGLX error: dlopen of /usr/lib/xorg/modules/dri/swrast_dri.so failed (ld.so.1:
Xvnc: fatal: /usr/lib/xorg/modules/dri/swrast_dri.so: open failed: No such file or directory)
(EE) GLX: could not load software renderer
(EE) Error compiling keymap (server-1)
(EE) XKB: Couldn't compile keymap
Install font server ?
root@osol-jeos:~# pkg install SUNWxwfs
DOWNLOAD                                  PKGS       FILES    XFER (MB)
Completed                                  1/1         6/6      0.1/0.1
Fix missing "/usr/bin/xkbcomp" issue, x kbd package don't delive this link ???
root@osol-jeos:~# pkg search -r xkbcomp | grep -v link
INDEX      ACTION VALUE                       PACKAGE
basename   file   usr/bin/xkbcomp             pkg:/SUNWxorg-server@1.7.3-0.130
root@osol-jeos:~# pkg install -nv SUNWxorg-server
Package version changes:
None -> pkg://opensolaris.org/SUNWxsvc@0.5.11,5.11-0.130:20091219T043523Z
None -> pkg://opensolaris.org/SUNWpciaccess@0.10.9,5.11-0.130:20091219T024556Z
None -> pkg://opensolaris.org/SUNWxorg-server@1.7.3,5.11-0.130:20091219T043230Z
None -> pkg://opensolaris.org/SUNWxwplr@0.5.11,5.11-0.130:20091219T043907Z
None -> pkg://opensolaris.org/SUNWxorg-mesa@7.4.4,5.11-0.130:20091219T043204Z
root@osol-jeos:~# pkg search -r swrast_dri.so
INDEX      ACTION VALUE                                        PACKAGE
basename   file   usr/X11/lib/modules/dri/amd64/swrast_dri.so  pkg:/SUNWxorg-mesa@7.4.2-0.118
basename   file   usr/X11/lib/modules/dri/swrast_dri.so        pkg:/SUNWxorg-mesa@7.4.2-0.118
root@osol-jeos:~# pkg install SUNWxorg-server
DOWNLOAD                                  PKGS       FILES    XFER (MB)
Completed                                  5/5     170/170    20.4/20.4
root@osol-jeos:~# vncserver -geometry 1600x1200 -depth 16
You will require a password to access your desktops.
Password: justone1
Verify: justone1
New 'osol-jeos:1 ()' desktop is osol-jeos:1
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/osol-jeos:1.log

Hmm, looks like VNCserver separation from X is not correctly complete YET ???

3. Start ipkg GUI tools in VNC session

ruda@kurtina-ws:# vncviewer virual_host_ip:1
Stat pkg manager in termina windows and click mouse to place it.
Close PM, and VNC session
root@osol-jeos:~# vncserver -kill :1
Killing Xvnc process ID 2317

PM work wel there and is looks well, see screenshot:

AI install hints for iPKG GUI in OSOL 1003 B130 JeOS First Touch

Add this packhes to AImanifest produces Part Two this Fist Touch

1. Full list of needed packages for Remote X installation

A copy manually all requirement to one file, see here OSOL1003-JeOS-RemoteX-130.i386.lst

cat /tmp/OSOL1003-JeOS-RemoteX-130.i386.lst
SUNWTiff                       libtiff - library for reading and writing TIFF
SUNWcairo                      Vector graphics library
SUNWfirefox                    Mozilla Firefox Web browser
SUNWgamin                      Library providing the FAM File Alteration Monitor API
SUNWgksu                       Gksu CLI and libraries
SUNWgnome-audio                GNOME audio support framework
SUNWgnome-component            GNOME CORBA ORB and component framework
SUNWgnome-config               GNOME configuration framework
SUNWgnome-gtksourceview        GNOME syntax highlighting text widget
SUNWgnome-libs                 GNOME platform libraries - development files
SUNWgnome-print                GNOME printing technology
SUNWgnome-python26-extras      Supplemental Python 2.6 bindings for GNOME
SUNWgnome-python26-libs        Python 2.6 support libraries for GNOME
SUNWgnome-spell                GNOME spell checker component
SUNWgnome-vfs                  GNOME virtual file system framework and application/MIME type registry
SUNWgtk2                       GTK+ - GIMP toolkit libraries
SUNWgtkspell                   Gtkspell provides word-processor-style highlighting
SUNWipkg-gui                   GUI for Image Packaging System
SUNWipkg-um                    Update Manager for Image Packaging System
SUNWjpg                        jpeg - The Independent JPEG Groups JPEG software
SUNWlibart                     GNOME library for high-performace 2D graphics
SUNWlibatk                     GNOME accesibility toolkit libraries
SUNWlibexif                    EXIF tag parsing library for digital cameras
SUNWlibglade                   GNOME library for loading GLADE interfaces at runtime
SUNWlibgnomecanvas             GNOME canvas library
SUNWlibtheora                  Theora video compression codec
SUNWogg-vorbis                 Ogg bitstream and Vorbis audio codec libraries
SUNWpango                      GNOME core text and font handling libraries
SUNWpapi                       Free Standards Group Open Printing API
SUNWpixman                     Pixman library
SUNWfontconfig                 Fontconfig library
SUNWfreetype2                  FreeType2 Font library
SUNWxorg-clientlibs            X.Org Foundation X Client Libraries
SUNWxwfsw                      X Window System platform required font software
SUNWxwice                      X Window System Inter-Client Exchange (ICE) Components
SUNWxwplt                      X Window System platform software
SUNWxwxft                      Xft (X Freetype) Library
SUNWdbus                       Simple IPC library based on messages
SUNWfont-xorg-core             X.Org Foundation X11 core fonts

2. Full list of needed packages for VNC server installation (addons to also list for Remote X)

A copy manually all requirement to one file, see here OSOL1003-JeOS-VNCserver-130.i386.lst

cat /tmp/OSOL1003-JeOS-VNCserver-130.i386.lst
SUNWpciaccess                  PCI bus access library and tools
SUNWxorg-mesa                  Xorg Server Mesa Modules and Libraries
SUNWxorg-server                X.Org Foundation Xserver
SUNWxorg-xkb                   X.Org Foundation Xserver keyboard layouts
SUNWxsvc                       Sun Xserver pseudo driver
SUNWxvnc                       X11/VNC server
SUNWxwopt                      X Window System Optional Clients
SUNWxwplr                      X Window System platform software configuration

Install costs for iPKG GUI in OSOL 1003 B130 JeOS First Touch

1. Remove it PKG cache stuff (including ZFS snapshot !!!)

root@osol-jeos:~# rm -r /var/pkg/download/*
root@osol-jeos:~# rm -r /var/pkg/publisher/opensolaris.org/catalog/*

2. Check installed size cost

root@osol-jeos:~# zfs list
NAME                     USED  AVAIL  REFER  MOUNTPOINT
rpool                   2.28G  13.3G    80K  /rpool
rpool/ROOT              1.28G  13.3G    21K  legacy
rpool/ROOT/opensolaris  1.28G  13.3G  1.28G  /
rpool/dump               511M  13.3G   511M  -
rpool/export              70K  13.3G    23K  /export
rpool/export/home         47K  13.3G    23K  /export/home
rpool/export/home/osol    24K  13.3G    24K  /export/home/osol
rpool/swap               512M  13.8G  5.10M  -
root@osol-jeos:~# df -h
Filesystem            Size  Used Avail Use% Mounted on
rpool/ROOT/opensolaris
15G  1.3G   14G   9% /
swap                  717M  268K  717M   1% /etc/svc/volatile
/usr/lib/libc/libc_hwcap2.so.1
15G  1.3G   14G   9% /lib/libc.so.1
swap                  717M  4.0K  717M   1% /tmp
swap                  717M   44K  717M   1% /var/run
rpool/export           14G   23K   14G   1% /export
rpool/export/home      14G   23K   14G   1% /export/home
rpool/export/home/osol
14G   24K   14G   1% /export/home/osol
rpool                  14G   80K   14G   1% /rpool
/export/home/osol      14G   24K   14G   1% /home/osol

3. Switch of instance, look on disk usage and compression

init 0

Virtual disk size is 4782MB, , 7Z utra compression create 649MB file, ZIP best give 1046MB file

Well, this is not a sizes for OS JeOS downloads and pity is then when you will install additional SW , image will mostly grow, due to ZFS copy-on-write feature, see example in Glassfish based VM Template DEMO.

Best way to shrink disk is to use a ZFS send/ZFS receive procedure, similar to one I describe it here (Well, this is not a sizes for OS JeOS downloads and pity is then when you will install additional SW , image will mostly grow, due to ZFS copy-on-write feature, see example in Glassfish based VM Template DEMO).

Best way to shrink disk is to use a ZFS send/ZFS receive procedure, similar to one I describe it here [5993 Document procedure how to Shrink VDisk with ZFS send/recevie for P2V or V2V].

I will demonstrate simple script for this procedures later in Glassfish based VM Template DEMO.

4. Creating per packages costs using script for First Touch Part Two

cat /tmp/OSOL1003-JeOS-RemoteX-130.i386.lst /tmp/OSOL1003-JeOS-VNCserver-130.i386.lst | awk '{print $1}'  | xargs  -n 1 /tmp/sizes.bash  | tee /tmp/allsized.lst

Sesult is saved as OSOL1003-JeOS-RemoteXandVNCserver-130.i386.pkgsizes.lst

About these ads

1 Comment »

  1. […] OpenSolaris 1003 Dev B130 JeOS Prototype First Touch (Part Three) […]

    Pingback by OpenSolaris JeOS (Main Page) « Virtual Guru's Blog – Home of Virtualization Workshops — February 7, 2010 @ 7:37 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

The Shocking Blue Green Theme. Blog at WordPress.com.

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: