h1

Opensolaris - Montando y leyendo particiones Ext3

Octubre 4, 2008

Continuando con las aventuras en Opensolaris contaré un caso puntual que me sucedió y como luego de leer y buscar y probar logre solucionarlo.

El caso

Tengo actualmente en mi equipo casero 3 discos duros:

  • Ide de 80 gb en donde esta instalado Opensolaris y Win2 Vista utilizando multi boot. En la misma correa (controladora) esta conectada la unidad lectora de DVD
  • Disco SATA de 160 gb con información y películas de Anime. Una sola partición. Ext3
  • Disco SATA de 500 gb en donde estaba instalado Linux Debian y tiene una partición bastante amplia para datos varios. Ext3 todas las particiones.

Deseo poder leer y preferiblemente escribir en las particiones. El lío es que Opensolaris de forma “nativa” no permite hacer esto. Es necesario instalar paquetes adicionales y montar a mano las particiones.

Un poco de teoría

En Opensolaris y otras versiones *nix se manejan nombres lógicos de los dispositivos. En el caso puntual de discos duros la notación seria: número de controladora, número del disco y dentro del disco el número de partición.

Para verificar dicha información utilizo el comando prtpart

# prtpart
Available disk devices:

/dev/rdsk/c0d0p0
/dev/rdsk/c3d0p0
/dev/rdsk/c3d1p0

Use /usr/bin/prtpart <disk device> to get partition details
Use /usr/bin/prtpart -help for usage help

Y haciéndole caso al comando puedo verificar por ejemplo la controladora cero, el disco cero (en donde esta instalado Win2 y Opensolaris. Capacidad de 80 gb)

# prtpart /dev/rdsk/c0d0p0

Fdisk information for device /dev/rdsk/c0d0p0

Block Size : 512 bytes
Controller : ide
Disk       : cmdk
Capacity   : 76 GB

#  start block  # nblocks    startCylSecHd endCylSecHd   OSType
1: 0000000063   0040965687     0/ 1/ 1    ff/ff/fe      IFS: NTFS
2: 0040965750   0119117824    ff/ff/fe    ff/ff/fe      Solaris x86

Y verificando un disco con múltiples particiones:

# prtpart /dev/rdsk/c3d0p0

Fdisk information for device /dev/rdsk/c3d0p0

Block Size : 512 bytes
Controller : ide
Disk       : cmdk
Capacity   : 465 GB

#  start block  # nblocks    startCylSecHd endCylSecHd   OSType
1: 0000002048   0081920000     0/21/20    ff/ff/fe      IFS: NTFS
2: 0081931500   0013655250    ff/ff/fe    ff/ff/fe      Linux native
3: 0095586750   0881181315    ff/ff/fe    ff/ff/fe      DOS Extended

#  start block  # nblocks    startCylSecHd endCylSecHd   OSType
5: 0000000063   0003903732    ff/ff/fe    ff/ff/fe      Linux swap
0: 0003903795   0039070080    ff/ff/fe    ff/ff/fe      DOS Extended

#  start block  # nblocks    startCylSecHd endCylSecHd   OSType
6: 0000000063   0039070017    ff/ff/fe    ff/ff/fe      Linux native
0: 0042973875   0838207440    ff/ff/fe    ff/ff/fe      DOS Extended

#  start block  # nblocks    startCylSecHd endCylSecHd   OSType
7: 0000000063   0838207377    ff/ff/fe    ff/ff/fe      Linux native

El software necesario y configuración.

Luego de googlear un rato encontré que para leer dichas particiones es necesario el siguiente software:

1. Paquete FSWpart

Luego de la descarga descomprimir con:

gunzip -c FSWpart.tar.gz | tar xvf -

A continuación instalar con:

# pkgadd -d . FSWpart

2. Paquete FSWfsmisc

Luego de la descarga descomprimir con:

gunzip -c FSWfsmisc.tar.gz | tar xvf -

A continuación instalar con:

# pkgadd -d . FSWfsmisc

Para verificar las particiones logicas entonces se utiliza la variable -ldevs que segun la propia documentación del programa:

