1/20/2017

Solaris 11 Minimal Zone - Part 1/3

Posted in , , , , ,   with  No comments     Edit
This post will try to setup a minimal solaris zone , that can be used as a minimal config. This could be useful to build a golden image.

The test box will be a Sparc T4-1 Server and will be running Solaris 11.3

jack@t4-1:~$ prtdiag -v | grep System
System Configuration:  Oracle Corporation  sun4v SPARC T4-1
Sun System Firmware 8.8.3.b 2015/12/22 08:36
====================== System PROM revisions =======================
jack@t4-1:~$

jack@t4-1:~$ uname -a
SunOS t4-1 5.11 11.3 sun4v sparc sun4v

Solaris provides different ways to create a zone. Normally if no options are provided the zone will be created with the default zone manifest. The manifest defines how the zone will be installed ( packages to be installed in the zone, along with publisher information and certificate and key files as necessary)

From https://docs.oracle.com/cd/E53394_01/html/E54752/z.inst.ov-3.html#scrolltoc

The zone is installed using the packages specified by the manifest passed to the zoneadm install –m command. If no manifest is provided, the default manifest uses pkg:/group/system/solaris-small-server. A new zone has the default solaris configuration and logs (SMF repository, /etc, /var), which are only modified by the profile(s) passed to zoneadm install –s, and the networking information specified in any zonecfg add net entries.

There're several templates under /etc/zones

root@t4-1:/etc/zones# ls

SUNWdefault.xml  SYSdefault-shared-ip.xml   SYSsolaris-kz-minimal.xml  SYSsolaris.xml             deftest.xml                keys
SYSblank.xml               SYSdefault.xml        SYSsolaris-kz.xml          SYSsolaris10.xml           index


By default Solaris use the SYSdefault, if you don't specify any type of template.

Also from this doc

https://docs.oracle.com/cd/E23824_01/html/E21798/glitd.html#ngz-ai-manifest

The following file shows the default AI manifest for non-global zones. This manifest is used if you do not provide a custom AI manifest for a zone. This manifest is available at /usr/share/auto_install/manifest/zone_default.xml.

If we check that xml file, we can see that the package group defined is pkg:/group/system/solaris-small-server  

............
<facet set="true">facet.locale.pt_BR</facet>
                    <facet set="true">facet.locale.zh</facet>
                    <facet set="true">facet.locale.zh_CN</facet>
                    <facet set="true">facet.locale.zh_TW</facet>
                </image>
            </destination>
            <software_data action="install">
                <name>pkg:/group/system/solaris-small-server</name>
            </software_data>
        </software>
    </ai_instance>
</auto_install>


Some info about the pkg:/group/system/solaris-small-server group

# pkg info -r group/system/solaris-small-server

          Name: group/system/solaris-small-server
       Summary: Oracle Solaris Small Server
   Description: Provides a useful command-line Oracle Solaris environment
      Category: Meta Packages/Group Packages
         State: Not installed
     Publisher: solaris
       Version: 0.5.11
 Build Release: 5.11
        Branch: 0.175.3.1.0.5.0
Packaging Date: Tue Oct 06 13:56:21 2015
          Size: 5.46 kB
          FMRI: pkg://solaris/group/system/solaris-small-server@0.5.11,5.11-0.175.3.1.0.5.0:20151006T135621Z

Also we can see all the packages inside that group

# pkg contents -o fmri -H -rt depend -a type=group group/system/solaris-small-server

