1/28/2017

Chile is burning

Has been a real nightmare for my country Chile, the last 10 days. We have been affected for several wildfires distributed across the country, affecting to thousands of citizens and destroying almost 362.000 hectares of forests, even a small town disappeared (Santa Clara).

There're several campaigns looking for help of any type (volunteers, water , medical supplies, among other things).

If you want to send any help to Chile is highly appreciated, you can find here, several ways to do so.


Fundraising Campaigns

1/24/2017

Macerados and the art of flavour

As i mentioned in a previous post, i'm an enthusiast about cooking and bartending. Since i was child i used to spend some quality time with my family, preparing lovely dinners and enjoying different types of coctels.

Since i came to Peru for living, i was excited about their Pisco (liquor made from different grapes of high graduation ,35°-40° average). It's produced in different valleys across Peru ( Lima, Ica, Arequipa, Moquegua and Tacna). We also produce Pisco in Chile and if you want to see some of the differences, you can check this link.




In one of the visits to the local restaurants, I had the chance to drink the "Chilcano", which is a typical drink,  prepared with Ginger Ale , Pisco and a dash of Limon Juice; really great and refreshing. 

I had also the chance to drink a "Macerado", which is pisco rested with several ingredients, that can be dried or fresh fruits, roots, grains, leafs, among other things.

Once i tried the macerados, I became a big fan and i started to create my own versions. 







I will post in future entries those recipes . I also tried to expand this technique to other types of alcohol with great results (orange flavored tequila, spicy rums, dried tomatoes flavored vodka, among other inventions).


Stay tuned , and thanks for visiting

Cheers

Rodolfo





1/20/2017

Solaris 11 Minimal Zone - Part 3/3

CONCLUSIONS AND FINAL THOUGHTS

- This post will help to review some basics concepts related to Solaris 11 pkg repositories (groups, manifests, templates, etc).

- We cannot see big differences between both package groups, if we look a bit deeper the main differences , we will find that,  in the small-server-group will find other pkg's oriented to:

     - Network and diagnostic tools

          diagnostic/cpu-counters (solaris)                 0.5.11-0.175.3.0.0.30.0    i--
          diagnostic/snoop (solaris)                        0.5.11-0.175.3.0.0.30.0    i--
          diagnostic/tcpdump (solaris)                      4.7.4-0.175.3.0.0.30.0     i--
          diagnostic/wireshark/tshark (solaris)             1.12.7-0.175.3.1.0.3.0     i--
          diagnostic/wireshark/wireshark-common (solaris)   1.12.7-0.175.3.1.0.3.0  
          network/dns/bind (solaris)                        9.6.3.11.3-0.175.3.1.0.2.0 i--
          network/ipfilter (solaris)                        0.5.11-0.175.3.1.0.3.0     i--
          network/open-fabrics (solaris)                    1.5.3-0.175.3.0.0.30.0     i--
          network/ping (solaris)                            0.5.11-0.175.3.0.0.30.0    i--
          network/rsync (solaris)  

     - Some additional python libraries

     - Email server

          service/network/smtp/sendmail (solaris)           8.15.1-0.175.3.1.0.2.0     i--

     - Support for other filesystems, including nfs

          system/file-system/autofs (solaris)               0.5.11-0.175.3.0.0.30.0    i--
          system/file-system/hsfs (solaris)                 0.5.11-0.175.3.0.0.30.0    i--
          system/file-system/nfs (solaris)                  0.5.11-0.175.3.0.0.30.0    i--
          system/file-system/pcfs (solaris)                 0.5.11-0.175.3.0.0.30.0    i--
          system/file-system/udfs (solaris)                 0.5.11-0.175.3.0.0.30.0    i--
          system/file-system/ufs (solaris)                  0.5.11-0.175.3.0.0.30.0    i--
          system/file-system/uvfs (solaris)  

     - RAD modules (Solaris Remote Administration Daemon )

          system/management/rad/client/rad-python (solaris) 0.5.11-0.175.3.0.0.30.0    i--
          system/management/rad/module/rad-dlmgr (solaris)  0.5.11-0.175.3.0.0.30.0    i--
          system/management/rad/module/rad-files (solaris)  0.5.11-0.175.3.0.0.30.0    i--
          system/management/rad/module/rad-kstat (solaris)  0.5.11-0.175.3.0.0.30.0    i--
          system/management/rad/module/rad-network (solaris) 0.5.11-0.175.3.0.0.30.0    i--
          system/management/rad/module/rad-panels (solaris) 0.5.11-0.175.3.0.0.30.0    i--
          system/management/rad/module/rad-smf (solaris)    0.5.11-0.175.3.0.0.30.0    i--
          system/management/rad/module/rad-time (solaris)   0.5.11-0.175.3.0.0.30.0    i--
          system/management/rad/module/rad-usermgr (solaris) 0.5.11-0.175.3.0.0.30.0    i--
          system/management/rad/module/rad-zfsmgr (solaris) 0.5.11-0.175.3.0.0.30.0    i--
          system/management/rad/module/rad-zonemgr (solaris) 0.5.11-0.175.3.1.0.2.0     i--

