Este documento introduce OpenSolaris, un sistema operativo de código abierto basado en Solaris. Cubre la historia de Solaris y cómo se convirtió en OpenSolaris, define qué es OpenSolaris, discute otras distribuciones como Belenix y Nexenta, y destaca las ventajas de OpenSolaris para nuevos y avanzados usuarios como ZFS, contenedores, FMA, SMF y Dtrace. También explica cómo administrar paquetes con IPS y proporciona ejemplos de comandos básicos de consola como uname y pkginfo.
1. Introducción Practica a Opensolaris:
Desde el Escritorio hasta la Consola
J Mauricio Mejia Vargas
mauricio.mejia.v@gmail.com
Julio 2 - 2010
2. Opensolaris
“Simplicidad es la llave a la brillantez”
Bruce Lee
“En la variedad está el gusto”
Anónimo
(Probable usuario de sistemas *nix)
2
3. A modo de introducción
Acerca de Opensolaris Colombia
o COLOSUG (Colombia OpenSolaris User Group) es un
conjunto de personas interesadas en OpenSolaris y todas las
tecnologías alrededor de este sistema operativo.
Buscamos la adopción de OpenSolaris en Colombia y
trabajamos en conjunto con grupos locales para realizar
eventos, charlas, conferencias y talleres, con el fin de adoptar
esta plataforma como el sistema operativo predeterminado.
Es apropiado decir que cualquier tipo de persona puede
enfrentarse a la experiencia de utilizar un sistema operativo
tipo Unix y no es necesario manejar conocimientos
avanzados de informática si lo desea.
3
4. A modo de introducción
Acerca de Opensolaris Colombia
o Comenzamos como grupo en listas de correo desde Mayo de
2008
o Contamos con mas de 70 usuarios registrados compartiendo,
aportando y experimentando con Opensolaris.
o Hemos participado en los mas importantes eventos a nivel
local de software libre (Flisol, Software Freedom Day,
Campus Party)
o Hemos dictado cursos, charlas y seminarios en Universidades
y en el SENA (Tecnoparque)
4
5. Temas
o Historia de Solaris - Opensolaris
o Qué es Opensolaris?
o Aplicaciones comunes con gnu / linux (una migración sin dolor)
o Otras versiones
o Ventajas para nuevos usuarios
o Ventajas avanzadas para usuarios exigentes
o Manejo de programas (como eliminar o agregar mas programas?)
o Comandos simples en modo consola
o Comandos avanzados (pero útiles) en modo consola
5
6. Historia Solaris - Opensolaris
o Solaris 2.0 : Junio 1992 – Desarrollo comienza en 1988. Derivado
de Unix System V4
o Solaris 2.6 : Julio 1997
o Solaris 7 : Noviembre 1998
o Solaris 8 : Febrero 2000
o Solaris 9 : Mayo 2002 (SPARC), Enero 2003 (x86)
o Solaris 10 : Enero 2005
o Solaris open sourced : Junio 14 / 2005
– 1 st Release of OpenSolaris Distro : May0 5 / 2008
– 2 nd Release of OpenSolaris Distro : Noviembre 6 / 2008
– 3 rd Release of OpenSolaris Distro : Junio 1 / 2009
6
7. Historia Solaris - Opensolaris
o Nace en Junio de 2005
o Su base de desarrollo es Solaris 11
o Utiliza licencia CDDL de código abierto
aprobada por la OSI (Open Source Initiative)
7
9. Historia Solaris - Opensolaris
Comparación con respecto a
las necesidades de los
desarrolladores de copiar,
modificar o distribuir una
pieza de software
9
11. Qué es Opensolaris?
o Proyecto de código abierto patrocinado por Sun / Oracle
o Esfuerzo por unir a las comunidades de desarrolladores,
ya sea de Sun / Oracle ó de otras organizaciones
opensource.
o Cualquiera puede contribuir con el código de
Opensolaris y mejorar la tecnología del sistema
operativo => Opengrok
o OpenGrok es el motor de búsqueda de código fuente,
con OpenGrok podemos descargar el fuente de
OpenSolaris y examinar su código además de poder
hacer modificaciones para realizar modificaciones al ya
existente.
11
14. Otras versiones - Belenix
o BeleniX is essentially a first class OpenSolaris operating environment with very little
modifications to the base. It is also very stable and very compatible with SUN’s
OpenSolaris having derived packages out of sources from JDS, SFW, FOX, G11N,
Caiman and other repos plus it’s own repo. It is also a full-blown OpenSolaris
development environment being completely self-hosting. Every package delivered for
BeleniX is built on BeleniX including the base OS (ON).
14
15. Otras versiones - Milax
MilaX is a small size Live CD distribution which runs completely off a CD or a USB pendrive. It is
based on OpenSolaris and includes its basic features. What originally started as an experiment to
see how much Solaris software could fit in miniCD eventually became a full-fledged OpenSolaris
distribution.
15
16. Otras versiones - Nexenta
o Basado en Debian y OpenSolaris para los sistemas basados en IA-
32 y x86-64. Es la primera distribución que combina Glibc con el
núcleo de OpenSolaris y con las utilidades del espacio de usuario
del núcleo. Nexenta Systems, Inc. ha iniciado el proyecto y
patrocina su desarrollo continuado. Nexenta se basa en Debian,
pero con el núcleo Linux sustituido por el núcleo de OpenSolaris.
16
17. Otras versiones – StormOS – (Nexenta fork)
o StormOS is the first desktop distribution based on the Nexenta Core Platform which
combines the power of the Solaris kernel with the Ubuntu user-land and package
management system. The project aims to create a lightweight OS that can scale from
netbook to workstation including all the essentials out of the box.
o Included software:
* Polished Xfce 4.6 Desktop enviroment
* Office suite (Abiword, Gnumeric spreadsheet and Evince PDF reader)
* Gimp - GNU Image Manipulation Program
* Rhythmbox Music Player with support for iPod + iTunes sharing and Last.fm
* Ristretto image viewer
* Fast and customizable Firefox 3 web browser
* Easy package management with Synaptic Package Manager and gdebi
* Transmission bittorrent client
* Xchat IRC client and Pidgin multi-protocol instant messenger
* Bordeaux windows compatibility software
17
18. Ventajas para nuevos usuarios
o Bajo costo al momento de
implementar (Livecd / LiveUSB)
o Altamente confiable, seguro y
robusto
o Soporte centralizado
o Compatibilidad garantizada
o Escalable y altamente
disponible
o Mantenimiento simple
o Time Slider
o Lo que ya sabes lo puedes
aplicar (Gnu/Linux)
18
19. Ventajas para nuevos usuarios
Escritorio Gráfico
o Entorno gráfico con escritorio GNOME 2.28
o Firefox 3.5, Flash Player y SongBird incluidos
o Time Slider (ZFS rollback) integrado en Nautilus
o NWAM Applet para la gestión de redes WiFi y cableadas
o Gestión de permisos y ACL (Access Control List)
integrado
o Gestor gráfico de paquetes IPS actualizado (al estilo
'apt-get' - synaptic)
o Habilidad para suspender/resumir desde el escritorio
o Compiz (escritorio 3D) incluido de serie ;-)
19
20. Ventajas para nuevos usuarios
Timeslider
Que es TimeSlider?
o Proporciona una manera automática de realizar copias
de seguridad de sus datos en el mismo disco utilizando
las características del sistema de ficheros ZFS.
o Toma un “snapshot” de forma manual con un clic del
mouse y se puede volver a ella en el futuro.
o Puede navegar y recuperar los archivos de las imágenes
en las copias de seguridad usando el gestor de archivos
de GNOME.
20
23. Integración con Compiz
o Compiz consigue crear una serie de efectos
visuales que hacen del escritorio de Linux
fácil de usar, más poderoso e intuitivo, y
más accesible a los usuarios con
necesidades específicas. Combina al mismo
tiempo un manager de ventanas y un
manager compuesto utilizando OpenGL
para renderizar.
o Provee efectos gráficos en cualquier entorno
de ventanas (Gnome, KDE)
23
24. Ventajas para usuarios avanzados
o Fácil instalación,
administración y
monitoreo.
o Poderosas herramientas:
o ZFS
o Virtualización con containers
o FMA y SMF (Predictive Self-Healing)
o Análisis con Dtrace
o Crossbow
o Actualizaciones en vivo con mínimos
“Downtime”
24
25. Ventajas para usuarios avanzados - ZFS
Que es ZFS?
o Sistema de archivos de 128 bits
o Tamaño máximo de 256 cuatrillones de zettabytes
o Incorporado en Solaris 10 y filesystem por defecto
en OpenSolaris
En Wikipedia se hace la siguiente referencia sobre las
capacidades de ZFS:
“Como ejemplo de las capacidades expresadas por estos
números, si un usuario crease 1000 ficheros por segundo,
tardaría unos 9000 años en alcanzar el límite impuesto por
el número de ficheros.”
25
26. Ventajas para usuarios avanzados - ZFS
Características de ZFS
o Los dispositivos físicos se agregan a un pool de
almacenamiento
o Tiene control de errores incorporado
o Es escalable
o Se pueden crear snapshots
o Es un sistema de ficheros transaccional
o Se simplifica notablemente la administración
26
27. Ventajas para usuarios avanzados - ZFS
Características de ZFS
o Administración sencilla por comandos o web. (nos olvidamos de format, newfs,
mount, vfstab, etc..)
o Copy-on-write (ZFS no sobrescribe los nuevos datos directamente, crea los datos
en un nuevo bloque y posteriormente cambia los punteros de datos y realiza la
escritura definitiva. Con este método siempre esta garantizada la integridad de
los datos y no es necesario el uso de utilidades como fsck)
o Snapshots (capturas). Podemos sacar un “foto” de forma rápida a todo un
sistema de ficheros. Podemos instalar un paquete en el sistema y si este no
cumple nuestras expectativas podemos realizar un rollback para volver al estado
anterior.
o Comprensión. Podemos definir un sistema de ficheros donde toda la información
este comprimida.
o Mirror y RAID-Z: Se pueden definir de forma muy sencilla mirroring entre discos y
RAID-Z.
27
28. Ventajas para usuarios avanzados - ZFS
Características de ZFS - Pool
o Con ZFS todo se resume a dos comandos zfs y zpool. Tal como podemos ver en
la figura.
ZFS trabaja con un pool que esta formado por todos los dispositivos físicos. Las
características del pool son:
o El pool esta formado por dispositivos de almacenamiento de igual o diferentes
capacidades.
o El pool puede crecer y encoger añadiendo y quitando discos.
o Los sistemas de ficheros ZFS comparten el pool y se puede definir cuotas y
reservar de espacio para un solo sistema de ficheros.
28
29. Ventajas para usuarios avanzados
Virtualización con Containers
Que son las zonas y containers?
o Zonas: Instancias aisladas de Solaris, con un
filesystem aislado o compartido, root propio,
identidad propia en la web.
+
o Resource Management: Agrupa un conjunto de
procesadores en pool, provee “fair-share
schedulling”
=
o Containers: un sistema liviano de virtualización de
Sistemas Operativos.
29
30. Ventajas para usuarios avanzados
FMA y SMF (Predictive Self-Healing)
o SMF y FMA son los encargados de brindar un mecanismo sano e
integrado para manejar servicios y diagnosticar tanto problemas de
software como de hardware.
o Tecnología de recuperación automática (cuando es posible), reinicia
los daemons que fallaron (die) y desconfigura el hardware que tiene
problemas (p ej. RAM estropeada)
o Canal unificado de manejo de errores, el Fault Manager, que
interpreta los mensajes, y el Service Manager, que monitoriza los
servicios de software
o A los fallos y problemas se les asigna un único identificador que
puede ser usado por los administradores para buscar una solución
en el Predictive Self-Healing Knowledge Article Web 13
o Información mas completa:
http://blogs.sun.com/andy/entry/predictive_self_healing_eft_o
verview
30
31. Ventajas para usuarios avanzados
Análisis con Dtrace
o Herramienta de debugging e instrumentación
(framework) para depurar en caliente y sin afectar la
producción errores y/o problemas sistemáticos en el
sistema operativo y en sus aplicaciones
o Permite analizar datos del núcleo de sistema (kernel) y
en el espacio de usuario sin ninguna pérdida de
rendimiento en sistemas 'vivos' o en producción
o Se programa con un poderoso sistema de scripting, el
lenguaje D, muy similar (y más sencillo) que C/C++ y
awk
o Herramientas gráficas (Chime) integradas en NetBeans
y en la familia de compiladores Sun Studio bajo entorno
GUI 10
31
32. Ventajas para usuarios avanzados
Crossbow
o Provee la construcción de bloques para la virtualización
de redes y recursos para virtualizar el stack completo y
NIC’s alrededor de cualquier servicio (HTTP, HTTPS,
FTP, NFS, etc.), protocolo o Virtual machine.
o Se compone de 4 elementos:
- Virtual NICs
- Flow management
- Soporte de Hardware support para flow processing
- Modelo administración
32
34. Manejo de programas
IPS – Image Packaging System
o Gestión de software + paquetes.
o Instalación y actualización online.
o Verificación y chequeo por dependencias
o Herramienta gráfica (Package Manager)
o Compatible con el modelo anterior SVR4
o Permite creación de repositorios locales
o Crear y administrar varios entornos de
arranque en el sistema.
34
40. Comandos Simples en consola
o mmejiav@zfs-server:~$ uname -a
SunOS zfs-server 5.11 snv_134 i86pc i386 i86pc Solaris
o mmejiav@zfs-server:~$ pkginfo |grep -i "ssh"
system SUNWsshcu SSH Common, (Usr)
system SUNWsshdr SSH Server, (Root)
system SUNWsshdu SSH Server, (Usr)
system SUNWsshr SSH Client and utilities, (Root)
system SUNWsshu SSH Client and utilities, (Usr)
o mmejiav@zfs-server:~$ pkginfo -l SUNWsshcu
PKGINST: SUNWsshcu
NAME: SSH Common, (Usr)
CATEGORY: system
ARCH: i386
VERSION: 11.11,REV=2010.02.17.03.06
BASEDIR: /
VENDOR: Sun Microsystems, Inc.
DESC: Secure Shell protocol common Utilities
INSTDATE: Mar 10 2010 01:31
HOTLINE: Please contact your local service provider
STATUS: completely installed
40
41. Comandos Simples en consola
mmejiav@zfs-server:~$ prtdiag
System Configuration:
BIOS Configuration: Intel Corp. WB91X10J.86A.1037.2005.0216.1050 02/16/2005
==== Processor Sockets ====================================
Version Location Tag
-------------------------------- --------------------------
Intel(R) Pentium(R) 4 CPU 3.00GHz
==== Memory Device Sockets ================================
Type Status Set Device Locator Bank Locator
----------- ------ --- ------------------- ----------------
DDR in use 0 J6H1 CHAN A DIMM 0
DDR in use 0 J6H2 CHAN A DIMM 1
DDR empty 0 J6J1 CHAN B DIMM 0
DDR empty 0 J6J2 CHAN B DIMM 1
==== On-Board Devices =====================================
Intel(R) Extreme Graphics 3 Controller
Intel (R) 82562 Ethernet Device
Intel(R) Azalia Audio Device
==== Upgradeable Slots ====================================
ID Status Type Description
--- --------- ---------------- ----------------------------
12 available PCI Express PCIE X1 SLOT
1 available PCI PCI SLOT 1
2 available PCI PCI SLOT 2
41
42. Comandos Simples en consola
o En general cualquier comando que se
encuentre en GNU / Linux funciona en
Opensolaris.
42
44. Comandos avanzados (pero útiles)
Servicios
o De la misma forma en la cual si queremos referirnos a alguien lo hacemos
por su nombre y apellido, cuando queramos referirnos a un servicio lo
debemos hacer por medio de su nombre.
Entonces, lo primero será saber cómo se nombran los servicios.
En OpenSolaris el nombre de un servicio se denomina FMRI, siglas de
“Fault Management Resource Identifier”
o SMF - utilidad de gestión de servicios administra los servicios en la
máquina.
La unidad fundamental de administración en la estructura SMF es la
instancia de servicio.
Cada instancia de servicio se denomina con un identificador de recursos de
administración de fallos (FMRI) el cual incluye el nombre del servicio y el de
la instancia.
Por ejemplo, el FRMI del servicio sendmail es svc:/network/smtp:sendmail;
en este ejemplo network/smtp identifica el servicio y sendmail identifica la
instancia del servicio.
44
45. Comandos avanzados (pero útiles)
Manejo de servicios
o El comando scvs se utiliza para identificar los servicios que están instalados en el
sistema. El comando svcadm se usa para administrar o cambiar el estado de un
servicio.
o Para enumerar los servicios instalados en un sistema y el estado de cada uno:
$ svcs -a
Para mostrar un servicio con problemas de cualquier tipo:
$ pfexec svcs -x
o Mostrar el estado de un servicio específico:
$ svcs -l FMRI
o Para iniciar un servicio:
$ svcadm enable FMRI
o Comprobar que se esta ejecutando:
$ svcs -a | grep FMRI
o Detener un servicio:
$ svcadm disable FMRI
45
46. Comandos avanzados (pero útiles)
Manejo de paquetes
o Refrescar lista de paquetes desde cero (full) ; si no lo quieres / necesitas
completo sin el --full
$ pfexec pkg refresh --full
o Listar paquetes instalados
$ pfexec pkg list -a
o Buscar un paquete especifico en repositorios para luego instalar (buscando
gcc)
$ pfexec pkg search -r gcc
o Obtener info del paquete (para ver si ese es el que quiero)
$ pfexec pkg info -r gcc
o Instalar un paquete especifico
$ pfexec pkg install paquete
o Desinstalar paquete
$ pfexec pkg uninstall paquete
46
47. Comandos avanzados (pero útiles)
Paquetes - repositorios
o Al igual que apt en Debian, es posible agregar nuevos “repositorios” de
software
o Saber que “repositorio” esta actualmente
$ pfexec pkg authority
o Adicionar “repositorio” – en cada página que ofrece paquetes esta la
instrucción… pero por lo general es:
$ pfexec pkg set-authority -O {url-repositorio} {alias-repositorio}
o Eliminar una “authority” (repositorio)
$ pfexec pkg unset-authority {alias-repositorio}
47
48. Enlaces varios
o Sitio del Grupo Opensolaris Colombia
http://www.colosug.org/
o Twitter del Grupo Opensolaris Colombia
http://twitter.com/colosug
o Sitio para descargar “versiones” de Opensolaris
http://www.genunix.org/
o Documentación
http://wikis.sun.com/display/BluePrints/Main
http://www.solarisinternals.com
o Blogs sobre Opensolaris
http://blogs.sun.com/observatory/
o Mi blog / twitter
http://mmejiav.wordpress.com/
http://twitter.com/b0r0las
48
49. GRACIAS
Introducción Practica a Opensolaris:
Desde el Escritorio hasta la Consola
J Mauricio Mejia Vargas
mauricio.mejia.v@gmail.com
Julio 2 - 2010