Está en la página 1de 5

c  

Inferno es un sistema operativo distribuido. Básicamente, esto quiere decir que el sistema
está compuesto por diversas máquinas, no sólo una como ocurre con el modelo de
sistema operativo tradicional. Las ventajas de la computación distribuida son evidentes.
Gracias a ella, tenemos múltiples recursos disponibles en una red, aprovechables por un
único sistema.

Inferno es un desarrollo de Vitanuova, que actualmente se puede utilizar en múltiples


plataformas distintas, hospedado bajo varios sistemas operativos, o incluso como sistema
operativo nativo que ejecuta directamente sobre el hardware.

Es posible encontrar mucha información adicional sobre Inferno (en inglés) directamente
en la página web de Vitanuova.

c  


Inferno forma parte de ACM-Lux, pero es posible que se quiera instalar en otro GNU/Linux
en algún momento. Por este motivo vamos a describir a continuación de forma breve el
proceso de instalación. Estas instrucciones están basadas en las instrucciones que
proporciona Vitanuova.

c   

Una de las formas de conseguir Inferno es pidiendo un CD con la distribución en la


biblioteca de la Escuela Superior de Ciencias y Tecnología de la URJC. También es
posible descargar Inferno de forma gratuita desde la propia web de Vitanuova. Si optamos
por esta segunda opción, deberemos descomprimir los archivos correspondientes de la
siguiente forma:

[user@acm]$ tarxzvf inferno.tgz


[user@acm]$ tarxzvf Linux.tgz

Una vez descomprimido, tendremos los siguientes archivos y directorios:

LICENCE
Linux/
README.html
dis/
install/
mnt/
n/
tmp/

Si hemos conseguido un CD-ROM con la distribución, probablemente tendremos algo


como esto:

LICENCE
Linux/
Nt/
Plan9/
README.html
dis/
install/
mnt/
n/
tmp/

c   
 

 

En sistemas Posix, los archivos instalados tendrán el dueño y grupo determinados por el
usuario que realizó la instalación. La convención es crear un nuevo usuario, inferno, que
pertenezca a un nuevo grupo, inf, e identificarse como ese usuario antes de instalar. Para
instalar Inferno en una máquina GNU/Linux deberían seguirse los siguientes pasos:

1. De forma opcional, crear un usuario inferno y un grupo inf, bien editando a mano
los ficheros de sistema (/etc/passwd y /etc/group), bien usando las herramientas
de administración de usuarios y grupos que podemos encontrar en ACM-Lux. Una
vez creado el grupo y el usuario, nos identificamos como tal: su inferno
2. Ejecutar /install_path/install/platform_arch.sh.sh inferno_root

Donde platform y arch es una combinación de las distintas variantes de unix y


arquitecturas de CPU soportadas, install_path es el path completo al directorio donde
tenemos el instalador de inferno, e inferno_root es el directorio donde vamos a instalarlo.
El instalador realizará las siguientes tareas:

1. Ejecutar platform/arch/bin/emu para desempaquetar Inferno y los componentes


dependientes de la plataforma.
2. Copiar el archivo de LICENCIA a la raíz del sistema de ficheros de Inferno.
3. Renombrar el archivo emu.new a emu en platform/arch/bin del nuevo sistema de
ficheros de Inferno.

c    

Los ejecutables de inferno se guardan en un directorio combinación del sistema operativo


anfitrión y de la arquitectura de la CPU, el directorio binde Inferno:
inferno_root/host_os/host_arch/bin.

Una instalación hospedada de Inferno se arranca con el ejecutable llamado emu. En


GNU/Linux, es necesario indicarle a emu dónde puede encontrar la raíz del sistema de
ficheros de Inferno, con la opción -rrootpath, por ejemplo:

emu -r/usr/acm/inferno

Sin la opción -r, emu buscará la raíz de su sistema de ficheros en /usr/inferno. Por
defecto, en el modo gráfico, se utiliza una resolución de 640x480 píxeles. Para usar una
resolución de pantalla superior es necesario indicárselo a emu con la opción -
gtamañoXxtamañoY.

emu -r/usr/acm/inferno -g1024x768

Para facilitar las cosas, se puede hacer un sencillo script de shell que cargue
automáticamente nuestras preferencias y arranque Inferno. Podemos usar algo similar a
esto:

#!/bin/bash
if [ "$1" = "" ] ; then
echo 'Modo de uso: ./inferno modo'
echo 'Ej: ./inferno 800x600'
exit 0
fi
(xmodmap -e 'keysym F1 = braceleft'
xmodmap -e 'keysym F2 = braceright'
xmodmap -e 'keysym F3 = bracketleft'
xmodmap -e 'keysym F4 = bracketright'
xmodmap -e 'keysym F5 = backslash'
xmodmap -e 'keysym F6 = bar'
xmodmap -e 'keysym F7 = at'
xmodmap -e 'keysym F8 = numbersign'
xmodmap -e 'keysym F9 = asciitilde') 2>/dev/null
/var/inferno/Linux/386/bin/emu -r/var/inferno -g$1