...among other small things.

- If you are not planning to use any of this server features, i think a good start point, could be use the minimal-server version and then add functionalities according to your needs.

- We use in this demonstration non-global zones, but the recipe can be extended easily to kernel zones, because we can define the manifest for the installation to be used, the same way was explained in this document.

- This instructions are also applicable for Solaris 11.2

- Another way to accomplish this minimal configuration is to create a template, specifying the manifest and some other parameters and then use this template during zone creation. I will dedicate another post entry for this purpose.

INDEX

Solaris 11 Minimal Zone - Part 1/3
Solaris 11 Minimal Zone - Part 2/3
Solaris 11 Minimal Zone - Part 3/3

Cheers

Rodolfo


Solaris 11 Minimal Zone - Part 2/3

I will start this post creating a default solaris zone, so we can see the main differences with our lightweight zone

We can see that there's no zones created in our box, we are only running the default. global zone.

jack@t4-1:/$ zoneadm list -cv
  ID NAME     STATUS   PATH       BRAND      IP
   0 global   running   /        solaris    shared

I will create the defaultzone zone

root@t4-1:/zones# zonecfg -z defaultzone
Use 'create' to begin configuring a new zone.
zonecfg:defaultzone> create
create: Using system default template 'SYSdefault'
zonecfg:defaultzone> set zonepath= /zones/defaultzone
zonecfg:defaultzone> commit
zonecfg:defaultzone> exit

root@t4-1:/zones#
root@t4-1:/zones# zoneadm -z defaultzone install
The following ZFS file system(s) have been created:
    rpool/zones/defaultzone
Progress being logged to /var/log/zones/zoneadm.20170120T200327Z.defaultzone.install
       Image: Preparing at /zones/defaultzone/root.

 Install Log: /system/volatile/install.19363/install_log
 AI Manifest: /tmp/manifest.xml.EDa4YL
  SC Profile: /usr/share/auto_install/sc_profiles/enable_sci.xml
    Zonename: defaultzone
Installation: Starting ...

        Creating IPS image
Startup linked: 1/1 done
        Installing packages from:
..................................

DOWNLOAD                                PKGS         FILES    XFER (MB)   SPEED
Completed                            277/277   47919/47919  353.1/353.1  3.5M/s

PHASE                                          ITEMS
Installing new actions                   65417/65417
Updating package state database                 Done
Updating package cache                           0/0
Updating image state                            Done
Creating fast lookup database                   Done
Updating package cache                           3/3
Installation: Succeeded

        Note: Man pages can be obtained by installing pkg:/system/manual

 done.

        Done: Installation completed in 288.340 seconds.


  Next Steps: Boot the zone, then log into the zone console (zlogin -C)

              to complete the configuration process.

I will finish the zone setup booting the zone and finishing the configuration (i will skip booting and config process to speed up the lecture of this post)

root@t4-1:/zones# zoneadm -z defaultzone boot
root@t4-1:/zones# zlogin -C defaultzone

After network setup and after finish installation, we can see our new zone

root@t4-1:/zones# zoneadm list -cv

  ID NAME         STATUS       PATH              BRAND      IP
   0 global        running       /              solaris    shared
   3 defaultzone   running  /zones/defaultzone  solaris    excl


root@t4-1:/zones# zlogin -C defaultzone
[Connected to zone 'defaultzone' console]

We can see right now some numbers about the defaultzone

N°of process running

defuser@defaultzone:~$ ps -ef | wc -l

      36

N°of pkg installed

defuser@defaultzone:~$ pkg list | wc -l

     278

N° of services running

defuser@defaultzone:~$ svcs -a | grep online | wc -l

      90

defuser@defaultzone:~$

In order to create the zone using the lightweight package group, we need to use another manifest using that group, for that we can create a new one, copying the default one and changing the group information

root@t4-1:/zones# cd /usr/share/auto_install/manifest/
root@t4-1:/usr/share/auto_install/manifest#
root@t4-1:/usr/share/auto_install/manifest# ls
ai_manifest.xml                   default.xml                       editor                            zone_default_unified_archive.xml
default.ksh.tmpl                  default_archive.xml               zone_default.xml              
root@t4-1:/usr/share/auto_install/manifest# cp zone_default.xml zone_min.xml