compress/bzip2
compress/gzip
compress/p7zip
compress/pbzip2
compress/pixz
compress/unzip
compress/xz
compress/zip
developer/debug/mdb
diagnostic/cpu-counters
diagnostic/latencytop
diagnostic/powertop
diagnostic/scanpci
diagnostic/snoop
diagnostic/tcpdump
diagnostic/wireshark/tshark
driver/network/ethernet/dmfe
driver/network/ethernet/eri
driver/network/ethernet/hme
driver/network/ethernet/qfe
driver/network/wlan/pcan
driver/network/wlan/pcwl
driver/storage/glm
editor/vim/vim-core
group/system/management/rad/rad-server-interfaces
group/system/solaris-core-platform
media/cdrtools
media/xorriso
naming/ldap
network/dns/bind
network/ipfilter
network/open-fabrics
network/ping
network/rsync
network/ssh
package/pkg
release/name
release/notices
release/registration
runtime/java/jre-8
security/compliance
security/nss-utilities
security/sudo
security/tcp-wrapper
service/file-system/nfs
service/network/smtp/sendmail
service/network/ssh-common
service/network/wpa
service/security/gss
service/security/kerberos-5
shell/bash
shell/ksh93
support/explorer
system/boot-environment-utilities
system/boot/grub
system/core-os
system/data/terminfo/terminfo-core
system/data/timezone
system/device-administration
system/dtrace
system/dtrace/dtrace-toolkit
system/fault-management
system/fault-management/asr-notify
system/fault-management/smtp-notify
system/file-system/autofs
system/file-system/hsfs
system/file-system/nfs
system/file-system/pcfs
system/file-system/udfs
system/file-system/ufs
system/file-system/uvfs
system/file-system/zfs
system/firmware-utilities
system/install/configuration
system/install/locale
system/io/fc/fc-fabric
system/kernel/cpu-counters
system/kernel/io-performance-counters
system/kernel/power
system/kernel/suspend-resume
system/kernel/ttrace
system/keyboard/keyboard-utilities
system/ldoms/ldomsmanager
system/library/iconv/utf-8
system/library/platform
system/linker
system/locale
system/management/fwupdate
system/management/hwmgmtcli
system/management/ilomconfig
system/management/ipmitool
system/management/ocm
system/management/rad
system/management/rad/client/rad-java
system/management/rad/client/rad-python
system/management/raidconfig
system/manual
system/manual/locale
system/network
system/network/bpf
system/network/ike
system/network/nis
system/network/routing
system/picl
system/prerequisite/gnu
system/resource-mgmt/dynamic-resource-pools
system/resource-mgmt/resource-caps
system/resource-mgmt/resource-pools
system/storage/fc-utilities
system/storage/multipath-utilities
system/storage/nvme-utilities
system/storage/raid-utilities
system/storage/sas-utilities
system/system-events
system/virtual-console
system/zones
system/zones/brand/brand-solaris
system/zones/brand/brand-solaris-kz
terminal/luit
terminal/resize
text/doctools
text/doctools/ja
text/less
text/spelling-utilities
web/wget

There's a lightweight package group called group/system/solaris-minimal-server

Let see some info about this group

# pkg info -r group/system/solaris-minimal-server                            

Name: group/system/solaris-minimal-server
       Summary: Oracle Solaris Minimal Server
   Description: Provides the minimal, supported command-line Oracle Solaris
                environment
      Category: Meta Packages/Group Packages
         State: Not installed
     Publisher: solaris
       Version: 0.5.11
 Build Release: 5.11
        Branch: 0.175.3.1.0.5.0
Packaging Date: Tue Oct 06 13:56:20 2015
          Size: 5.46 kB
          FMRI: pkg://solaris/group/system/solaris-minimal-server@0.5.11,5.11-0.175.3.1.0.5.0:20151006T135620Z


# pkg contents -o fmri -H -rt depend -a type=group group/system/solaris-minimal-server

network/ping
service/network/ssh-common
shell/tcsh
shell/zsh
system/network

If we compare both package groups there's a big difference about the software installed

pkg contents -o fmri -H -rt depend -a type=group group/system/solaris-minimal-server | wc -l

  5

pkg contents -o fmri -H -rt depend -a type=group group/system/solaris-small-server | wc -l

 125

Also there's a larger package group called group/system/solaris-large-server

pkg contents -o fmri -H -rt depend -a type=group group/system/solaris-large-server | wc -l

219

You can do your math :)

Also an interesting link can be found here, with the explanation of each package member of a group. Oracle Solaris 11.3 Package Group Lists

I finish this package comparison on this post and i will continue the setup process in the next entry


Cheers

Rodolfo


0 comentarios:

Post a Comment