Solaris 10

26
1 Solaris 10 Intel para Administradores Linux (0.14) AmericaTI.com 30 de Enero de 2007 Tabla de contenidos Introito .................................................................................................................. 2 Autoría y Copyright ...................................................................................... 2 Versiones ..................................................................................................... 2 La Instalación ....................................................................................................... 3 Inicio (boot) del Sistema Operativo ..................................................................... 5 Opciones para el Kernel .............................................................................. 5 Grub ............................................................................................................. 6 Sistemas de archivo automáticamente montados ........................................ 7 Inicio del entorno gráfico ............................................................................. 7 Entorno Gráfico .................................................................................................... 8 Paquetes .............................................................................................................. 8 Servicios ............................................................................................................ 10 Niveles de ejecución .................................................................................. 12 Servicios de red ................................................................................................. 12 Configuración de la interfaz de red ............................................................ 12 Web Server ................................................................................................ 13 Inetd ........................................................................................................... 14 Acceso al hardware ........................................................................................... 14 El sistema de archivos /devices ................................................................. 14 Detección del hardware ............................................................................. 14 Archivos de dispositivo de disco ................................................................ 15 Particionamiento ......................................................................................... 15 Creación de "slices" ................................................................................... 16 Creación de Filesystems ............................................................................ 18 Configuración de filesystems ..................................................................... 19 Configuración del Sistema ................................................................................. 19 El sistema en uso ...................................................................................... 19 El Entorno Gráfico ..................................................................................... 20 Listado de Parches Instalados ................................................................... 20 Hardware reconocido ................................................................................. 20 Solaris Management Console 2.1 .............................................................. 21 Módulos del kernel ..................................................................................... 22 Herramientas de desarrollo ............................................................................... 22 Herramientas GNU ..................................................................................... 23 Sun Studio 11 ............................................................................................ 24 Conclusiones ...................................................................................................... 25 Este documento presenta de manera sucinta un acercamiento al uso y administración de sistemas Solaris 10 en plataforma Intel, desde el punto de vista de un administrador con

Transcript of Solaris 10

Page 1: Solaris 10

1

Solaris 10 Intel paraAdministradores Linux (0.14)

AmericaTI.com30 de Enero de 2007

Tabla de contenidosIntroito .................................................................................................................. 2

Autoría y Copyright ...................................................................................... 2Versiones ..................................................................................................... 2

La Instalación ....................................................................................................... 3Inicio (boot) del Sistema Operativo ..................................................................... 5

Opciones para el Kernel .............................................................................. 5Grub ............................................................................................................. 6Sistemas de archivo automáticamente montados ........................................ 7Inicio del entorno gráfico ............................................................................. 7

Entorno Gráfico .................................................................................................... 8Paquetes .............................................................................................................. 8Servicios ............................................................................................................ 10

Niveles de ejecución .................................................................................. 12Servicios de red ................................................................................................. 12

Configuración de la interfaz de red ............................................................ 12Web Server ................................................................................................ 13Inetd ........................................................................................................... 14

Acceso al hardware ........................................................................................... 14El sistema de archivos /devices ................................................................. 14Detección del hardware ............................................................................. 14Archivos de dispositivo de disco ................................................................ 15Particionamiento ......................................................................................... 15Creación de "slices" ................................................................................... 16Creación de Filesystems ............................................................................ 18Configuración de filesystems ..................................................................... 19

Configuración del Sistema ................................................................................. 19El sistema en uso ...................................................................................... 19El Entorno Gráfico ..................................................................................... 20Listado de Parches Instalados ................................................................... 20Hardware reconocido ................................................................................. 20Solaris Management Console 2.1 .............................................................. 21Módulos del kernel ..................................................................................... 22

Herramientas de desarrollo ............................................................................... 22Herramientas GNU ..................................................................................... 23Sun Studio 11 ............................................................................................ 24

Conclusiones ...................................................................................................... 25

Este documento presenta de manera sucinta un acercamiento al uso y administración desistemas Solaris 10 en plataforma Intel, desde el punto de vista de un administrador con

Page 2: Solaris 10

Solaris 10 Intel paraAdministradores Linux (0.14)

2

medianos conocimientos de Linux u otro Unix. Puede considerarse un "Tutorial de Solaris"para iniciados.

Introito

Este texto pretende ilustrar algunas de las tareas más comunes con las que seenfrenta un usuario relativamente nuevo en el mundo de Solaris en plataforma Intel,desde la instación, pasando por diversos aspectos de configuración notables, yterminando con algunas conclusiones muy subjetivas.

El lector debe comprender que los errores de este texto son involuntarios. De igualmodo, los problemas relatados con respecto a la instalación del Sistema Operativocorresponden exclusivamente a la versión (snapshoot) particular descargada deInternet hacia Abril de 2006, los cuales podrían haberse superado en añosposteriores.

Autoría y Copyright

Este documento tiene copyright (c) 2006 AmericaTI EIRL (www.americati.com.) Seotorga permiso para copiar, distribuir y/o modificar este documento bajo los términosde la "GNU Free Documentation License, Version 1.2", excepto en lo mencionado enel siguiente párrafo. Esta licencia puede obtenerse en: http://www.gnu.org/licenses/fdl.txt