Este sencillo script de shell, al que tendremos que darle permisos de ejecución (chmod +x
script), arranca Inferno instalado en el path que se muestra, y pasándole como parámetro
la resolución de pantalla que deseamos. Dicha resolución la indicaremos como parámetro
del script de shell. Además, se realizan mapeos de ciertos caracteres que no se incluyen
en el teclado inglés convencional de Inferno, hacia las teclas de función de nuestro
teclado. Esto es, pulsando las teclas FX de nuestro teclado, accederemos a caracteres
como la barra vertical o la almohadilla, que en la disposición inglesa de teclado no se
encuentran en el mismo sitio.

c  c    !

Una vez hayamos arrancado emu de alguna de las formas indicadas anteriormente, nos
quedaremos con una pequeña consola de comandos de Inferno, similar a esto:

Inferno Third Edition (4 May 2000) main (pid=112260) interp


Initialize Dis: /dis/emuinit.dis
;
Ahora podemos proceder a abrir el entorno de ventanas tecleando el siguiente comando:
wm/wm. Esto nos abre el interfaz gráfico principal de Inferno, y nos identifica dentro del
mismo con el mismo nombre de usuario que tenemos en linux al arrancar emu. Si lo que
queremos es arrancar con una pantalla de login que nos permita identificarnos, podemos
usar este otro comando: wm/logon. Inferno nos mostrará una pantalla en la que se nos
pedirá nuestro nombre de usuario, y a continuación nos dejará entrar al sistema.

c   " 
 


c   #$ % &

 
'

Para añadir un nuevo usuario en Inferno, primero deberemos entrar al entorno gráfico
identificándonos con wm/logon e indicando el usuario inferno. Si es la primera vez que
nos identificamos como el usuario inferno en esta máquina, se nos mostrará la licencia. Si
en Inferno existe el archivo /usr/inferno/namespace, será utilizado para construir un nuevo
espacio de nombres para el usuario, basado en los comandos que contenga. Tras esto se
ejecutará el entorno gráfico.

Una vez tenemos un usuario inferno en el sistema, crear nuevos usuarios es tan simple
como copiar la carpeta de este usuario (/usr/inferno) en Inferno, y pegarla con un nombre
distinto. Por ejemplo, desde el Linux en el que hemos instalado Inferno, e identificados
como el usuario inferno con el que lo instalamos, realizamos lo siguiente:

[inferno@acm]$ cp -rf /usr/inferno/usr/inferno /usr/inferno/usr/login

Donde login es el nombre del nuevo usuario que queremos crear, y /usr/inferno es donde
tenemos nuestra instalación de Inferno

c    #$( 

  &
 '

Para utilizar desde casa los ficheros que tienes en tu cuenta necesitas:

' Poner un password en el Inferno del servidor pantuflo.


' Configurar la red del Inferno en tu casa.
' Configurar Inferno para que el servidor de autenticación (authentication server) sea
pantuflo.
' Desde Inferno, ejecutar auth/getinfo para obtener un ticket que permite montar el
sistema de ficheros.
' Usar mount para montar tcp!pantuflo

c   c #$ )   '

Normalmente, basta con el primero de estos puntos (si tu máquina ya sabe la dirección de
pantuflo), pero es mejor seguir los dos:

' En /services/cs/db tienes varias lineas que indican qué máquinas son su servidor
de autenticación (SIGNER, el servidor de ficheros y demás. Editalo para obtener
algo similar a esto:
' $SIGNERpantuflo.escet.urjc.es
' $FILESERVERpantuflo.escet.urjc.es
' $MAILSERVERpantuflo.escet.urjc.es
' $PROXYyour_proxy_server

' Arranca el programa que traduce nombres a direcciones:


' ; lib/cs
' Asegúrate de tener un usuario en Inferno que coincida con el login de pantuflo. En
caso de no cumplirse este requisito:
' ; changeloginlogin_de_pantuflo
' password [default = don't change]: tu_password
' confirm: tu_password
' expires [DDMMYYYY , return = 21102003: intro
' free forminfo [return = ]: intro
' ;

Ya debería ser posible montar el sistema de ficheros de pantuflo, sin olvidarnos de hacer
antes:

; getauthinfo default

c    "*# (   '

Una vez tenemos red y un ticket proporcionado por getauthinfo, podemos ejecutar:

; mount -c tcp!pantuflo.escet.urjc.es /n/remote

Lo que nos montará el sistema de ficheros servido por pantuflo en /n/remote. Además,
podemos colocar el home de pantuflo en el sitio más común /usr/login:

; bind -c /n/remote/usr/login /usr/login

Siendo login, como de costumbre, el nombre de nuestra cuenta en el servidor pantuflo.

3.4.4.5. ¿X-Windows rechaza la conexión al arrancar wm en un inferno emulado en


GNU/Linux?

Si al arrancar wm obtenemos un mensaje similar al siguiente:

Xlib: connection to ":0.0" refused by server


Xlib: Client is not authorized to connect to Server

Probablemente se deba a que el servidor X no permite conectar a usuarios locales. Una


forma de solucionarlo puede ser esta:

[user@acm]$ xhost +local:

También podría gustarte