-ldevs - Lists logical device names for all the partitions on the disk
including the extended partitions. The extended partition
device names are non-standard virtual names for accessing
other filesystems, namely NTFS and EXT2FS

Así que el resultado del comando es:

# prtpart /dev/rdsk/c3d0p0 -ldevs

Fdisk information for device /dev/rdsk/c3d0p0

** NOTE **
/dev/dsk/c3d0p0      - Physical device referring to entire physical disk
/dev/dsk/c3d0p1 - p4 - Physical devices referring to the 4 primary partitions
/dev/dsk/c3d0p5 …  - Virtual devices referring to logical partitions

Virtual device names can be used to access EXT2 and NTFS on logical partitions

/dev/dsk/c3d0p1    IFS: NTFS
/dev/dsk/c3d0p2    Linux native
/dev/dsk/c3d0p3    DOS Extended
/dev/dsk/c3d0p5    Linux swap
/dev/dsk/c3d0p6    Linux native
/dev/dsk/c3d0p7    Linux native

Montar la partición

Una vez verificada cual partición deseamos montar es similar a montar particiones en GNU/Linux con la diferencia que debemos decirle que es un ext2

# mount -F ext2fs /dev/dsk/c3d0p7 /media/montado/

Y para desmontar es igual que en GNU/Linux

# umount /media/montado

h1

Opensolaris - Gestión de los servicios SMF

Octubre 3, 2008

Continuando con el manejo de servicios SMF para monitorizar o cambiar el estado de los servicios se utilizan los comandos:

  • svcs: información sobre el estado del servicio y / o dependencias.
  • svcadm: acciones administrativas como cambiar el estado de un servicio.
  • svccfg: Crear nuevos servicios a partir de un archivo xml y modificar las propiedades de un servicio.
  • svcprop: obtener y cambiar valores de la bbdd sobre un servicio.

Obtener información de los servicios (svcs)

Para mas organización los servicios SMF estan en grupos con los siguientes nombres:

  • Application: servicios asociados a aplicaciones
  • Device: dependencias
  • Milestone: niveles de ejecución
  • Network: servicios del antiguo inetd.conf
  • Platform: servicios específicos de la plataforma
  • System: servicios independientes de la plataforma
  • Site: por ahora sin uso (que precavidos… hasta inventan esto para el futuro)

Información del servicio

sendmail: (utilizo el grep para ser puntual en la búsqueda)

# svcs -a |grep sendmail
online          9:34:28 svc:/network/smtp:sendmail

Como se puede ver pertenece a /network

Dependencias de un servicio

El mismo sendmail (nota: es necesario colocar la “ruta” completa del servicio)

# svcs -d svc:/network/smtp:sendmail
STATE          STIME    FMRI
online          9:34:16 svc:/system/identity:domain
online          9:34:19 svc:/network/service:default
online          9:34:19 svc:/milestone/name-services:default
online          9:34:21 svc:/system/filesystem/local:default
online          9:34:27 svc:/system/filesystem/autofs:default
online          9:34:28 svc:/system/system-log:default

Como vemos para que sendmail pueda ser ejecutado los otros servicios deben estar en ejecución (son sus dependencias)

Procesos asociados a un servicio

El comando es svcs -p. Claro que tambien podemos utilizar el viejo ps -fea. El ejemplo con sendmail:

# svcs -p svc:/network/smtp:sendmail
STATE          STIME    FMRI
online         13:53:15 svc:/network/smtp:sendmail
13:53:16      551 sendmail
13:53:16      552 sendmail

# ps -fea |grep sendmail
smmsp   551     1   0 13:53:17 ?           0:00 /usr/lib/sendmail -Ac -q15m
root   552     1   0 13:53:17 ?           0:00 /usr/lib/sendmail -bl -q15m

Información detallada de un servicio

SMP aporta tambien información detallada de un servicio como su nombre, si esta habilitado, su propio estado y dependecias. Comando: svcs -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    3 de octubre de 2008 13:53:15 COT
logfile      /var/svc/log/network-smtp:sendmail.log
restarter    svc:/system/svc/restarter:default
contract_id  73
dependency   require_all/refresh file://localhost/etc/mail/sendmail.cf (online)
dependency   require_all/refresh file://localhost/etc/nsswitch.conf (online)
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)