Si se desea crear un trabajo derivado o publicar este documento para cualquierpropósito, por favor contactarnos (vía nuestra página web) a fin de tener laoportunidad de proporcionar una versión más reciente. De no ser esto posible,la última versión debería estar disponible en el sitio web AmericaTI.com. [http://www.americati.com]

Son bienvenidas todas las sugerencias y correcciones.

Este documento fue confeccionado con DocBook utilizando el preprocesador Qdkdisponible en SourceForge.net. [http://qdk.sourceforge.net]

Versiones

• 0.10 Primera versión publicada

• 0.11 Nota sobre teclado español. Corregida marca tarj. Ethernet. Pruebas conambientes de desarrollo.

• 0.12 Aclaraciones mímimas; afinando redacción

• 0.13 Nota sobre GRUB

• 0.14 Correcciones menores de estilo

Page 3: Solaris 10

Solaris 10 Intel paraAdministradores Linux (0.14)

3

La Instalación

Esta experiencia de instalación se realizó en un computador relativamente antiguoadquirido de segunda mano para hacer diversas pruebas. Tiene un procesador IntelPentium III de 500Mhz (modelo DELL Optiplex GX1) con 256Mb de RAM, un discoduro de 15Gb y tres interfases de red fast Ethernet (una 3Com -integrada- y dosVia-Rhine en slots pci agregadas por mi cuenta.)

La instalación se inició con el CDROM #1 descargado del sitio web de SUN (entotal son cuatro CD's.) El BIOS de este computador puede realizar el boot desde elCDROM por lo que no hubo necesidad de generar diskettes.

Lo primero que nos llamó la atención (favorablemente) fue la aparición de un menúde GRUB (GRand Unified Bootloader) con el que tenemos bastante familiaridad(pero, ver nota Grub/Solaris sobre esta versión de GRUB más adelante.) Trasseleccionar la primera opción el kernel se carga y se inician las preguntas de rigor:idioma, teclado, etc. El sistema rápidamente intenta pasar a modo gráfico, y esallí donde hubo el primer inconveniente: se requiere 400Mb de RAM para unainstalación gráfica, por lo que se proseguirá en modo texto (pues este computadorsólo tiene 256Mb.)

La instalación en modo texto tiene un aspecto relativamente similar a las antiguasinstalaciones de DOS (no de Windows) con pantalla azul y el uso de teclas defunción F2, F3, etc. Vienen más preguntas, algunas relativamente triviales como lazona horaria y el password de "root", y otras menos sencillas como la configuraciónde red (en mi caso, configuración estática pues no deseo preparar un servidorDHCP), sin IPV6, sin NIS/LDAP/Kerberos...

Un menú nos interroga acerca de una instalación "flash" o algo similar (sin mayorexplicación) a lo que simplemente respondemos "no". Se solicita además unconjunto de "opciones de software" a ser instaladas y que en realidad no son partedel sistema operativo (por ejemplo, Software para J2EE, Documentación, etc.) alo cual también se debe responder negativamente (en caso contrario el instaladorsolicitará discos que no disponemos) y luego tenemos un menú donde se nospregunta por el tipo de instalación ¿"total"? ¿"estación de desarrollo"? ¿"sólo lobásico (core)"?... Aquí sí podemos elegir cualquiera de las opciones pues sólotienen relación con el software de los 4 CD's del sistema operativo. En nuestro casoelegimos la instalación full (pues no había gran diferencia con las otras en cuantoal espacio de disco requerido.)

Y así se llega al "problemático" tema de los discos/particiones/sistemas de archivo.

El único disco (IDE) de 15Gb ya tenía instalado un sistema (Free/BSD) y habíaaproximadamente 5Gb sin asignar. Sin embargo, por más que se intentó todas lasopciones del particionador, no se pudo crear una nueva "partición Solaris" en la zonalibre. Esto lo consideramos un bug (entre otros) del instalador. Finalmente, se optópor eliminar el Free/BSD (pues sólo era para pruebas) y al fin el instalador permitiócrear una "partición Solaris". Cabe hacer notar que en esta "partición Solaris"el sistema operativo efectúa una posterior subdivisión cuyas unidades se suelendenominar "slice", las cuales corresponden a los filesystems. Esto es similar a Free/BSD, pero no existe en los sistemas Linux en los que un filesystem normalmentecorresponde a un a partición creada con "fdisk".

Page 4: Solaris 10

Solaris 10 Intel paraAdministradores Linux (0.14)

4

En un principio decidimos asignar sólo 4Gb (a modo de prueba); Sin embargo, alintentar "regresar" para reparticionar, el instalador ya no quería hacer su trabajo.Tuvimos que resetear el computador y reiniciar la instalación. Cabe advertir que trasreiniciar, el instalador descubre" la "¿dañada?" partición Solaris y astútamente nospregunta si deseamos conservar el contenido o "inicializar el disco". Se debe elegirla segunda opción, o nuevamente se confundirá.

En esta segunda oportunidad se asigó el disco completo y pasamos a la selecciónde los sistemas de archivo a ser creados. Se ofrece (para marcar) diversos sistemascomo "/", "/usr", "/var", "/opt". A modo de prueba, decidimos seleccionar todos.Asimismo, intentamos "personalizar" los tamaños de los mismos nuestros criterios;sin embargo, aparentemente esto hizo que una vez más el instalador se confundieray dejara de trabajar... una vez más se tuvo que resetear el computador y reiniciarla instalación.

En el tercer intento obviamente permitimos que el instalador decidiera los tamañosde los sistemas de archivo (es decir, no se solicitó personalizar nada) y la instalaciónpudo proseguir. Sin embargo, antes de pasar a la siguiente etapa, debemoscomentar que posteriormente se tuvo que volver a reinstalar todo puesto queel espacio asignado en "/var" resultó ser insuficiente para la instalación de lasherramientas de desarrollo "Studio 11" que se quizo agregar posteriormente... asíque en nuestra instalación definitiva sólo se solicitó la creación de "/". De todosmodos el instalador creó el sistema de archivos "/export/home" (¡sin solicitarlo!). Lostamaños asignados (por el instalador) fueron:

Tabla 1. Sistemas de Archivos

Filesystem Tamaño

/ 3.9Gb

/export/home 9.3Gb

swap 568Mb

Nota: El directorio /export/home es el lugar estándar de creación de los directoriosde los usuarios (equivalente al /home de otros sistemas.) En el Solaris x86 FAQ seexplica la utilidad real de /home el Solaris.

La siguiente etapa corresponde a la configuración del entorno gráfico. El instaladorpermite seleccionar entre los servidores Xorg (descendiente de XFree86) y Xsun(servidor nativo de Sun.) Quizá Sun pretende desechar sus productos en los queno hace dinero y existe un fácil reemplazo "open source", tal vez por esto sugierenel uso de Xorg, y quizá su Xsun tenga los días contados.

Al menos en modo texto, el sistema hace muy poco por ayudar en la configuracióndel X Server, teniéndose que especificar manualmente el tipo de mouse, de tarjetade video y de monitor (recuérdese el antiguo programa xf86config.) A continuaciónse sugiere realizar un "test" a fin de probar los parámetros introducidos.

Sea por lo que fuere, en nuestro caso al intentar hacer el "test" del X Server, elinstalador nunca más volvió a responder (aunque parecía que seguía trabajandoa juzgar por el ruido del disco duro y la lectora de CD.) Una vez más tuvimos quereiniciar la instalación y solicitar "SALTAR EL TEST". Esto aparentemente confundeal instalador pues luego se queja de que no se ha configurado correctamente elsistema gráfico y solicita nuevamente configurar y lanzar el test. Por suerte, en la

Page 5: Solaris 10

Solaris 10 Intel paraAdministradores Linux (0.14)

5

segunda oportunidad, el "SALTAR EL TEST" sí permite proseguir. Las preguntas ylas opciones aquí ciertamente son desconcertantes.

Otra pregunta extraña que nos hace el instalador está referida al modo en quese va a hacer el reset del computador tras culminar de instalarse el primerCDROM: modo manual o automático. El modo manual aparentemente permiterealizar manualmente algunas tareas (lanzar comandos) antes de que se reinicieel computador. En este punto se debe extraer el CD #1 para que la instalacióncontinúe; de lo contrario, el BIOS se reiniciará desde el CD, y el instalador partiríade cero. Por el contrario, tras extraer el CD, el BIOS deberá hacer el boot desde eldisco duro, en el cual el instalador ya debe haber configurado GRUB en el sectorde arranque.

El resto es relativamente conocido. Intercambiar CD's, un sencillo indicador delavance relativo, y esperar.

A modo de comentario, vemos que el instalador de Solaris 10 para Intel no estáadecuamente depurado, especialmente en lo referente al modo texto. Cualquiercosa fuera de lo "estándar" lo confunde, las preguntas son confusas (como paraque a fuerza debamos matricularnos en sus cursos de administración) y la interfacees relativamente pobre (incluso en modo gráfico a juzgar por los manuales.)Esto nos hace pensar en una malentendida "política de diseño de software" quelamentablemente todavía cunde en el ambiente Unix: puesto que está dirigido a"profesionales capacitados", puede hacerse frágil, confuso y carente de explicaciónclara.

Inicio (boot) del Sistema Operativo

Tal como se indicó, el instalador coloca GRUB en el sector de arranque con lasopciones:

• Solaris 10 1/06 s10x_u1wos_19a X86

• Solaris failsafe

La opción "Solaris failsafe" inicializa el sistema en "modo de reparación", con unkernel genérico en memoria y con el root filesystem del disco montado en "/a".

Por el contrario, la primera opción permite iniciar el kernel normal "de trabajo" y trasunos pocos mensajes (a lo más seis líneas de texto) el sistema muestra su mensajeclásico de "login:".

Opciones para el Kernel

Una de las cosas más sorprendientes es la prácticamente total carencia demensajes de los servicios que se iniciaban en el sistema. Si se desea obtener losmensajes del kernel en la consola, debemos proporcionarle la opción "-v" durantela ejecución de Grub. Para esto basta presionar la tecla "e" (editar) sobre la primeraopción (Solaris 10...), ubicarse en la directiva "kernel" y volver a presionar "e" paraeditarla, y agregar "-v" al final de la directiva kernel con lo que queda:

Page 6: Solaris 10

Solaris 10 Intel paraAdministradores Linux (0.14)

6

kernel /platform/i86pc/multiboot -v

Luego presionar "b" para "boot".

Por otro lado, para ver en la consola los mensajes de los servicios iniciados por smf,usar "-m debug" en lugar de "-v". Son demasiados mensajes!

Si se desea iniciar el sistema en modo "consola gráfica" (similar a la presentaciónVGA de los Wind*ws cuando se inician), especificar via Grub:

kernel /platform/i86pc/multiboot -B console=graphics

Esta opción (y otras más) se pueden configurar en el archivo /boot/solaris/bootenv.rc:

console='graphics'

Teclado

No obstante haber seleccionado idioma español durante la instalación, el tecladoresulta tener disposición de un teclado USA. Tras buscar en muchos documentos enInternet, encuentramos (al fin) que esto se corrige modificando la línea en /boot/solaris/bootenv.rc:

setprop kbd-type US-English

por

setprop kbd-type Spanish

Extrañamente los manuales (man) parecen indicar que el comando "loadkeys"debería utilizarse con este fin1; sin embargo, a nosotros no nos surtió ningún efecto.

Log - Mensajes de Inicio

Una vez cargado el sistema operativo, el comando dmesg permite obtener losúltimos mensajes enviados por syslog. Los mensajes pueden ser leídos en elarchivo /var/adm/messages, lo cual es configurable en /etc/syslog.conf.

Grub

Como es usual, GRUB mantiene su archivo de configuración en el directorio /boot/grub/menu.lst. Nuestra partición "root", o mejor dicho, nuestro slice "root" seconfigura allí mediante:

root (hd0,0,a)

Evidentemente, "a" corresponde al primer "slice" de la primera partición (cero) deldisco duro "hd0".

1 En Linux hay un comando con este mismo nombre y que efectivamente permite hacer esta modificación para laconsola de modo texto

Page 7: Solaris 10

Solaris 10 Intel paraAdministradores Linux (0.14)

7

Grub/Solaris

En el sistema que estamos utilizando, GRUB se reporta con versión 0.95, por lo quenos pareció natural instalar otro sistema (un Linux Ubuntu) en un segundo disco duroy reemplazarlo por la versión más actualizada que este último proporciona (0.97.)

Tras efectuar esto, descubrimos (con cierto horror) que el GRUB 0.97 no reconoceel "slice" de solaris y no puede bootearlo! Investigando en el Internet, descubrimosque la versión de GRUB proporcionada por Solaris está especialmente parchadapara reconocer sus slices y su sistema de archivos, y aparentemente se espera queel futuro la distribución central de GRUB incorpore este soporte.

Afortunadamente la solución indicada es sencilla: bastó agregar la siguiente entradaen el menu.lst del GRUB de Linux:

Title Acceso a Solarisrootnoverify (hd0,0)chainloader +1

Solaris instala su GRUB en el sector de boot de la primera partición (algo similaral DOS), gracias a lo cual el GRUB instalado por Linux en el MBR puede invocarlo(un GRUB llama a otro GRUB.)

Así, tras seleccionar esta opción, el sistema automáticamente accede al GRUBinstalado por Solaris en la primera partición (obtenemos su menú GRUB original.)Es necesario emplear rootnoverify (en vez de root) pues el GRUB estándarno reconoce en absoluto la partición (hd0,0) en la que yace el Solaris.

Sistemas de archivo automáticamente montados

Los sistemas de archivo montados en el arranque se configuran en el archivo /etc/vfstab, el cual es análogo al popular /etc/fstab (aquí inexistente.) Por ejemplo,para mi "root filesystem" (/) la configuración es:

/dev/dsk/c0d0s0 /dev/rdsk/c0d0s0 / ufs 1 no -

Los archivos de dispositivo en "/dev/dsk" y "/dev/rdsk" corresponden a losdiscos, accesibles respectivamente mediante la interfaz "de bloque" o "de caracter(raw device, no usada en Linux)".

Inicio del entorno gráfico

Dependiendo de cómo le haya ido con el instalador en la sección de configuraciónde modo gráfico, luego unos quince segundos de mostrarse el indicador 'login:', elsistema automáticamente inicia el sistema de ventanas; nosotros seleccionamosXorg durante la instalación, y este servidor tiene realmente una excelente detecciónde hardware por lo que prácticamente se autoconfiguró. Si no hay éxito, esmenester ingresar con el usuario "root", y configurar el modo gráfico con el programa"kdmconfig". Aquí sí es conveniente hacer los tests sugeridos. Si todo va bien, apartir de ahora el sistema se iniciará con el modo gráfico en forma automática.

Page 8: Solaris 10

Solaris 10 Intel paraAdministradores Linux (0.14)

8

Téngase presente que si ingresamos en modo texto rápidamente (tras login:)entonces el modo gráfico no será iniciado.

Entorno Gráfico

Como se indicó, la configuración del servidor se realiza desde el instalador(problemático) o con kdmconfig. El sistema gráfico normalmente se iniciaráautomáticamente cuando se inicia el sistema operativo, y se hará evidente cuandoaparezca la presentación a color de solaris solicitando la identificación. El programaencargado de llevar a cabo esta labor es normalmente "dtlogin", el "display manager"de CDE, aunque también están disponibles el "Gnome Display Manager" (gdm) yel clásico X Display Manager (xdm.)

Entre las opciones importantes de la presentación tenemos el idioma a emplearseasí como el tipo de sesión (escritorio) que queremos utilizar:

• CDE: Common Desktop Environment

• Java Desktop System

CDE es el entorno gráfico estándar en la mayoría de sistemas Unix tradicionales,lo que garantiza un comportamiento y una apariencia extremadamente homogeneay portable entre estos sistemas; asimismo, puesto que fue diseñado paracomputadores de antiguas generaciones, para los actuales resulta muy liviano.El problema radica en que es obsoleto, limitado, y feo. Aunque esto puede sersubjetivo, el hecho concreto es que dicho escritorio no ha tenido practicamenteningún desarrollo importante en los últimos diez o quince años, por lo que hacetiempo quedó relegado tras los entornos gráficos de Apple y Micr*s*ft. Con todo,puede ser una experiencia interesante utilizarlo un rato... es como ir a un museode historia. Sin embargo, varias aplicaciones de administración importantes estándisponibles sólo desde los menús del CDE. Aunque debería ser posible, no hemosencontrado la manera de lanzar dichas aplicaciones desde el "Java Destop System".

Es esencial dar una mirada a las aplicaciones accesibles desde el "ApplicationManager", el cual (al menos en el sistema Solaris que hemos instalado) está ocultoen un menú del panel cuyo ícono simboliza un editor de texto: como siempre, losUnix no brillan por su intuitividad, si siquiera en el entorno gráfico supuestamenteamigable.

En cuanto al Java Desktop System, a nuestro parecer debería renombrarse a"Gnome Desktop System and some Java", pues es básicamente un escritorioGnome, con aplicaciones Gnome, acompañadas de algunas aplicaciones Javatípicamente tediosas de utilizar, las cuales usan los servicios de Gnome. Contodo, es un escritorio con un comportamiento y apariencia típica de estos días,especialmente para el antiguo usuario de Gnome.

Paquetes

Al igual que en muchos sistemas Unix, Solaris organiza el software instalado enpaquetes. El comando pkginfo permite obtener un largo listado de los mismos

Page 9: Solaris 10

Solaris 10 Intel paraAdministradores Linux (0.14)

9

(en nuestro caso, 1073 paquetes, teniendo en cuenta que hemos instalado softwareadicional al sistema operativo base.) El nombre del paquete aparece en la segundacolumna:

bash-3.00# pkginfo | moresystem CADP160 Adaptec Ultra160 SCSI Host Adapter Driversystem HPFC Agilent Fibre Channel HBA Driversystem NCRos86r NCR Platform Support, OS Functionality (Root)system SK98sol SysKonnect SK-NET Gigabit Ethernet Adapter SK-98xx...

Para obtener información específica empleamos la opción "-l":

bash-3.00# pkginfo -l SK98sol PKGINST: SK98sol NAME: SysKonnect SK-NET Gigabit Ethernet Adapter SK-98xx CATEGORY: system ARCH: i386 VERSION: 3.07,REV=2005.01.06.07.16 BASEDIR: / VENDOR: SysKonnect, a business unit of Schneider & Koch & Co. GmbH DESC: SysKonnect SK-NET Gigabit Ethernet Adapter SK-98xx PSTAMP: gauthier20050106071602 INSTDATE: Apr 27 2006 15:23 HOTLINE: Please contact your local service provider STATUS: completely installed FILES: 7 installed pathnames 4 shared pathnames 4 directories 2 executables 380 blocks used (approx)

En el entorno CDE está disponible la aplicación "Solaris Product Registry" (ingresarcon el "application manager" al directorio "System_Admin"), la cual permite navegarentre los paquetes cómodamente sin necesidad de los comandos "pkg*". Unaventaja interesante radica en que los paquetes aparecen ordenados en un árbol porcategoría, lo que facilita su ubicación.

Para buscar los archvos contenidos en un paquete, se puede emplear "pkgchk -l":

# pkgchk -l SUNWcsr | morePathname: /binType: symbolic linkSource of link: ./usr/binReferenced by the following packages: SUNWcsrCurrent status: installed

Pathname: /devType: directoryExpected mode: 0755Expected owner: rootExpected group: sysReferenced by the following packages: SUNWcsr SUNWcsdCurrent status: installed...

Para ubicar a qué paquete pertenece un archivo se puede buscar directamente enel log de los paquetes instalados:

Page 10: Solaris 10

Solaris 10 Intel paraAdministradores Linux (0.14)

10

# grep /etc/hosts /var/sadm/install/contents/etc/hosts=./inet/hosts s none SUNWcsr

El comando pkgadd permite instalar paquetes individuales, aunque en muchoscasos se proporcionan scripts o wizards de instalación, especialmente paraproductos grandes que contienen múltiples paquetes.

Servicios

Los "servicios" en la mayoría de Unixes y clones como Linux consistenesencialmente de procesos demonios que son ejecutados masivamente al iniciarseel sistema operativo, y posteriormente a pedido por el administrador. En muchossistemas la manera de iniciar un servicio manualmente consiste en lanzar unscript ubicado en un directorio especial (como /etc/init.d/) acompañado de lapalabra "start" (o "stop" para detenerlo.) Asimismo, el orden de lanzamiento/paradade los mismos queda determinado automáticamente por el orden alfabético de losnombres de ciertos archivos (enlaces simbólicos) ubicados en divesos directorioscorrespondientes a los famosos "niveles de ejecución".

Este esquema siempre nos pareció limitado, pero tiene la gran ventaja de ser muysencillo de utilizar; Sun lo ha mantenido en todas sus versiones de Solaris ... hastala número 9.

En Solaris 10 (se publicita como una de sus novedades) se proporciona un esquematotalmente distinto y más poderoso, aunque por ende más complicado. Se tratadel "smf" (service management facility.) A fin de ilustrar su operación, tomemos unejemplo sencillo: el servicio Sendmail.

Como se sabe, Sendmail es un MTA ampliamente difundido en los sistemas Unix.Por omisión Solaris 10 lo instala y "smf" es configurado para iniciarlo en el arranquedel sistema operativo.

Cada servicio "smf" tiene un identificador conocido como "fault managementresource identifier" o FMRI. Si desconocemos el servicio o FMRI asociado alprograma sendmail (si es que lo hay) podemos intentar hallarlo del siguiente modo:

# svcs -a | grep sendmailonline 10:33:43 svc:/network/smtp:sendmail

el FMRI es "svc:/network/smtp:sendmail", el cual siempre tiene el prefijo"svc:", y a continuación le sigue el "nombre del servicio", que en este caso es "/network/smtp". La última sección ("sendmail") corresponde a la instancia del"servicio SMTP".

Otra manera de hacerlo es aprovechar la capacidad de reconocimiento de patronesde de svcs, lo que permite en algunos abreviar el FMRI:

# svcs sendmailSTATE STIME FMRIonline 10:33:43 svc:/network/smtp:sendmail

Es equivalente a:

Page 11: Solaris 10

Solaris 10 Intel paraAdministradores Linux (0.14)

11

# svcs svc:/network/smtp:sendmailSTATE STIME FMRIonline 10:33:43 svc:/network/smtp:sendmail

Con la opción "-p" nos informamos de los procesos asociados, si los hubiera:

# svcs -p svc:/network/smtp:sendmailSTATE STIME FMRIonline 10:33:43 svc:/network/smtp:sendmail 10:33:46 361 sendmail 10:33:46 362 sendmail

Lo que coincide con la salida de ps:

# ps -ef|grep sendmailsmmsp 362 1 0 10:33:46 ? 0:00 /usr/lib/sendmail -Ac -q15m root 361 1 0 10:33:46 ? 0:00 /usr/lib/sendmail -bd -q15m

Toda la información de configuración del servicio se puede obtener con la opción -l:

# svcs -l svc:/network/smtp:sendmailfmri svc:/network/smtp:sendmailname sendmail SMTP mail transfer agentenabled truestate onlinenext_state nonestate_time Mon May 08 10:33:43 2006logfile /var/svc/log/network-smtp:sendmail.logrestarter svc:/system/svc/restarter:defaultcontract_id 52dependency require_all/refresh file://localhost/etc/mail/sendmail.cdependency require_all/refresh file://localhost/etc/nsswitch.conf (dependency optional_all/none svc:/system/filesystem/autofs (online)dependency require_all/none svc:/system/filesystem/local (online)dependency require_all/none svc:/network/service (online)dependency require_all/refresh svc:/milestone/name-services (onlinedependency optional_all/refresh svc:/system/identity:domain (onlinedependency optional_all/none svc:/system/system-log (online)

Podemos detener a Sendmail del siguiente modo:

# svcadm disable svc:/network/smtp:sendmailbash-3.00# svcs -p svc:/network/smtp:sendmailSTATE STIME FMRIdisabled 11:52:25 svc:/network/smtp:sendmailbash-3.00# ps -ef|grep sendmail

Esta deshabilitación se mantiene aún después de reiniciar el computador. La opción-t de svcadm genera una deshabilitación temporal (queda sin efecto tras elreinicio.)

Para reiniciar el servicio:

# svcadm enable svc:/network/smtp:sendmail# svcs -p svc:/network/smtp:sendmailSTATE STIME FMRIonline 11:54:23 svc:/network/smtp:sendmail 11:54:23 765 sendmail 11:54:23 766 sendmail

Page 12: Solaris 10

Solaris 10 Intel paraAdministradores Linux (0.14)

12

# ps -ef|grep sendmail root 765 1 0 11:54:24 ? 0:00 /usr/lib/sendmail -bd -q15msmmsp 766 1 0 11:54:24 ? 0:00 /usr/lib/sendmail -Ac -q15m

El sistema "smf" tiene muchas características notables, disponiendo de un "API"para desarrollar demonios compatibles que aprovechan sus recursos. Asimismo,permite establecer relaciones de dependencia a fin de que los procesos seanejecutados coordinadamente, permite reiniciar los servcios automáticamente encaso de caída, etc:

ps -ef |grep sendmail root 765 1 0 11:54:24 ? 0:00 /usr/lib/sendmail -bd -q15msmmsp 766 1 0 11:54:24 ? 0:00 /usr/lib/sendmail -Ac -q15mbash-3.00# kill 765 766bash-3.00# kill 765 766bash: kill: (765) - No such processbash: kill: (766) - No such processbash-3.00# ps -ef |grep sendmailsmmsp 824 1 0 12:10:26 ? 0:00 /usr/lib/sendmail -Ac -q15m root 821 1 0 12:10:26 ? 0:00 /usr/lib/sendmail -bd -q15m

Niveles de ejecución

El concepto de "niveles de ejecución" se mantiene, y sigue siendo administradocomo en otros sistemas Unix mediante el proceso init. Sin embargo, init informaacerca de los cambios de nivel de ejecución al demonio svc.startd, el cual seencarga de administrar los servicios "smf". Los niveles de ejecución definidos son:

Tabla 2. Niveles de ejecución

Nivel Significado

S o S Single-User, acceso únicamente porconsola

0,5,6 Reservados para shutdown/reboot

1 Modo administrativo. Sólo se montansistemas de archivo local y se inicianprocesos indispensables del kernel

2,3,4 Usados para niveles multiusuario

Para modificar el nivel de ejecución, utilizar el clásico comando telinit.

Servicios de red

Configuración de la interfaz de red

El comando "ifconfig -a" permite obtener un listado de las interfaces de redconfiguradas. En nuestro caso, el instalador sólo reconoció la tarjeta 3Com, a la queasignamos una dirección estática. Esta tarjeta es reconocida como la interfaz elxl0:

Page 13: Solaris 10

Solaris 10 Intel paraAdministradores Linux (0.14)

13

May 8 07:49:25 p3.gatogringo.com gld: [ID 944156 kern.info] elxl0: 3Com 90XX LAN driver: type "ether" mac address 00:c0:XX:XX:XX:XX

Y puede ser modificada con un comando similar a:

ifconfig elxl0 192.168.1.10 netmask 255.255.255.0

Extrañamente, el log muestra un mensaje de error señalando que la dirección yaestá en uso, pero el cambio funciona.

Para que este cambio sea permanente, hay que tener presente que cada tarjetade red (en nuestro caso, sólo una detectada) tiene un "hostname" asociado. Porejemplo, para nuestra interfaz 3Com "elxl0", existe un archivo llamado "/etc/hostname.elxl0" conteniendo:

$ cat /etc/hostname.elxl0p3.gatogringo.com

[Según se indica en el "solaris x86 FAQ", si este archivo estuviera vacío el sistematrata de obtener la dirección IP vía DHCP.]

Puesto que en el archivo /etc/hosts a este host le corresponde la dirección ip192.168.1.58, es ésta la que termina siendo asignada a la tarjeta:

$ cat /etc/hosts## Internet host table#127.0.0.1 localhost192.168.1.58 p3.gatogringo.com loghost

Esto debe ser sincronizado con el archivo /etc/inet/ipnodes:

$ cat /etc/inet/ipnodes## Internet host table#::1 localhost127.0.0.1 localhost192.168.1.58 p3.gatogringo.com loghost

Aunque no es muy clara la razón de ser de ambos archivos, ipnodes tiene prioridada la hora de hallar las direcciones IPV4 a partir de los nombres y soporta direccionesIPV6. En cualquier caso, las direcciones deben sincronizarse para evitar confusión.

Web Server

Apache 1.3 viene instalado por omisión. Sin embargo, no se inicia a no ser queexista el archivo /etc/apache/httpd.conf. En ese directorio existe el archivo/etc/apache/httpd.conf-example, el cual puede simplemente ser copiadocomo httpd.conf y será suficiente para que el servidor se inicie con el sistemaoperativo. Los documentos web por omisión (DocumentRoot) están localizados enel directorio /var/apache/htdocs. También está instalado Apache 2.0.52 (consu configuración en /etc/apache2.)

Page 14: Solaris 10

Solaris 10 Intel paraAdministradores Linux (0.14)

14

Inetd

La versión de Inetd proporcionada en Solaris 10 está fuertemente modificadapara interactuar con "smf". En particular, casi todos los servicios tcp/ip estánconfugurados como servicios "smf" y no en el clásico /etc/inetd.conf(que se mantiene por compatibilidad.) Por ejemplo, el servicio "telnet" (queinconcebiblemente sigue siendo habilitado por omisión) tiene el FMRI "svc:/network/telnet:default":

# svcs -p telnetSTATE STIME FMRIonline 10:33:39 svc:/network/telnet:default 12:16:23 856 in.telnetd 12:16:24 859 login

Acceso al hardware

El sistema de archivos /devices

Esto corresponde a un sistema de archivos virtual que refleja la visión del kernel (ysus drivers) con respecto al hardware instalado. Sus archivos tienen una estructuraque refleja la arquitectura del computador, y corresponden a los conocidos "archivosespeciales de dispositivo" de otros Unixes o Linux.

Esto no significa que Solaris no cuente con archivos especiales de dispositivo en eldirectorio /dev; ciertamente los tiene, sin embargo, normalmente corresponden asimples enlaces simbólicos hacia el directorio devices.

Detección del hardware

A modo de prueba, desconectamos la lectora de CDROM del Ide Secundarioy la reemplazamos con un disco duro adicional. Tras encender el computadordescubrimos algunos cambios en el directorio /devices (se tuvo el cuidado deguardar la salida de "ls -lR /devices" antes del cambio):

/devices/pci@0,0/pci-ide@7,1/ide@1/cmdk@0,0:a/devices/pci@0,0/pci-ide@7,1/ide@1/cmdk@0,0:b/devices/pci@0,0/pci-ide@7,1/ide@1/cmdk@0,0:c/devices/pci@0,0/pci-ide@7,1/ide@1/cmdk@0,0:d...

Asumiendo que se trata del nuevo disco duro, nos encontramos con que todavíano lo podemos utilizar, pues el acceso normal se efectúa mediante los archivosespeciales del directorio "/dev", los cuales todavía no existen.

Para crearlos, lanzamos:

# devfsadm -v -c diskdevfsadm[609]: verbose: symlink /dev/dsk/c1d0s0 ->

Page 15: Solaris 10

Solaris 10 Intel paraAdministradores Linux (0.14)

15

../../devices/pci@0,0/pci-ide@7,1/ide@1/cmdk@0,0:adevfsadm[609]: verbose: symlink /dev/dsk/c1d0s1 -> ../../devices/pci@0,0/pci-ide@7,1/ide@1/cmdk@0,0:bdevfsadm[609]: verbose: symlink /dev/dsk/c1d0s2 -> ../../devices/pci@0,0/pci-ide@7,1/ide@1/cmdk@0,0:cdevfsadm[609]: verbose: symlink /dev/dsk/c1d0s3 -> ../../devices/pci@0,0/pci-ide@7,1/ide@1/cmdk@0,0:ddevfsadm[609]: verbose: symlink /dev/dsk/c1d0s4 -> ../../devices/pci@0,0/pci-ide@7,1/ide@1/cmdk@0,0:e...

Otra manera (más simple) de hacer esto consiste en pasar la opción "-r" al kernelen el momento del inicio (vía Grub), la cual instruye al sistema a regenerar todoslos archivos de /dev que sean necesarios.

Los enlaces correpondientes al ahora inexistente lector de CDROM tambiéndeberían ser eliminados:

# devfsadm -C -v -c diskdevfsadm[626]: verbose: removing file: /dev/dsk/c1t0d0s0devfsadm[626]: verbose: removing file: /dev/dsk/c1t0d0s1devfsadm[626]: verbose: removing file: /dev/dsk/c1t0d0s2devfsadm[626]: verbose: removing file: /dev/dsk/c1t0d0s3devfsadm[626]: verbose: removing file: /dev/dsk/c1t0d0s4...

Archivos de dispositivo de disco

Cada disco posee un conjunto de archivos especiales de dispositivo en losdirectorios /dev/dsk y /dev/rdsk, los cuales se emplean en distintos contextos.Normalmente se empleará la interfaz en /dev/dsk (de bloque) cuando se monteel respectivo filesystem y se utilice para el almacenamiento de archivos, puesto queesto asegura la utilización del "caché" de disco. Por el contrario, para operaciones debajo nivel que deben afectar directamente al disco (sin pasar por el caché) se empleala interfaz "de caracter" en /dev/rdsk. La nomenclatura de los discos ide tiene laforma "c#d#s#", correspondiendo el primer dígito a la interfaz ide (controlador), elsegundo a la unidad lógica en el controlador (0=master 1=slave), y el último al "slice".Asimismo posee archivos de la forma "c#d#p#" donde el último dígito correspondea la "partición de tipo fdisk".

Particionamiento

Aquí nos referimos al particionamiento correspondiente a la tradicional tabla departiciones del disco duro (comando fdisk en la mayoría de sistemas operativos.)Los discos duros (en general, cualquier tipo de disco)

Para el nuevo disco (en el ide secundario) podemos manipular la tabla departiciciones mediante:

fdisk /dev/rdsk/c1d0p0 Total disk size is 19846 cylinders Cylinder size is 1008 (512 byte) blocks

Cylinders

Page 16: Solaris 10

Solaris 10 Intel paraAdministradores Linux (0.14)

16

Partition Status Type Start End Length %========= ====== ======= ===== === ====== === 1 BSD OS 0 6094 6095 31 2 BSD OS 6095 6614 520 3

SELECT ONE OF THE FOLLOWING: 1. Create a partition 2. Specify the active partition 3. Delete a partition 4. Change between Solaris and Solaris2 Partition IDs 5. Exit (update disk configuration and exit) 6. Cancel (exit without updating disk configuration)Enter Selection:

Solicitamos crear una nueva partición (opción 1), tipo "solaris" y ocupando "20%"del disco duro:

... 3 Solaris2 6615 10583 3969 20

La nueva partición contiene 3969 cilindros en el rango [6615-10583].

Creación de "slices"

Para esto utilizamos el programa "format". Un lamentable inconveniente es que aquíse denominan "particiones" a los "slices". Esto se debe a que la plataforma Sparcutiliza un esquema distinto al de el BIOS de las PC's (de fdisk). La solución deSolaris en Intel es un compromiso: crear una partición de "fdisk" y subparticionarla"ala Sparc" mediante los denominados "slices".

Desafortunadamente la herramienta "format" no toma en cuenta esto, y denominaparticionamiento (tal como lo hace en Sparc con total exactitud) a lo que aquíllamamos "slices.

Lanzamos "format" y seleccionamos el segundo disco (en el que se acaba de crearuna partición de tipo "fdisk en PC"):

# formatSearching for disks...done

AVAILABLE DISK SELECTIONS: 0. c0d0 <DEFAULT cyl 29101 alt 2 hd 16 sec 63> /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0 1. c1d0 <DEFAULT cyl 3967 alt 2 hd 16 sec 63> /pci@0,0/pci-ide@7,1/ide@1/cmdk@0,0Specify disk (enter its number): 1selecting c1d0Controller working list found[disk formatted, defect list found]

FORMAT MENU: disk - select a disk type - select (define) a disk type partition - select (define) a partition table current - describe the current disk format - format and analyze the disk fdisk - run the fdisk program repair - repair a defective sector

Page 17: Solaris 10

Solaris 10 Intel paraAdministradores Linux (0.14)

17

show - translate a disk address label - write label to the disk analyze - surface analysis defect - defect list management backup - search for backup labels verify - read and display labels save - save new disk/partition definitions volname - set 8-character volume name !<cmd> - execute <cmd>, then return quitformat>

Y ahora crearemos los slices... para lo cual escribimos "partition" (!)

format> partition

PARTITION MENU: 0 - change `0' partition 1 - change `1' partition 2 - change `2' partition 3 - change `3' partition 4 - change `4' partition 5 - change `5' partition 6 - change `6' partition 7 - change `7' partition select - select a predefined table modify - modify a predefined partition table name - name the current table print - display the current table label - write partition map and label to the disk !<cmd> - execute <cmd>, then return quitpartition> printCurrent partition table (original):Total disk cylinders available: 3967 + 2 (reserved cylinders)

Part Tag Flag Cylinders Size Blocks 0 unassigned wm 0 0 (0/0/0) 0 1 unassigned wm 0 0 (0/0/0) 0 2 backup wu 0 - 3966 1.91GB (3967/0/0) 3998736 3 unassigned wm 0 0 (0/0/0) 0 4 unassigned wm 0 0 (0/0/0) 0 5 unassigned wm 0 0 (0/0/0) 0 6 unassigned wm 0 0 (0/0/0) 0 7 unassigned wm 0 0 (0/0/0) 0 8 boot wu 0 - 0 0.49MB (1/0/0) 1008 9 alternates wm 1 - 2 0.98MB (2/0/0) 2016

Como se aprecia, hay 10 "slices" automáticamente creados en el disco. El slice#2 (tercera fila) denominado "backup" convencionalmente corresponde al totaldel disco (en este caso, 3967 cilindros.) Los últimos "slices" (boot y alternates)corresponden a los primeros tres cilindros (0-2) y se emplean para contener bootloaders u otra información de ese estilo.

Crearemos dos slices en las posiciones cero y uno, cada uno conteniendo 500 mb(hay 1.91 Gb disponibles):

partition> 0Part Tag Flag Cylinders Size Blocks 0 unassigned wm 0 0 (0/0/0) 0

Page 18: Solaris 10

Solaris 10 Intel paraAdministradores Linux (0.14)

18

Enter partition id tag[unassigned]:Enter partition permission flags[wm]:Enter new starting cyl[0]: 3Enter partition size[0b, 0c, 3e, 0.00mb, 0.00gb]: 500mbpartition> printCurrent partition table (unnamed):Total disk cylinders available: 3967 + 2 (reserved cylinders)

Part Tag Flag Cylinders Size Blocks 0 unassigned wm 3 - 1018 500.06MB (1016/0/0) 1024128 1 unassigned wm 0 0 (0/0/0) 0 2 backup wu 0 - 3966 1.91GB (3967/0/0) 3998736...

partition> 1Part Tag Flag Cylinders Size Blocks 1 unassigned wm 0 0 (0/0/0) 0

Enter partition id tag[unassigned]:Enter partition permission flags[wm]:Enter new starting cyl[0]: 1019Enter partition size[0b, 0c, 1019e, 0.00mb, 0.00gb]: 500mbpartition> printCurrent partition table (unnamed):Total disk cylinders available: 3967 + 2 (reserved cylinders)

Part Tag Flag Cylinders Size Blocks 0 unassigned wm 3 - 1018 500.06MB (1016/0/0) 1024128 1 unassigned wm 1019 - 2034 500.06MB (1016/0/0) 1024128 2 backup wu 0 - 3966 1.91GB (3967/0/0) 3998736...

partition>

Finalmente guardamos la tabla de slices:

partition> labelReady to label disk, continue? y

partition> quit

Creación de Filesystems

El comando newfs permite crear un sistema de archivos en un slice (formatear.)Para nuestro caso, hemos preparado los slices 0 y 1 del disco "c1d0" y utilizaremos(siempre con la interfaz de caracteres rdsk:)

# newfs /dev/rdsk/c1d0s0newfs: construct a new file system /dev/rdsk/c1d0s0: (y/n)? ymkfs -F ufs /dev/rdsk/c1d0s0 1024128 63 16 8192 1024 16 10 60 2048 t 0 -1 8 7 n/dev/rdsk/c1d0s0: 1024128 sectors in 1016 cylinders of 16 tracks, 63 sectors 500.1MB in 64 cyl groups (16 c/g, 7.88MB/g, 3776 i/g)super-block backups (for fsck -F ufs -o b=#) at: 32, 16224, 32416, 48608, 64800, 80992, 97184, 113376, 129568, 145760, 871328, 887520, 903712, 919904, 936096, 952288, 968480, 984672, 1000864, 1017056# newfs /dev/rdsk/c1d0s1newfs: construct a new file system /dev/rdsk/c1d0s1: (y/n)? y/dev/rdsk/c1d0s1: 1024128 sectors in 1016 cylinders of 16 tracks, 63 sectors

Page 19: Solaris 10

Solaris 10 Intel paraAdministradores Linux (0.14)

19

500.1MB in 64 cyl groups (16 c/g, 7.88MB/g, 3776 i/g)super-block backups (for fsck -F ufs -o b=#) at: 32, 16224, 32416, 48608, 64800, 80992, 97184, 113376, 129568, 145760, 871328, 887520, 903712, 919904, 936096, 952288, 968480, 984672, 1000864, 1017056

Configuración de filesystems

Creamos el punto de montaje para estos filesystems:

# mkdir /data1# mkdir /data2

Montemos el primero directamente:

# df -h |grep data/dev/dsk/c1d0s0 470M 1.0M 422M 1% /data1

Se aprecia un tamaño aparente de 422Mb, debido a que siempre hay un porcentajede seguridad reservado (configurable con la opción -m de newfs.)

Configuración en /etc/vfstab

Editamos el archivo:

# vi /etc/vfstab

Agregamos una línea para el otro slice recién formateado:

/dev/dsk/c1d0s1 /dev/rdsk/c1d0s1 /data2 ufs 2 yes -

Nótese que se requiere especificar tanto la interfaz de bloque (dsk) como la decaracter (rdsk.) Podemos reiniciar el computador, o probar directamente:

# df -h|grep data/dev/dsk/c1d0s0 470M 1.0M 422M 1% /data1/dev/dsk/c1d0s1 470M 1.0M 422M 1% /data2

Configuración del Sistema

El sistema en uso

Para detalles sobre la versión del sistema operativo:

# showrevHostname: p3.gatogringo.comHostid: 1ccb4eb5Release: 5.10Kernel architecture: i86pcApplication architecture: i386

Page 20: Solaris 10

Solaris 10 Intel paraAdministradores Linux (0.14)

20

Hardware provider:Domain:Kernel version: SunOS 5.10 Generic_118844-26

El Entorno Gráfico

Versión de OpenWindows

# showrev -w

OpenWindows version:Solaris X11 Version 6.6.2 9 September 2005

Log de Xorg:

Presenta numerosos detalles interesantes con respecto a la configuración del video,teclado y mouse:

# cat /var/log/Xorg.0.logX Window System Version 6.8.2 (Sun Xorg Release 1.1 for Solaris 10)Release Date: 9 February 2005X Protocol Version 11, Revision 0, Release 6.8.2Build Operating System: SunOS 5.10 Generic i86pcCurrent Operating System: SunOS p3.gatogringo.com 5.10 Generic_118844-26 i86pcBuild Date: 09 September 2005SUNWxorg-server package version: 6.8.0.5.10.7400,REV=0.2004.12.15SUNWxorg-server patches applied: 118966-11 119062-01SUNWxorg-graphics-ddx package version: 6.8.0.5.10.7400,REV=0.2004.12.15SUNWxorg-graphics-ddx patches applied: 118966-11...

Listado de Parches Instalados

# showrev -pPatch: 118368-02 Obsoletes: Requires: Incompatibles: Packages: SUNWcsuPatch: 118372-06 Obsoletes:119266-02 Requires: Incompatibles: Packages: SUNWcsu, SUNWcsl, SUNWtooPatch: 118374-01 Obsoletes: Requires: Incompatibles: Packages: SUNWcsu...

Hardware reconocido

El comando prtconf muestra el hardware tal como el sistema lo ve:

System Configuration: Sun Microsystems i86pcMemory size: 256 MegabytesSystem Peripherals (Software Nodes):

i86pc System properties:

Page 21: Solaris 10

Solaris 10 Intel paraAdministradores Linux (0.14)

21

name='acpi-status' type=int items=1 value=00000013 name='relative-addressing' type=int items=1 value=00000001...

Solaris Management Console 2.1

Este producto/herramienta se anuncia en la documentación como la solucióndefinitiva que reemplaza a la mayoría de herramientas GUI de administración.Diversas herramientas (como el clásico "admintool") han sido removidas en favordel Solaris Management Console.

La idea no es nueva, y la mayoría de sistemas Unix tiene algo parecido. Los usuariosde Linux quizá lo encuentren afín al popular "Webmin", aunque no se trata de unsistema navegable con un web browser estándar sino con un cliente propietario.

Las herramientas de administración están ordenadas en un árbol de fácil acceso(toolboxes) y en teoría se pueden agregar (¿comprar?) o incluso crear nuevas.Asimismo, con el cliente SMC es posible acceder al "SMC server" de otro servidory administrarlo remotamente con la misma interfaz.

Por omisión el juego de herramientas incluido es pequeño y sólo cubre tareasbásicas y de manera rudimentaria. Comprende:

• Información del sistema

• Visor de logs

• Administración de procesos (este sí es bueno)

• Performance

• Resumen

• Proyectos

• Usuarios

• Configuración del sistema

• Usuarios

• Proyectos

• Computadores y Redes

• Parches

• Servicios (sólo cron)

• Almacenamiento

• Puntos de montaje

• Recursos compartidos

Page 22: Solaris 10

Solaris 10 Intel paraAdministradores Linux (0.14)

22

• Discos

• Almacenamiento Mejorado (volúmenes)

• Dispositivos y Hardware

Esto luce bien... sin embargo realmente es muy poco, particularmente en lo quecorresponde a la configuración del sistema. La aplicación que debe crear y modificarusuarios simplemente no funciona. Los "Computadores y Redes" no permitenconfigurar casi nada más allá del hostname y la dirección IP. Los "Puntos deMontaje" sólo muestran el contenido de vfstab y no permiten agregar entradas; encuanto a la administración de Discos, falla totalmente con un mensaje confuso deadvertencia: "No hay partición solaris, si continúa se destruirá el contenido"; y luegoya no se puede hacer nada más. No hemos probado el tema de los volúmenes, yen cuanto al gran tópico de "Dispositivos y Hardware", lo ¡unico! configurable sonlos puertos seriales (COM1/COM2)!

Módulos del kernel

Los comandos modinfo, modload y modunload permiten listar, cargar y descargarmódulos dinámicos del kernel. Típicamente esto lo hace el sistema de maneraautomática.

# modinfo |more Id Loadaddr Size Info Rev Module Name 0 fe800000 accc0 - 0 unix () 1 fe86ce20 1276a - 0 krtld () 2 fe87abd8 13c4f8 - 0 genunix () 4 fe981000 3b38 1 1 specfs (filesystem for specfs) 6 fe9849a8 34a0 16 1 devfs (devices filesystem 1.13) 7 fe987ba8 2aa4 1 1 TS (time sharing sched class) 8 fe98a1ac 87c - 1 TS_DPTBL (Time sharing dispatch table) 10 fe98a208 5260 - 1 pci_autoconfig (PCI BIOS interface 1.42) 11 fe98e588 220c 1 1 uppc (UniProcessor PC) 12 fe9905e4 22d40 - 1 acpica (ACPI interpreter 1.1)...

Los módulos usados en el inicio se encuentran tanto en /kernel/drv como en /platform/i86pc/kernel/drv. Otros drivers que se requieren más adelante sehallan en /usr/kernel/drv. En muchos casos los drivers son acompañados unarchivo de configuración del mismo nombre pero con sufijo ".conf". En el manual de"driver.conf" se explica la sintaxis de los mismos.

En general la autodetección del hardware soportado es buena; el problema esque simplemente no hay mucho hardware soportado, particularmente de tipo"multimedia".

Herramientas de desarrollo

Actualmente la documentación online de Sun recomienda utilizar las herramientasde desarrollo del proyecto GNU. Este es un cambio de actitud significativo y bastanteexplicable, en gran medida porque Solaris es uno de los pocos Unixes que nodistribuía un compilador de lenguaje C o C++, teniendo normalmente que comprarse

Page 23: Solaris 10

Solaris 10 Intel paraAdministradores Linux (0.14)

23

adicionalmente de Sun. Esta situación cambió dramáticamente con la difusión yverificación de la calidad de las herramientas GNU, y en buena medida con laobsesión de Sun para que todo el mundo sólo programe en Java. Da la impresiónque su "Sun Studio 11" (un IDE, compiladores y herramientas de desarrollo diversas)es ahora un producto marginal.

Herramientas GNU

Bajo el directorio /usr/sfw2 están disponibles diversas aplicaciones "OpenSource" tales como el compilador GCC (Gnu C Compiler.) A fin de probar suefectividad, decidimos agregar soporte PHP al servidor Apache 1.3. Lo primero quehago es agregar la ruta de los binarios:

PATH=/usr/sfw/bin:$PATH

Esta ruta normalmente no está incluida (se puede agregar en /etc/profile paraque esté siempre disponible.)

Procedemos a desempacar un tar de PHP:

# gzip -d < /usr/users/diego/php-4.3.1.tar.gz | tar xvf -# cd php-4.3.1

Configuramos con "Apxs":

# ./configure --with-apxs=/usr/apache/bin/apxs

Ejecutamos "make" ... no hay "make"... pero sí hay "gmake" (GNU/Make, el "make"que se distribuye con Linux.)

# gmake... muchos mensajes durante un buen rato ...

Luego, tras ejecutar "gmake install" observamos que el archivo de configuración deapache /etc/apache/httpd.conf es respaldado y se genera una nueva versiónque incluye la carga del módulo PHP. Sin embargo, esto no es suficiente pues no seagrega automáticamente la detección del tipo de archivo por extensión. Para estoagregamos manualmente las siguientes líneas:

AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps

Esto es suficiente en cuanto a configuración. Reiniciamos el servidor:

# /etc/init.d/apache restart

Y creamos un pequeño script con extensión ".php" en /var/apache/htdocs:

2 Es un poco vergonzoso pero lo cierto es que descubrimos este directorio por casualidad. De seguro estádocumentado en alguna guía pero es del todo frustrante para un usuario recién llegado que asume la existencia delcompilador de C como algo "normal" en cualquier sistema Unix.

Page 24: Solaris 10

Solaris 10 Intel paraAdministradores Linux (0.14)

24

<?phpphpinfo();?>

Finalmente accedemos exitosamente con un web browser (http://direccion_ip/x.php), obteniendo la clásica pantalla descriptiva de PHP.

Sun Studio 11

Actualmente Sun permite la descarga de su producto Sun Studio 11, el cual incluye-entre muchas utilidades- un compilador de lenguaje C.

El paquete descargado consiste de un gran archivo:

studio11-sol-x86.tar.bz2: 348739381 bytes

Este paquete es descomprimido y desempacado en un directorio conveniente. Ennuetro caso, dada la distribución del espacio en filesystems, optamos por crear unsubdirectorio en /export/home:

# mkdir /export/home/studio11_src# cd /export/home/studio11_src# bzip2 -d < /ruta/studio11-sol-x86.tar.bz2 | tar xvf -...# ./installer

El desempacado ocupó 540 Mb. A continuación se debe lanzar el instalador "./installer" desde una consola en el entorno gráfico. Luego simplemente se siguenlos menús (wizard) de instalación. Como mencionaba al inicio, en una oportunidadtuve que reinstalar el sistema completamente puesto que el instalador requiere ungran espacio temporal en /var.

Seleccionamos nuevamente el directorio /export/home como base para lainstalación definitiva del Studio 11, con lo cual se crea un directorio llamado /export/home/SUNWspro el cual aloja el producto.

A fin de probar el compilador C de Studio 11, decidimos volver a construir el PHPtal como se hizo con el GCC. Para esto se debe eliminar la ruta /usr/sfw/bin delpath (¡muy importante!), y en su lugar agregar otras dos:

PATH=/usr/ccs/bin:/export/home/SUNWspro/bin:$PATH

La primera ruta (/usr/ccs/bin) corresponde a diversas herramientas dedesarrollo auxiliares (como "lex", "make", etc.) que vienen incluidas con el sistemaoperativo3. A continuación agregamos el subdirectorio "bin" de la ruta del productoStudio 11. Allí se encuentra el compilador de lenguaje C (comando cc.)

Tras repetir el proceso anterior (ejecutar "make" y luego "makeinstall") encuentramos un error extraño acerca de un símbolo llamado"local_thr_alarm", el cual tiene relación con la librería incorporada de Mysql. Entanto no tenemos interés en Mysql, lo deshabilitamos4:

3 La necesidad de esto se hizo evidente cuando la configuración de PHP solicitaba el ejecutable de "lex".4 No se tome muy en serio este error. Es muy probable que ya no esté presente en las últimas versiones de PHP.

Page 25: Solaris 10

Solaris 10 Intel paraAdministradores Linux (0.14)

25

./configure --without-mysql --with-apxs=/usr/apache/bin/apxs

Esta vez el proceso termina sin problemas y tras reiniciar al Apache, nuevamenteobtengemos la página informativa de mi script PHP.

Conclusiones

Debemos partir aceptando que Solaris es un sistema muy extenso y toma tiempoconocerlo adecuadamente. Como impresión general, consideramos que Sun estáintentando exitosamente combinar lo mejor del mundo Open Source con sutradicional y reconocido sistema operativo. En algunos sitios web leíamos quejasreferidas a una supuesta lentitud de Solaris con respecto a otros sistemas de PC,y por supuesto, otra gente decía que era más veloz, mientras que a nosotros nosha parecido simplemente "normal" (a excepción del arranque de las aplicacionesJava -como el SCM- cuya inicialización tiene retardos inauditos.) No hemos hechoninguna prueba consistente de "trabajo real" como para alegar más al respecto.

Aún persisten algunos defectos de la "ideosincracia Unix tradicional" en cuanto auna despreocupación por los detalles y por la explicación para el "no profesional".Por ejemplo, las páginas de manual están completas y actualizadas, pero sonpobres o nulas en ejemplos prácticos. Es de notar que su tendencia es a eliminarla documentación de los CD's; por ejemplo, su tradicional Answerbook ha sidodescartado en favor del acceso al web, y ciertamente en la Web hay documentosmuy completos (en formato PDF) directamente descargables.

En un contexto más general consideramos que Sun ha creado a lo largo desu historia diversos productos innovadores y hasta revolucionarios. Sin embargo,también han sabido procrear grandes fiascos (como sus Network Computers,el pico-Java, etc.) y aún en productos relativamente exitosos (como Solaris) seaprecian extrañas y contradictorias decisiones más o menos negativas tales comola reinvención de su propio sistema NFS y la constante reinvención de su sistemade impresión; ambos causando confusión y pérdida de tiempo a los usuarios y sinbrindar mayores beneficios. A mi entender otra muestra de esta clase de decisiones'discutibles' radica en la eliminación de las conocidas (y útiles) consolas virtuales demodo texto que se encuentran en otros sistemas Unix en PC (típicamente accesiblescon [alt+F#]) las cuales al parecer estuvieron anteriormente disponibles en Solaris.

Ya se ha mencionado la carencia de drivers para muchas clases de equipos (no hepodido escuchar música a pesar que el computador que he utilizado tiene ya másde cuatro años en el mercado.) También nos hemos extendido acerca de los 'bugs'del instalador.

Surge la pregunta ¿Por qué utilizar Solaris si disponemos de excelentes sistemasOpen Source como Linux y Free/BSD?

La respuesta de Sun radica en su soporte, especialmente ahora que (trasdemasiado tiempo) han decidido no cobrar por el software en sí. Este argumentorealmente puede ser muy bueno o muy dañino, dependiendo de la impresión quehayan dejado los técnicos de Sun en el pasado en diversas partes del mundo.

El otro argumento técnicamente válido radica en la experiencia de Sun parasoportar sistemas muy escalables (varios CPU's, muchos arreglos de discos, mucha

Page 26: Solaris 10

Solaris 10 Intel paraAdministradores Linux (0.14)

26

memoria, etc.) lo cual es muy importante para muchas compañías grandes. En ciertomodo esto está por verse en la plataforma Intel, puesto que dicha escalabilidadtradicionalmente sólo se ha implementado en su plataforma propietaria Sparc/UltraSparc.

Todo esto, unido a los costos tremendamente inferiores de los computadoresbasados en Intel/Amd, hacen atractiva la oferta de Sun a muchas empresas... masno a individuos o entusiastas, que posiblemente lo utilicen principalmente por lacuriosidad de tener en casa un sistema típico de las grandes organizaciones.