Now we need to edit the zone_min.xml file and change the package group entry for pkg:/group/system/solaris-minimal-server

<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-minimal-server</name>
            </software_data>
        </software>

Now that we have done this, we can proceed to create our zone and call our new manifest (zone_min.xml)

root@t4-1:/# zonecfg -z minimalzone
Use 'create' to begin configuring a new zone.
zonecfg:minimalzone> create
create: Using system default template 'SYSdefault'
zonecfg:minimalzone> set zonepath=/zones/minimalzone
zonecfg:minimalzone> commit
zonecfg:minimalzone> exit
root@t4-1:/#

zoneadm install -z minimalzone -m /usr/share/auto_install/manifest/zone_min.xml

The following ZFS file system(s) have been created:
    rpool/zones/minimalzone
Progress being logged to /var/log/zones/zoneadm.20170120T211831Z.minimalzone.install
       Image: Preparing at /zones/minimalzone/root.

 Install Log: /system/volatile/install.22649/install_log
 AI Manifest: /tmp/manifest.xml.OcaOnS
  SC Profile: /usr/share/auto_install/sc_profiles/enable_sci.xml
    Zonename: minimalzone
Installation: Starting ...

        Creating IPS image
Startup linked: 1/1 done
        Installing packages from:
.........................................

DOWNLOAD                                PKGS         FILES    XFER (MB)   SPEED
Completed                            203/203   39178/39178  258.0/258.0  3.1M/s

PHASE                                          ITEMS
Installing new actions                   53458/53458
Updating package state database                 Done
Updating package cache                           0/0
Updating image state                            Done
Creating fast lookup database                   Done
Updating package cache                           3/3
Installation: Succeeded

        Note: Man pages can be obtained by installing pkg:/system/manual

 done.

        Done: Installation completed in 241.959 seconds.


  Next Steps: Boot the zone, then log into the zone console (zlogin -C)

              to complete the configuration process.

Log saved in non-global zone as /zones/minimalzone/root/var/log/zones/zoneadm.20170120T211831Z.minimalzone.install

root@t4-1:/zones# zoneadm -z minimalzone boot
root@t4-1:/zones# zlogin -C minimalzone

After network setup and after finish installation, we can see our new zone

minimalzone console login: minuser
Password:
Oracle Corporation      SunOS 5.11      11.3    September 2015
minuser@minimalzone:~$
minuser@minimalzone:~$
minuser@minimalzone:~$

Now we can see some numbers from the minimalzone

N°of process running

minuser@minimalzone:~$ ps -ef | wc -l

    28

N°of pkg installed

minuser@minimalzone:~$ pkg list | wc -l

     204

N° of services running

minuser@minimalzone:~$ svcs -a | grep online | wc -l

      80

As we can see there's no big difference between this two configuration, at least at the process and services level.

At the package level we can see a difference of 74 pkg that are not installed in the minimal server group

I will finish my conclusions and final thoughts in the 3rd and final part of this post.

Cheers

Rodolfo


Solaris 11 Minimal Zone - Part 1/3

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


1/11/2017

Amazon Kindle FlashCards

Tal como lo comentaba en un post anterior , considero que el uso de las flashcards es muy útil a la hora de estudiar. Al no tener mucho espacio para tener libros fisicos y por un tema de practicidad, ocupo mucho la aplicación de amazon kindle , para leer y almacenar colecciones de libros.

Muchas veces tengo que leer temas técnicos y de diversas areas de interés y ocupo la función de subrayado, para rescatar las ideas principales y la complemento con la de flashcards, de tal manera de crear una coleccion ya sea de conceptos u ideas que me permitan entender o sintetizar el contenido del texto.

Les dejo un video con parte de este proceso, para que se puedan hacer una idea.


Cada texto soporta la creación de varias flashcards (puede ser una de resumen, o varias por cada capitulo o contexto).

Tambien pueden ver aquí una breve descripción de esta funcionalidad desde amazon.

Espero les sirva este pequeño tutorial

Saludos

Rodolfo

1/08/2017

Valdivia's River Timelapse

I borned in Valdivia , a small town located in Chile's south region. This is a beautiful city surrounded by green areas and rivers. It's also well known for their Universities, their food and their touristic activities.

You can find here a small review from my city , from tripadvisor and also other touristic information from this site

A couple of years ago i decided to play a bit with timelapses, so i tried a couple of android applications to record some videos from my cellphone. I made a timelapse from a travel that i made, sailing one of the rivers from my city. I hope that you enjoy this work.



Cheers

Rodolfo