Solaris 10
November 14, 2016 | Author: Tuxito78 | Category: N/A
Short Description
Download Solaris 10...
Description
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 1
Solaris 10 Intel para Administradores Linux (0.14) 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 se enfrenta un usuario relativamente nuevo en el mundo de Solaris en plataforma Intel, desde la instación, pasando por diversos aspectos de configuración notables, y terminando con algunas conclusiones muy subjetivas. El lector debe comprender que los errores de este texto son involuntarios. De igual modo, los problemas relatados con respecto a la instalación del Sistema Operativo corresponden exclusivamente a la versión (snapshoot) particular descargada de Internet hacia Abril de 2006, los cuales podrían haberse superado en años posteriores.
Autoría y Copyright Este documento tiene copyright (c) 2006 AmericaTI EIRL (www.americati.com.) Se otorga permiso para copiar, distribuir y/o modificar este documento bajo los términos de la "GNU Free Documentation License, Version 1.2", excepto en lo mencionado en el 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 cualquier propósito, por favor contactarnos (vía nuestra página web) a fin de tener la oportunidad 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 Qdk disponible 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 con ambientes de desarrollo. • 0.12 Aclaraciones mímimas; afinando redacción • 0.13 Nota sobre GRUB • 0.14 Correcciones menores de estilo
2
Solaris 10 Intel para Administradores Linux (0.14)
La Instalación Esta experiencia de instalación se realizó en un computador relativamente antiguo adquirido de segunda mano para hacer diversas pruebas. Tiene un procesador Intel Pentium III de 500Mhz (modelo DELL Optiplex GX1) con 256Mb de RAM, un disco duro de 15Gb y tres interfases de red fast Ethernet (una 3Com -integrada- y dos Via-Rhine en slots pci agregadas por mi cuenta.) La instalación se inició con el CDROM #1 descargado del sitio web de SUN (en total son cuatro CD's.) El BIOS de este computador puede realizar el boot desde el CDROM 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.) Tras seleccionar 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 es allí donde hubo el primer inconveniente: se requiere 400Mb de RAM para una instalación gráfica, por lo que se proseguirá en modo texto (pues este computador sólo tiene 256Mb.) La instalación en modo texto tiene un aspecto relativamente similar a las antiguas instalaciones de DOS (no de Windows) con pantalla azul y el uso de teclas de función F2, F3, etc. Vienen más preguntas, algunas relativamente triviales como la zona horaria y el password de "root", y otras menos sencillas como la configuración de red (en mi caso, configuración estática pues no deseo preparar un servidor DHCP), sin IPV6, sin NIS/LDAP/Kerberos... Un menú nos interroga acerca de una instalación "flash" o algo similar (sin mayor explicación) a lo que simplemente respondemos "no". Se solicita además un conjunto de "opciones de software" a ser instaladas y que en realidad no son parte del sistema operativo (por ejemplo, Software para J2EE, Documentación, etc.) a lo cual también se debe responder negativamente (en caso contrario el instalador solicitará discos que no disponemos) y luego tenemos un menú donde se nos pregunta por el tipo de instalación ¿"total"? ¿"estación de desarrollo"? ¿"sólo lo básico (core)"?... Aquí sí podemos elegir cualquiera de las opciones pues sólo tienen relación con el software de los 4 CD's del sistema operativo. En nuestro caso elegimos la instalación full (pues no había gran diferencia con las otras en cuanto al 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ía aproximadamente 5Gb sin asignar. Sin embargo, por más que se intentó todas las opciones del particionador, no se pudo crear una nueva "partición Solaris" en la zona libre. 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 suelen denominar "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 normalmente corresponde a un a partición creada con "fdisk". 3
Solaris 10 Intel para Administradores Linux (0.14) En un principio decidimos asignar sólo 4Gb (a modo de prueba); Sin embargo, al intentar "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 tras reiniciar, el instalador descubre" la "¿dañada?" partición Solaris y astútamente nos pregunta si deseamos conservar el contenido o "inicializar el disco". Se debe elegir la segunda opción, o nuevamente se confundirá. En esta segunda oportunidad se asigó el disco completo y pasamos a la selección de los sistemas de archivo a ser creados. Se ofrece (para marcar) diversos sistemas como "/", "/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 confundiera y dejara de trabajar... una vez más se tuvo que resetear el computador y reiniciar la instalación. En el tercer intento obviamente permitimos que el instalador decidiera los tamaños de los sistemas de archivo (es decir, no se solicitó personalizar nada) y la instalación pudo proseguir. Sin embargo, antes de pasar a la siguiente etapa, debemos comentar que posteriormente se tuvo que volver a reinstalar todo puesto que el espacio asignado en "/var" resultó ser insuficiente para la instalación de las herramientas 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 todos modos el instalador creó el sistema de archivos "/export/home" (¡sin solicitarlo!). Los tamañ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 directorios de los usuarios (equivalente al /home de otros sistemas.) En el Solaris x86 FAQ se explica la utilidad real de /home el Solaris. La siguiente etapa corresponde a la configuración del entorno gráfico. El instalador permite seleccionar entre los servidores Xorg (descendiente de XFree86) y Xsun (servidor nativo de Sun.) Quizá Sun pretende desechar sus productos en los que no hace dinero y existe un fácil reemplazo "open source", tal vez por esto sugieren el 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ón del X Server, teniéndose que especificar manualmente el tipo de mouse, de tarjeta de video y de monitor (recuérdese el antiguo programa xf86config.) A continuación se 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, el instalador nunca más volvió a responder (aunque parecía que seguía trabajando a juzgar por el ruido del disco duro y la lectora de CD.) Una vez más tuvimos que reiniciar la instalación y solicitar "SALTAR EL TEST". Esto aparentemente confunde al instalador pues luego se queja de que no se ha configurado correctamente el sistema gráfico y solicita nuevamente configurar y lanzar el test. Por suerte, en la 4
Solaris 10 Intel para Administradores Linux (0.14) segunda oportunidad, el "SALTAR EL TEST" sí permite proseguir. Las preguntas y las opciones aquí ciertamente son desconcertantes. Otra pregunta extraña que nos hace el instalador está referida al modo en que se va a hacer el reset del computador tras culminar de instalarse el primer CDROM: modo manual o automático. El modo manual aparentemente permite realizar manualmente algunas tareas (lanzar comandos) antes de que se reinicie el computador. En este punto se debe extraer el CD #1 para que la instalación continúe; de lo contrario, el BIOS se reiniciará desde el CD, y el instalador partiría de cero. Por el contrario, tras extraer el CD, el BIOS deberá hacer el boot desde el disco duro, en el cual el instalador ya debe haber configurado GRUB en el sector de arranque. El resto es relativamente conocido. Intercambiar CD's, un sencillo indicador del avance 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. Cualquier cosa fuera de lo "estándar" lo confunde, las preguntas son confusas (como para que a fuerza debamos matricularnos en sus cursos de administración) y la interface es 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" que lamentablemente todavía cunde en el ambiente Unix: puesto que está dirigido a "profesionales capacitados", puede hacerse frágil, confuso y carente de explicación clara.
Inicio (boot) del Sistema Operativo Tal como se indicó, el instalador coloca GRUB en el sector de arranque con las opciones: • Solaris 10 1/06 s10x_u1wos_19a X86 • Solaris failsafe La opción "Solaris failsafe" inicializa el sistema en "modo de reparación", con un kernel 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 tras unos pocos mensajes (a lo más seis líneas de texto) el sistema muestra su mensaje clásico de "login:".
Opciones para el Kernel Una de las cosas más sorprendientes es la prácticamente total carencia de mensajes de los servicios que se iniciaban en el sistema. Si se desea obtener los mensajes del kernel en la consola, debemos proporcionarle la opción "-v" durante la ejecución de Grub. Para esto basta presionar la tecla "e" (editar) sobre la primera opción (Solaris 10...), ubicarse en la directiva "kernel" y volver a presionar "e" para editarla, y agregar "-v" al final de la directiva kernel con lo que queda:
5
Solaris 10 Intel para Administradores Linux (0.14) 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ón VGA 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 teclado resulta tener disposición de un teclado USA. Tras buscar en muchos documentos en Internet, 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" 1 debería utilizarse con este fin ; 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 el archivo /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" se configura allí mediante: root (hd0,0,a)
Evidentemente, "a" corresponde al primer "slice" de la primera partición (cero) del disco duro "hd0". 1
En Linux hay un comando con este mismo nombre y que efectivamente permite hacer esta modificación para la consola de modo texto
6
Solaris 10 Intel para Administradores Linux (0.14)
Grub/Solaris En el sistema que estamos utilizando, GRUB se reporta con versión 0.95, por lo que nos pareció natural instalar otro sistema (un Linux Ubuntu) en un segundo disco duro y 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 reconoce el "slice" de solaris y no puede bootearlo! Investigando en el Internet, descubrimos que la versión de GRUB proporcionada por Solaris está especialmente parchada para reconocer sus slices y su sistema de archivos, y aparentemente se espera que el futuro la distribución central de GRUB incorpore este soporte. Afortunadamente la solución indicada es sencilla: bastó agregar la siguiente entrada en el menu.lst del GRUB de Linux: Title Acceso a Solaris rootnoverify (hd0,0) chainloader +1
Solaris instala su GRUB en el sector de boot de la primera partición (algo similar al 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 GRUB instalado por Solaris en la primera partición (obtenemos su menú GRUB original.) Es necesario emplear rootnoverify (en vez de root) pues el GRUB estándar no 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 los discos, 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ón de modo gráfico, luego unos quince segundos de mostrarse el indicador 'login:', el sistema automáticamente inicia el sistema de ventanas; nosotros seleccionamos Xorg durante la instalación, y este servidor tiene realmente una excelente detección de hardware por lo que prácticamente se autoconfiguró. Si no hay éxito, es menester 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, a partir de ahora el sistema se iniciará con el modo gráfico en forma automática. 7
Solaris 10 Intel para Administradores Linux (0.14) 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 cuando aparezca la presentación a color de solaris solicitando la identificación. El programa encargado 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) y el clásico X Display Manager (xdm.) Entre las opciones importantes de la presentación tenemos el idioma a emplearse así 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 homogenea y portable entre estos sistemas; asimismo, puesto que fue diseñado para computadores de antiguas generaciones, para los actuales resulta muy liviano. El problema radica en que es obsoleto, limitado, y feo. Aunque esto puede ser subjetivo, el hecho concreto es que dicho escritorio no ha tenido practicamente ningún desarrollo importante en los últimos diez o quince años, por lo que hace tiempo 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 museo de historia. Sin embargo, varias aplicaciones de administración importantes están disponibles sólo desde los menús del CDE. Aunque debería ser posible, no hemos encontrado la manera de lanzar dichas aplicaciones desde el "Java Destop System". Es esencial dar una mirada a las aplicaciones accesibles desde el "Application Manager", el cual (al menos en el sistema Solaris que hemos instalado) está oculto en un menú del panel cuyo ícono simboliza un editor de texto: como siempre, los Unix no brillan por su intuitividad, si siquiera en el entorno gráfico supuestamente amigable. En cuanto al Java Desktop System, a nuestro parecer debería renombrarse a "Gnome Desktop System and some Java", pues es básicamente un escritorio Gnome, con aplicaciones Gnome, acompañadas de algunas aplicaciones Java típicamente tediosas de utilizar, las cuales usan los servicios de Gnome. Con todo, 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 en paquetes. El comando pkginfo permite obtener un largo listado de los mismos 8
Solaris 10 Intel para Administradores Linux (0.14) (en nuestro caso, 1073 paquetes, teniendo en cuenta que hemos instalado software adicional al sistema operativo base.) El nombre del paquete aparece en la segunda columna: bash-3.00# pkginfo | more system CADP160 Adaptec Ultra160 SCSI Host Adapter Driver system HPFC Agilent Fibre Channel HBA Driver system 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" (ingresar con el "application manager" al directorio "System_Admin"), la cual permite navegar entre los paquetes cómodamente sin necesidad de los comandos "pkg*". Una ventaja interesante radica en que los paquetes aparecen ordenados en un árbol por categoría, lo que facilita su ubicación. Para buscar los archvos contenidos en un paquete, se puede emplear "pkgchk -l": # pkgchk -l SUNWcsr | more Pathname: /bin Type: symbolic link Source of link: ./usr/bin Referenced by the following packages: SUNWcsr Current status: installed Pathname: /dev Type: directory Expected mode: 0755 Expected owner: root Expected group: sys Referenced by the following packages: SUNWcsr SUNWcsd Current status: installed ...
Para ubicar a qué paquete pertenece un archivo se puede buscar directamente en el log de los paquetes instalados: 9
Solaris 10 Intel para Administradores Linux (0.14) # grep /etc/hosts /var/sadm/install/contents /etc/hosts=./inet/hosts s none SUNWcsr
El comando pkgadd permite instalar paquetes individuales, aunque en muchos casos se proporcionan scripts o wizards de instalación, especialmente para productos grandes que contienen múltiples paquetes.
Servicios Los "servicios" en la mayoría de Unixes y clones como Linux consisten esencialmente de procesos demonios que son ejecutados masivamente al iniciarse el sistema operativo, y posteriormente a pedido por el administrador. En muchos sistemas la manera de iniciar un servicio manualmente consiste en lanzar un script ubicado en un directorio especial (como /etc/init.d/) acompañado de la palabra "start" (o "stop" para detenerlo.) Asimismo, el orden de lanzamiento/parada de los mismos queda determinado automáticamente por el orden alfabético de los nombres de ciertos archivos (enlaces simbólicos) ubicados en divesos directorios correspondientes a los famosos "niveles de ejecución". Este esquema siempre nos pareció limitado, pero tiene la gran ventaja de ser muy sencillo de utilizar; Sun lo ha mantenido en todas sus versiones de Solaris ... hasta la número 9. En Solaris 10 (se publicita como una de sus novedades) se proporciona un esquema totalmente distinto y más poderoso, aunque por ende más complicado. Se trata del "smf" (service management facility.) A fin de ilustrar su operación, tomemos un ejemplo 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 arranque del sistema operativo. Cada servicio "smf" tiene un identificador conocido como "fault management resource identifier" o FMRI. Si desconocemos el servicio o FMRI asociado al programa sendmail (si es que lo hay) podemos intentar hallarlo del siguiente modo: # svcs -a | grep sendmail online 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 patrones de de svcs, lo que permite en algunos abreviar el FMRI: # svcs sendmail STATE STIME FMRI online 10:33:43 svc:/network/smtp:sendmail
Es equivalente a: 10
Solaris 10 Intel para Administradores Linux (0.14) # svcs svc:/network/smtp:sendmail STATE STIME FMRI online 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:sendmail STATE STIME FMRI online 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 sendmail smmsp 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:sendmail fmri svc:/network/smtp:sendmail name sendmail SMTP mail transfer agent enabled true state online next_state none state_time Mon May 08 10:33:43 2006 logfile /var/svc/log/network-smtp:sendmail.log restarter svc:/system/svc/restarter:default contract_id 52 dependency require_all/refresh file://localhost/etc/mail/sendmail.c dependency 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 (online dependency optional_all/refresh svc:/system/identity:domain (online dependency optional_all/none svc:/system/system-log (online)
Podemos detener a Sendmail del siguiente modo: # svcadm disable svc:/network/smtp:sendmail bash-3.00# svcs -p svc:/network/smtp:sendmail STATE STIME FMRI disabled 11:52:25 svc:/network/smtp:sendmail bash-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 el reinicio.) Para reiniciar el servicio: # svcadm enable svc:/network/smtp:sendmail # svcs -p svc:/network/smtp:sendmail STATE STIME FMRI online 11:54:23 svc:/network/smtp:sendmail 11:54:23 765 sendmail 11:54:23 766 sendmail
11
Solaris 10 Intel para Administradores Linux (0.14) # ps -ef|grep sendmail root 765 1 0 11:54:24 ? 0:00 /usr/lib/sendmail -bd -q15m smmsp 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 sean ejecutados coordinadamente, permite reiniciar los servcios automáticamente en caso de caída, etc: ps -ef |grep sendmail root 765 1 0 11:54:24 ? 0:00 /usr/lib/sendmail smmsp 766 1 0 11:54:24 ? 0:00 /usr/lib/sendmail bash-3.00# kill 765 766 bash-3.00# kill 765 766 bash: kill: (765) - No such process bash: kill: (766) - No such process bash-3.00# ps -ef |grep sendmail smmsp 824 1 0 12:10:26 ? 0:00 /usr/lib/sendmail root 821 1 0 12:10:26 ? 0:00 /usr/lib/sendmail
-bd -q15m -Ac -q15m
-Ac -q15m -bd -q15m
Niveles de ejecución El concepto de "niveles de ejecución" se mantiene, y sigue siendo administrado como en otros sistemas Unix mediante el proceso init. Sin embargo, init informa acerca de los cambios de nivel de ejecución al demonio svc.startd, el cual se encarga de administrar los servicios "smf". Los niveles de ejecución definidos son:
Tabla 2. Niveles de ejecución Nivel
Significado
SoS
Single-User, acceso únicamente por consola
0,5,6
Reservados para shutdown/reboot
1
Modo administrativo. Sólo se montan sistemas de archivo local y se inician procesos 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 red configuradas. En nuestro caso, el instalador sólo reconoció la tarjeta 3Com, a la que asignamos una dirección estática. Esta tarjeta es reconocida como la interfaz elxl0:
12
Solaris 10 Intel para Administradores Linux (0.14) 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 ya está en uso, pero el cambio funciona. Para que este cambio sea permanente, hay que tener presente que cada tarjeta de red (en nuestro caso, sólo una detectada) tiene un "hostname" asociado. Por ejemplo, para nuestra interfaz 3Com "elxl0", existe un archivo llamado "/etc/ hostname.elxl0" conteniendo: $ cat /etc/hostname.elxl0 p3.gatogringo.com
[Según se indica en el "solaris x86 FAQ", si este archivo estuviera vacío el sistema trata de obtener la dirección IP vía DHCP.] Puesto que en el archivo /etc/hosts a este host le corresponde la dirección ip 192.168.1.58, es ésta la que termina siendo asignada a la tarjeta: $ cat /etc/hosts # # Internet host table # 127.0.0.1 localhost 192.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 localhost 127.0.0.1 localhost 192.168.1.58 p3.gatogringo.com
loghost
Aunque no es muy clara la razón de ser de ambos archivos, ipnodes tiene prioridad a la hora de hallar las direcciones IPV4 a partir de los nombres y soporta direcciones IPV6. 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 que exista el archivo /etc/apache/httpd.conf. En ese directorio existe el archivo /etc/apache/httpd.conf-example, el cual puede simplemente ser copiado como httpd.conf y será suficiente para que el servidor se inicie con el sistema operativo. Los documentos web por omisión (DocumentRoot) están localizados en el directorio /var/apache/htdocs. También está instalado Apache 2.0.52 (con su configuración en /etc/apache2.) 13
Solaris 10 Intel para Administradores Linux (0.14)
Inetd La versión de Inetd proporcionada en Solaris 10 está fuertemente modificada para interactuar con "smf". En particular, casi todos los servicios tcp/ip están confugurados como servicios "smf" y no en el clásico /etc/inetd.conf (que se mantiene por compatibilidad.) Por ejemplo, el servicio "telnet" (que inconcebiblemente sigue siendo habilitado por omisión) tiene el FMRI "svc:/ network/telnet:default": # svcs -p telnet STATE STIME FMRI online 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 (y sus drivers) con respecto al hardware instalado. Sus archivos tienen una estructura que refleja la arquitectura del computador, y corresponden a los conocidos "archivos especiales de dispositivo" de otros Unixes o Linux. Esto no significa que Solaris no cuente con archivos especiales de dispositivo en el directorio /dev; ciertamente los tiene, sin embargo, normalmente corresponden a simples enlaces simbólicos hacia el directorio devices.
Detección del hardware A modo de prueba, desconectamos la lectora de CDROM del Ide Secundario y la reemplazamos con un disco duro adicional. Tras encender el computador descubrimos algunos cambios en el directorio /devices (se tuvo el cuidado de guardar 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ía no lo podemos utilizar, pues el acceso normal se efectúa mediante los archivos especiales del directorio "/dev", los cuales todavía no existen. Para crearlos, lanzamos: # devfsadm -v -c disk devfsadm[609]: verbose: symlink /dev/dsk/c1d0s0 ->
14
Solaris 10 Intel para Administradores Linux (0.14) ../../devices/pci@0,0/pci-ide@7,1/ide@1/cmdk@0,0:a devfsadm[609]: verbose: symlink /dev/dsk/c1d0s1 -> ../../devices/pci@0,0/pci-ide@7,1/ide@1/cmdk@0,0:b devfsadm[609]: verbose: symlink /dev/dsk/c1d0s2 -> ../../devices/pci@0,0/pci-ide@7,1/ide@1/cmdk@0,0:c devfsadm[609]: verbose: symlink /dev/dsk/c1d0s3 -> ../../devices/pci@0,0/pci-ide@7,1/ide@1/cmdk@0,0:d devfsadm[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 kernel en el momento del inicio (vía Grub), la cual instruye al sistema a regenerar todos los archivos de /dev que sean necesarios. Los enlaces correpondientes al ahora inexistente lector de CDROM también deberían ser eliminados: # devfsadm -C devfsadm[626]: devfsadm[626]: devfsadm[626]: devfsadm[626]: devfsadm[626]: ...
-v -c disk verbose: removing verbose: removing verbose: removing verbose: removing verbose: removing
file: file: file: file: file:
/dev/dsk/c1t0d0s0 /dev/dsk/c1t0d0s1 /dev/dsk/c1t0d0s2 /dev/dsk/c1t0d0s3 /dev/dsk/c1t0d0s4
Archivos de dispositivo de disco Cada disco posee un conjunto de archivos especiales de dispositivo en los directorios /dev/dsk y /dev/rdsk, los cuales se emplean en distintos contextos. Normalmente se empleará la interfaz en /dev/dsk (de bloque) cuando se monte el respectivo filesystem y se utilice para el almacenamiento de archivos, puesto que esto asegura la utilización del "caché" de disco. Por el contrario, para operaciones de bajo nivel que deben afectar directamente al disco (sin pasar por el caché) se emplea la interfaz "de caracter" en /dev/rdsk. La nomenclatura de los discos ide tiene la forma "c#d#s#", correspondiendo el primer dígito a la interfaz ide (controlador), el segundo 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 corresponde a la "partición de tipo fdisk".
Particionamiento Aquí nos referimos al particionamiento correspondiente a la tradicional tabla de particiones 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 de particiciones mediante: fdisk /dev/rdsk/c1d0p0 Total disk size is 19846 cylinders Cylinder size is 1008 (512 byte) blocks Cylinders
15
Solaris 10 Intel para Administradores Linux (0.14) Partition ========= 1 2
Status ======
Type ======= BSD OS BSD OS
Start ===== 0 6095
End === 6094 6614
Length ====== 6095 520
% === 31 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 Sparc utiliza un esquema distinto al de el BIOS de las PC's (de fdisk). La solución de Solaris 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 denomina particionamiento (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 crear una partición de tipo "fdisk en PC"): # format Searching for disks...done AVAILABLE DISK SELECTIONS: 0. c0d0 /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0 1. c1d0 /pci@0,0/pci-ide@7,1/ide@1/cmdk@0,0 Specify disk (enter its number): 1 selecting c1d0 Controller working list found [disk formatted, defect list found] FORMAT MENU: disk type partition current format fdisk repair
-
select a disk select (define) a disk type select (define) a partition table describe the current disk format and analyze the disk run the fdisk program repair a defective sector
16
Solaris 10 Intel para Administradores Linux (0.14) show label analyze defect backup verify save volname ! quit
-
translate a disk address write label to the disk surface analysis defect list management search for backup labels read and display labels save new disk/partition definitions set 8-character volume name execute , then return
format>
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 ! - execute , then return quit partition> print Current partition table (original): Total disk cylinders available: 3967 + 2 (reserved cylinders) Part Tag 0 unassigned 1 unassigned 2 backup 3 unassigned 4 unassigned 5 unassigned 6 unassigned 7 unassigned 8 boot 9 alternates
Flag wm wm wu wm wm wm wm wm wu wm
Cylinders 0 0 0 - 3966 0 0 0 0 0 0 0 1 2
Size 0 0 1.91GB 0 0 0 0 0 0.49MB 0.98MB
Blocks (0/0/0) 0 (0/0/0) 0 (3967/0/0) 3998736 (0/0/0) 0 (0/0/0) 0 (0/0/0) 0 (0/0/0) 0 (0/0/0) 0 (1/0/0) 1008 (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 total del 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 boot loaders 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> 0 Part Tag 0 unassigned
Flag wm
Cylinders 0
17
Size 0
Blocks (0/0/0)
0
Solaris 10 Intel para Administradores Linux (0.14) Enter partition id tag[unassigned]: Enter partition permission flags[wm]: Enter new starting cyl[0]: 3 Enter partition size[0b, 0c, 3e, 0.00mb, 0.00gb]: 500mb partition> print Current partition table (unnamed): Total disk cylinders available: 3967 + 2 (reserved cylinders) Part Tag 0 unassigned 1 unassigned 2 backup ... partition> 1 Part Tag 1 unassigned
Flag wm wm wu
Cylinders 3 - 1018 0 0 - 3966
Size 500.06MB 0 1.91GB
Flag wm
Cylinders 0
Size 0
Blocks (1016/0/0) 1024128 (0/0/0) 0 (3967/0/0) 3998736
Blocks (0/0/0)
0
Enter partition id tag[unassigned]: Enter partition permission flags[wm]: Enter new starting cyl[0]: 1019 Enter partition size[0b, 0c, 1019e, 0.00mb, 0.00gb]: 500mb partition> print Current partition table (unnamed): Total disk cylinders available: 3967 + 2 (reserved cylinders) Part Tag 0 unassigned 1 unassigned 2 backup ...
Flag wm wm wu
Cylinders 3 - 1018 1019 - 2034 0 - 3966
Size 500.06MB 500.06MB 1.91GB
Blocks (1016/0/0) 1024128 (1016/0/0) 1024128 (3967/0/0) 3998736
partition>
Finalmente guardamos la tabla de slices: partition> label Ready 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/c1d0s0 newfs: construct a new file system /dev/rdsk/c1d0s0: (y/n)? y mkfs -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/c1d0s1 newfs: construct a new file system /dev/rdsk/c1d0s1: (y/n)? y /dev/rdsk/c1d0s1: 1024128 sectors in 1016 cylinders of 16 tracks, 63 sectors
18
Solaris 10 Intel para Administradores Linux (0.14) 500.1MB in 64 cyl groups super-block backups (for fsck -F 32, 16224, 32416, 48608, 64800, 871328, 887520, 903712, 919904, 1017056
(16 c/g, 7.88MB/g, 3776 i/g) ufs -o b=#) at: 80992, 97184, 113376, 129568, 145760, 936096, 952288, 968480, 984672, 1000864,
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 porcentaje de 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 de caracter (rdsk.) Podemos reiniciar el computador, o probar directamente: # df -h|grep data /dev/dsk/c1d0s0 /dev/dsk/c1d0s1
470M 470M
1.0M 1.0M
422M 422M
1% 1%
Configuración del Sistema El sistema en uso Para detalles sobre la versión del sistema operativo: # showrev Hostname: p3.gatogringo.com Hostid: 1ccb4eb5 Release: 5.10 Kernel architecture: i86pc Application architecture: i386
19
/data1 /data2
Solaris 10 Intel para Administradores Linux (0.14) 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.log X Window System Version 6.8.2 (Sun Xorg Release 1.1 for Solaris 10) Release Date: 9 February 2005 X Protocol Version 11, Revision 0, Release 6.8.2 Build Operating System: SunOS 5.10 Generic i86pc Current Operating System: SunOS p3.gatogringo.com 5.10 Generic_118844-26 i86pc Build Date: 09 September 2005 SUNWxorg-server package version: 6.8.0.5.10.7400,REV=0.2004.12.15 SUNWxorg-server patches applied: 118966-11 119062-01 SUNWxorg-graphics-ddx package version: 6.8.0.5.10.7400,REV=0.2004.12.15 SUNWxorg-graphics-ddx patches applied: 118966-11 ...
Listado de Parches Instalados # showrev -p Patch: 118368-02 Obsoletes: Requires: Incompatibles: Packages: SUNWcsu Patch: 118372-06 Obsoletes:119266-02 Requires: Incompatibles: Packages: SUNWcsu, SUNWcsl, SUNWtoo Patch: 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 Memory size: 256 Megabytes System Peripherals (Software Nodes): i86pc System properties:
20
i86pc
Solaris 10 Intel para Administradores Linux (0.14) 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ón definitiva que reemplaza a la mayoría de herramientas GUI de administración. Diversas herramientas (como el clásico "admintool") han sido removidas en favor del Solaris Management Console. La idea no es nueva, y la mayoría de sistemas Unix tiene algo parecido. Los usuarios de Linux quizá lo encuentren afín al popular "Webmin", aunque no se trata de un sistema 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 servidor y administrarlo remotamente con la misma interfaz. Por omisión el juego de herramientas incluido es pequeño y sólo cubre tareas bá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
21
Solaris 10 Intel para Administradores Linux (0.14) • Discos • Almacenamiento Mejorado (volúmenes) • Dispositivos y Hardware Esto luce bien... sin embargo realmente es muy poco, particularmente en lo que corresponde a la configuración del sistema. La aplicación que debe crear y modificar usuarios simplemente no funciona. Los "Computadores y Redes" no permiten configurar casi nada más allá del hostname y la dirección IP. Los "Puntos de Montaje" sólo muestran el contenido de vfstab y no permiten agregar entradas; en cuanto a la administración de Discos, falla totalmente con un mensaje confuso de advertencia: "No hay partición solaris, si continúa se destruirá el contenido"; y luego ya no se puede hacer nada más. No hemos probado el tema de los volúmenes, y en cuanto al gran tópico de "Dispositivos y Hardware", lo ¡unico! configurable son los puertos seriales (COM1/COM2)!
Módulos del kernel Los comandos modinfo, modload y modunload permiten listar, cargar y descargar módulos dinámicos del kernel. Típicamente esto lo hace el sistema de manera automática. # Id 0 1 2 4 6 7 8 10 11 12 ...
modinfo |more Loadaddr Size Info Rev Module Name fe800000 accc0 0 unix () fe86ce20 1276a 0 krtld () fe87abd8 13c4f8 0 genunix () fe981000 3b38 1 1 specfs (filesystem for specfs) fe9849a8 34a0 16 1 devfs (devices filesystem 1.13) fe987ba8 2aa4 1 1 TS (time sharing sched class) fe98a1ac 87c 1 TS_DPTBL (Time sharing dispatch table) fe98a208 5260 1 pci_autoconfig (PCI BIOS interface 1.42) fe98e588 220c 1 1 uppc (UniProcessor PC) 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 se hallan en /usr/kernel/drv. En muchos casos los drivers son acompañados un archivo 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 es que simplemente no hay mucho hardware soportado, particularmente de tipo "multimedia".
Herramientas de desarrollo Actualmente la documentación online de Sun recomienda utilizar las herramientas de desarrollo del proyecto GNU. Este es un cambio de actitud significativo y bastante explicable, en gran medida porque Solaris es uno de los pocos Unixes que no distribuía un compilador de lenguaje C o C++, teniendo normalmente que comprarse 22
Solaris 10 Intel para Administradores Linux (0.14) adicionalmente de Sun. Esta situación cambió dramáticamente con la difusión y verificación de la calidad de las herramientas GNU, y en buena medida con la obsesión de Sun para que todo el mundo sólo programe en Java. Da la impresión que su "Sun Studio 11" (un IDE, compiladores y herramientas de desarrollo diversas) es ahora un producto marginal.
Herramientas GNU 2
Bajo el directorio /usr/sfw están disponibles diversas aplicaciones "Open Source" tales como el compilador GCC (Gnu C Compiler.) A fin de probar su efectividad, decidimos agregar soporte PHP al servidor Apache 1.3. Lo primero que hago es agregar la ruta de los binarios: PATH=/usr/sfw/bin:$PATH
Esta ruta normalmente no está incluida (se puede agregar en /etc/profile para que 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 de apache /etc/apache/httpd.conf es respaldado y se genera una nueva versión que incluye la carga del módulo PHP. Sin embargo, esto no es suficiente pues no se agrega automáticamente la detección del tipo de archivo por extensión. Para esto agregamos 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 del compilador de C como algo "normal" en cualquier sistema Unix.
23
Solaris 10 Intel para Administradores Linux (0.14)
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. En nuetro caso, dada la distribución del espacio en filesystems, optamos por crear un subdirectorio 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 siguen los menús (wizard) de instalación. Como mencionaba al inicio, en una oportunidad tuve que reinstalar el sistema completamente puesto que el instalador requiere un gran espacio temporal en /var. Seleccionamos nuevamente el directorio /export/home como base para la instalació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 PHP tal como se hizo con el GCC. Para esto se debe eliminar la ruta /usr/sfw/bin del path (¡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 de desarrollo auxiliares (como "lex", "make", etc.) que vienen incluidas con el sistema 3 operativo . A continuación agregamos el subdirectorio "bin" de la ruta del producto Studio 11. Allí se encuentra el compilador de lenguaje C (comando cc.) Tras repetir el proceso anterior (ejecutar "make" y luego "make install") 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. En 4 tanto no tenemos interés en Mysql, lo deshabilitamos : 3 4
La necesidad de esto se hizo evidente cuando la configuración de PHP solicitaba el ejecutable de "lex". No se tome muy en serio este error. Es muy probable que ya no esté presente en las últimas versiones de PHP.
24
Solaris 10 Intel para Administradores Linux (0.14) ./configure --without-mysql --with-apxs=/usr/apache/bin/apxs
Esta vez el proceso termina sin problemas y tras reiniciar al Apache, nuevamente obtengemos la página informativa de mi script PHP.
Conclusiones Debemos partir aceptando que Solaris es un sistema muy extenso y toma tiempo conocerlo adecuadamente. Como impresión general, consideramos que Sun está intentando exitosamente combinar lo mejor del mundo Open Source con su tradicional y reconocido sistema operativo. En algunos sitios web leíamos quejas referidas 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 nos ha parecido simplemente "normal" (a excepción del arranque de las aplicaciones Java -como el SCM- cuya inicialización tiene retardos inauditos.) No hemos hecho ninguna prueba consistente de "trabajo real" como para alegar más al respecto. Aún persisten algunos defectos de la "ideosincracia Unix tradicional" en cuanto a una 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 son pobres o nulas en ejemplos prácticos. Es de notar que su tendencia es a eliminar la documentación de los CD's; por ejemplo, su tradicional Answerbook ha sido descartado en favor del acceso al web, y ciertamente en la Web hay documentos muy completos (en formato PDF) directamente descargables. En un contexto más general consideramos que Sun ha creado a lo largo de su 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) se aprecian extrañas y contradictorias decisiones más o menos negativas tales como la reinvención de su propio sistema NFS y la constante reinvención de su sistema de impresión; ambos causando confusión y pérdida de tiempo a los usuarios y sin brindar 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 de modo texto que se encuentran en otros sistemas Unix en PC (típicamente accesibles con [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 he podido escuchar música a pesar que el computador que he utilizado tiene ya más de 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 sistemas Open Source como Linux y Free/BSD? La respuesta de Sun radica en su soporte, especialmente ahora que (tras demasiado tiempo) han decidido no cobrar por el software en sí. Este argumento realmente puede ser muy bueno o muy dañino, dependiendo de la impresión que hayan 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 para soportar sistemas muy escalables (varios CPU's, muchos arreglos de discos, mucha 25
Solaris 10 Intel para Administradores Linux (0.14) memoria, etc.) lo cual es muy importante para muchas compañías grandes. En cierto modo esto está por verse en la plataforma Intel, puesto que dicha escalabilidad tradicionalmente sólo se ha implementado en su plataforma propietaria Sparc/ UltraSparc. Todo esto, unido a los costos tremendamente inferiores de los computadores basados en Intel/Amd, hacen atractiva la oferta de Sun a muchas empresas... mas no a individuos o entusiastas, que posiblemente lo utilicen principalmente por la curiosidad de tener en casa un sistema típico de las grandes organizaciones.
26
View more...
Comments