Diagnostico de fallos

Con el comando svcs -x nos muestra información detallada en caso de un error en el arranque de un servicio. Útil para el diagnostico de errores.

Parar, arrancar y reiniciar un servicio

Podemos dejar temporal o permanentemente detenido un servicio deseado. Para que el cambio sea temporal:

# svcadm disable -t svc:/network/smtp:sendmail

Y si adicional verificamos con el diagnostico de fallos (punto anterior)

# svcs -x svc:/network/smtp:sendmail
svc:/network/smtp:sendmail (sendmail SMTP mail transfer agent)
State: disabled since  3 de octubre de 2008 14:15:46 COT
Reason: Temporarily disabled by an administrator.
See: http://sun.com/msg/SMF-8000-1S
See: sendmail(1M)
See: /var/svc/log/network-smtp:sendmail.log
Impact: This service is not running.

Más claro no se puede: informa que el servicio fue temporalmente desabilitado por un administrador. Además informa donde se puede hallar mas info al respecto y hasta la ubicación del archivo log.

Para iniciar nuevamente el servicio:

# svcadm enable -t svc:/network/smtp:sendmail

Para reiniciar (restart como en GNU/Linux) ejecutamos

# svcadm restart svc:/network/smtp:sendmail

Haciendo el reinicio del servicio y cambiando los pid del mismo.

Como quiero dejar permanente el servicio sendmail desabilitado ejecuto la parada del servicio sin la variable de temporal (-t)

# svcadm disable svc:/network/smtp:sendmail

Y luego verifico:

# svcs -x svc:/network/smtp:sendmail
svc:/network/smtp:sendmail (sendmail SMTP mail transfer agent)
State: disabled since  3 de octubre de 2008 14:26:47 COT
Reason: Disabled by an administrator.
See: http://sun.com/msg/SMF-8000-05
See: sendmail(1M)
See: /var/svc/log/network-smtp:sendmail.log
Impact: This service is not running.

Creo que con eso es suficiente para administrar rapidamente los servicios ejecutandose. Si ya se desea crear o modificar los valores de los servicios puedes consultar un poco mas sobre svcprop. Igualmente es posible generar nuevos servicios y / o convertir un servicio inetd.conf en SMF.

Hasta la proxima.

h1

Opensolaris - entendiendo el sistema de arranque SMF

Octubre 3, 2008

Opensolaris incorpora un nuevo sistema de gestión del arranque que ofrece nuevas posibilidades y optimiza el arranque del sistema llamado SMF (Service Management Facility). Este sistema viene a reemplazar el clásico inicio secuencial de Unix System V (segun wikipedia del año 1997 implementado por SCO). Claro que aun se mantienen como proceso inicial el init leyendo el fichero /etc/inittab

La ventaja de este servicio es que permite arrancar los servicios de forma paralela de acuerdo a sus dependencias y una vez arrancado el sistema se puede observar, deshabilitar, arrancar y parar los servicios.

El estado en que puede estar un servicios SMF pueden ser:

  • Online
  • Offline
  • Disabled
  • Maintenance
  • Degraded
  • Uninitialized
  • Legacy_run

Como mencione al principio también se pueden manejar dependencias de los servicios… brevemente: si algun servicio que es base de otro no subio o fallo el servicio principal no funcionará. Las propiedades que se pueden definir para las dependencias son:

  • Require_all
  • Require_any
  • Optional_all
  • Exclude_all

Para variar un poco las cosas llamaron a los niveles de ejecución “Milestone” pero son iguales a los ya conocidos niveles. Cada Milestone sube solamente los servicios necesarios para su nivel de ejecución. Existen por lo tanto los famosos niveles (milestone) single user y multi user.

En la proxima entrada del blog hablaré de la gestión de los servicios.

h1

Primeras experiencias con Opensolaris snv_98

Octubre 2, 2008

Tal como me había propuesto y luego de posponer por bastante tiempo la instalación y aprendizaje de Opensolaris lo instalé en la nueva máquina.

Debo decir que para evitar enredos y lios instalé el sistema en un disco duro IDE de 80 gb conectado como maestro y de esclavo la unidad lectora de DVD. Los discos SATA de 160 gb y de 500 gb están conectados y aun con sus particiones sin modificar y sus datos a salvo.

La descarga e instalación del sistema fue sin complicaciones ni sobresaltos… como me ha sucedido en ocasiones anteriores la tarjeta de red integrada no funciono como debía… para evitar esto coloqué una tarjeta Realtek con chip 8139 y la red funciona bien.

Luego de instalar el sistema el primer paso fue averiguar como se agrega software al sistema. Pues bueno, el sistema se llama IPS (Image Packaging System) y para dar una idea es similar a apt-get en su concepto. Así que con un comando se puede instalar un paquete y de paso resolver las dependencias (algo bastante necesario) y además tiene una GUI llamada Package Manager.

Uno de los primeros pasos fue obtener nuevos “repositorios” para agregar software necesario. Agregué el de Blastwave.org y el de lifewithsolaris.jp. De este ultimo instalé vlc y xine-ui los cuales son super útiles para reproducir vídeos (anime obviamente). Pero tristemente el audio denominado por el sistema Audio HD no funcionaba… silencio total. La receta para que funcione? aplicar lo que se encuentra en este link sobre audio.

También problemas con las páginas de internet con animaciones flash. Por fortuna nuevamente google tiene la respuesta para el problema de animaciones flash.

Bueno, bastante info para comenzar no? Es una nueva manera de pensar, nuevas aplicaciones, comandos y evolución de un sistema que fue precursor o base de nuestro amado y odiado Linux.

Por qué lo estoy utilizando? sencillo, quiero ver hacia donde se dirige la tecnología… y aunque genere polemica o algo de casi fanatismo o líneas interminables de porque algo es bueno o malo… debemos admitirlo: Opensolaris tiene cosas realmente interesantes.

PD: si algun día solucionan los lios de drivers que aburren y hacen sencillo el montaje de particiones ext3 será un sueño completo.

h1

Anime en septiembre 2008

Septiembre 21, 2008

Saludos querido lector y recuerdo para mi memoria imperfecta

Hoy es 21 de Septiembre de 2008 y son las 21:56

Acabo de terminar de ver la serie de Anime llamada: Ghost in the Shell - Stand Alone Complex. Y la serie no me defraudo… al contrario me hizo desear ver un capítulo mas y otro y otro… termine 20 capítulos en 2 días… no me arrepiento, fue una buena inversión de tiempo en algo que me agrada.

A la fecha me declaro culpable de tener en mi poder en formato avi, omg, mpeg4, mkv y similares (son los formatos multimedia que se utilizan en esta época) las siguientes series de anime. Las que estan de otro color son las que ya e visto sea en tv, vhs o en los archivos descargados.

Nausicaa sub.Esp-avi
BLOOD, el último vampiro.mkv
Blue Submarine No.6
cat girl nuku nuku
cowboy bebop

desperate-housewifes
Devil-May-Cry
Dna2
El Gigante De Hierro - Aud Latino.avi
flcl-furicuri
freedom
full metal panic
ghost-hunt
Ghost In The Shell SAC 2nd GIG
Ghost in the Shell-Stand Alone Complex
Ghost in the shell - tachikoma
Grave of the fireflies (Spanish-Sub).avi
hack-roots
hack-sign
h-black
Hell girl
kiki delivery service
Kite Liberator OVA.mp4
macross-plus
Mi vecino Totoro- Hayao Miyazaki - 1988 - Jap sub Esp.avi
Neon Genesis Evangelion - 1.01 You are (not) alone.avi
nge
nge-japo-subt-span
Perfect Blue.mkv
school_days

solid state
tenchi muyo
tokyo babylon
video girl ai
X_1999.avi
x-tv-serie

Espero vivir lo suficiente para poder continuar disfrutando de uno de los pocos placeres que aunque me pasen los años sigo disfrutando.