miércoles, 23 de julio de 2008

Glosario

Estas son algunos de los términos mas utilizados en UNIX:

Name
Nombre y función. Estas líneas forman el índice que se consulta mediante man -k

Synopsis
Diagrama sintáctico: el nombre, seguido de las opciones (entre corchetes) y posibles argumentos. En el caso de llamadas al sistema y rutinas de biblioteca, el formato y tipo de los parámetros.

Description
Breve descripción.

Return Value
En entradas correspondientes a llamadas al sistema y rutinas de biblioteca, lista de los posibles valores de retorno.

Errors
En entradas correspondientes a llamadas al sistema, lista de los posibles errores.

Options
En entradas correspondientes a comandos, lista detallada de las posibles opciones y sus efectos.

Commands
En entradas correspondientes a comandos interactivos, lista detallada de los mandatos propios de la utilidad.

Files
Ficheros relacionados.

See Also
Referencias a otras entradas del manual y otros tipos de documentación.

Diagnostics
En entradas correspondientes a comandos, lista de mensajes de diagnóstico y error que pueden producirse.

Bugs
Problemas conocidos, o cuestiones pendientes de resolver.

HOME
El directorio del usuario, el camino completo.

PATH
Lista de directorios donde el Shell buscará los comandos que se le pida ejecutar. Si no los encuentra ahí devuelve error.
Kernel
Parte del S.O. residente permanentemente en memoria. Dirige los recursos del sistema, memoria, E/S y procesos. Podemos distinguir dos partes: sección de manejo de procesos y sección de manejo de dispositivos.

USER
Identificador del usuario.

SHELL
Intérprete de comandos. Interpreta y activa los comandos o utilidades introducidos por el usuario.

TERM
Tipo de terminal en uso.

* Cualquier carácter

? Un único carácter

[car1...carn]
Cualquier carácter de la lista o rangos incluidos entre los corchetes.

{cadena,...}
Cada una de las cadenas de la lista.

~usuario
Directorio inicial del usuario especificado. Si no se especifica el usuario, sino solo el ~ (Altgr+ñ), se entiende que hace referencia al directorio del usuario propietario del proceso Shell.

Utilidades Generales de Unix

El número de utilidades existentes para UNIX es muy amplio, estas son las mas utilizadas:

grep
Busca una cadena en uno o más ficheros (o en la entrada estándar)
Ej. grep

head
Permite ver las primeras líneas de un fichero (o de la entrada estándar). Sin opciones muestra las 10 primeras.

tail
Permite ver las últimas líneas de un fichero (o de la entrada estándar). Sin opciones muestra las 10 últimas.

more
Permite la observación pausada de un fichero (o de la entrada estándar). Pulsando la barra espaciadora avanza una página, con b o ^B retrocede una página, con q termina.

wc
Cuenta el número de bytes, palabras o líneas en un fichero (o en la entrada estándar).

who
Muestra los usuarios que en este momento están trabajando con el sistema.

df
Permite saber cuánto espacio libre hay en cada sistema de ficheros.

du
Dice cuántos bloques ocupa un directorio con todos sus ficheros y subdirectorios.

find
Realiza una búsqueda recursiva, comenzando por el directorio especificado y descendiendo por los subdirectorios.
Ej.: find / -name mifichero -print

Tipos de Usuarios

En el Sistema Operativo UNIX pueden interactuar los siguientes usuarios:

NOVATO:

- sabe que les muestra el contenido de un directorio
- usa el editor pero lo llama "vie"
- ha oído hablar de C pero nunca lo ha usado
- ha tenido su primera mala experiencia con rm
- se pregunta cómo leer el correo
- se pregunta por qué a sus compañeros les gusta tanto UNIX

USUARIO:

- utiliza vi y nroff de forma inexperta
- ha oído hablar de las expresiones regulares pero nunca ha visto una
- ha descubierto que - se antepone a las opciones del programa
- ha intentado escribir un programa en C pero decidió volver a Pascal
- se pregunta cómo mover un directorio- sabe cómo leer su correo y se pregunta cómo leer las news

USUARIO AVANZADO:

- utiliza nroff sin problemas y está aprendiendo a usar tbl y eqn
- utiliza grep para buscar cadenas fijas- ha descubierto que mv mueve directorios
- ha aprendido que learn(1) no propociona ninguna ayuda
- alguien le ha enseñado a escribir programas en C
- una vez utilizó sed para hacer una sustitución en un texto
- piensa que make es para cobardes

EXPERTO:

- utiliza sed cuando es necesario
- utiliza macros en vi, usa ex cuando es necesario
- escribe en las news en cuanto se le presenta la oportunidad
- escribe programas en C con vi y compila con cc- ha descubierto para qué sirven && y
- piensa que "human history" (la historia de la humanidad) empieza con !h

HACKER:

- utiliza sed y awk con comodidad
- utiliza características de vi que no se encuentran en la documentación
- escribe código C con cat >foo.c y compila con !cc
- utiliza adb porque no confía en los depuradores de código fuente
- puede contestar preguntas acerca del entorno de usuario
- escribe sus propios macros para nroff
- escribe scripts para la Bourne shell (/bin/sh)- sabe cómo instalar bug fixes

GURÚ:

- escribe código para m4 y lex con comodidad
- escribe código ensamblador con cat >foo.s
- utiliza adb con el kernel mientras carga el sistema
- personaliza las aplicaciones parcheando el código fuente
- lee el código de drivers de dispositivos durante el desayuno
- puede responder cualquier pregunta sobre unix después de pensar un poco
- utiliza make para cualquier cosa que requiera de dos o más comandos
- ha aprendido a comprometer la seguridad de un sistema pero ya no lo necesitaWIZARD:
- escribe drivers usando cat >foo.o
- arregla bugs parcheando los binarios- puede responder cualquier pregunta antes de que la formules
- escribe sus propios paquetes de macros para troff- se tutea con Dennis, Bill, y Ken

Instalación

FUNCIONAMIENTO INICIAL

UNIX es un sistema operativo multiusuario, es decir, permite que más de un usuario utilice simultáneamente el sistema. Para hacer esto de forma coherente cada usuario debe identificarse para utilizar el sistema, es decir, se necesita una cuenta en el sistema. La cuenta está formada básicamente por un nombre de usuario y una clave de acceso o password. El usuario deberá introducir su nombre de usuario y su clave. A partir de ahí el sistema lanza un primer programa (generalmente lo que se conoce como una Shell) que se ejecuta con el identificador de ese usuario.

En el laboratorio se cuenta con un cierto número de ordenadores, dedicados para las prácticas de diversas asignaturas, así como para proyectistas. Cada grupo de prácticas dispone de una cuenta con su correspondiente nombre de usuario. Para iniciar la sesión, cada usuario debe introducir por teclado su nombre de usuario ante el mensaje por pantalla: "login:"
La primera vez, no se tendrá la password asignada, así que cuando salga por pantalla
"password:"se deberá conocer la password por defecto que se comunicará el primer día de prácticas.
Una vez iniciada la sesión, será cada usuario el que elija su propia password, mediante el comando yppasswd. La password debe tener al menos 8 caracteres y al menos un carácter debe ser numérico. Es obvio decir que cada password debe ser celosamente guardada por su dueño para evitar que un intruso entre en el sistema identificándose como él.

El sistema de ficheros montado en el laboratorio posibilita que los usuarios no se tengan que poner siempre en el mismo ordenador para trabajar con sus ficheros, por lo tanto puede emplearse cualquier ordenador o cambiar de uno a otro.

Una vez iniciada la sesión de trabajo se recomienda ejecutar el comando startx para iniciar una sesión del entorno de ventanas X-Window. Para concluir la sesión de trabajo hay que salir del entorno de ventanas, y luego, salir de la cuenta mediante el comando exit. Debe aparecer de nuevo la petición: login:

Nota importante: No apagar los ordenadores, aunque sí los monitores. UNIX es un sistema multiusuario y multitarea como ya se ha comentado, puede haber usuarios utilizando el sistema a través de la red que no desean ver cortado su trabajo.

Lo primero que debe saberse acerca del driver psqlODBC (o cualquier otro driver ODBC) es que debe existir un gestor de driver en el sistema donde va a usarse el driver ODBC. Existe un driver ODBCfreeware para Unix llamado iodbc que puede obtenerse en varios puntos de Internet, adem᳠de en AS200.
Las instrucciones para instalar iodbc van m᳠ allᠤel objeto de este documento, pero hay un fichero README que puede encontrarse dentro del paquete iodbc .shar comprimido que deberexplicar c󭯠realizar la instalaci󮠹 puesta en marcha.
Una vez dicho esto, cualquier gestor de driver que encuentre para su plataforma deberpoder manejar el driver psqlODBC o cualquier driver ODBC.

Los ficheros de configuraci󮠕nix para psqlODBC han sido remozados de forma intensiva recientemente para permitir una fᣩl construcci󮠥n las plataformas soportadas y para permitir el soporte de otras plataformas Unix en el futuro. Los nuevos ficheros de configuraci󮠹 construcci󮠰ara el driver deber convertir el proceso de construcci󮠥n algo simple para las plataformas soportadas. Actualmente estas incluyen Linux y FreeBSD but we esperamos que otros usuarios contribuyan con la informaci󮠮ecesaria para un rᰩdo crecimiento del n? de plataformas para las que puede ser construido el driver.

En la actualidad existen dos m鴯dos distintos para la construcci󮠤el driver en funci󮠤e c󭯠se haya recibido y sus diferencias se reducen a d󮤥 y c󭯠ejecutar configure y make. El driver puede ser construido en modo de equipo aislado, instalaci󮠤e s󬯠cliente, o como parte de la distribuci󮠼SPAN CLASS="PRODUCTNAME" >Postgres. La instalaci󮠡islada es conveniente si usted tiene aplicaciones clientes de ODBC en plataformas m?les y heterog鮥as. La instalaci󮠩ntegrada es conveniente cuando las plataformas cliente y servidora son las mismas, o cuando cliente y servidor tienen configuraciones de ejecuci󮠳imilares.

Especcamente si ha recibido el driverpsqlODBC como parte de la distribuci󮠼SPAN CLASS="PRODUCTNAME" >Postgres (a partir de ahora se referenciarᠣomo "instalaci󮠩ntegrada") entonces podrᠣonfigurar el driver ODBC desde el directorio principal de fuentes de la distribuci󮠼SPAN CLASS="PRODUCTNAME" >Postgres junto con el resto de las librer. Si lo recibi󠣯mo un paquete aislado, entonces podrᠥjecutar "configure" y "make" desde el directorio en el que desempaquet󠬯s fuentes.

Instalacion Integrada

Este procedimiento es apropiado para la instalaci󮠩ntegrada.
Especificar el argumento--with-odbc en la la de comandos para src/configure:
% ./configure --with-odbc
% make
Reconstruir la distribuci󮠼SPAN CLASS="PRODUCTNAME" >Postgres:
% make install
Una vez configurado, el driver ODBC serᠣonstruido e instalado dentro de las Ქas definidas para otros componentes del sistema Postgres. El fichero de configuraci󮠤e instalaci󮊼SPAN CLASS="ACRONYM" >ODBC serᠣolocado en el directorio principal del Ტol de destino Postgres (POSTGRESDIR). Esto puede ser cambiado en la la de comandos de make como
% make ODBCINST=filename install

Ventajas y Desventajas

Ventajas de UNIX
  • Unix es sin lugar a dudas el Sistema Operativo más importante y serio desde que en los años 70 los Sistemas Operativos se empezaron a estandarizar. Inicialmente UNIX fue desarrollado en C (de hecho C se inventó para desarrollar UNIX) y pertenecía a una empresa: la empresa AT&T Bell; tras una serie de malentendidos respecto a la propiedad de este sistema aparecen variantes en forma de Minix, FreeBSD (Berkeley San Diego), Linux, todas de tipo software libre, abierto, gratuito y en continuo desarrollo por programadores no pertecientes a ninguna empresa. Todos los tipos de UNIX comparten muchas ideas y en su conjunto se diferencian mucho de otros sistemas operativos menos robustos o sin la sencillez arquitectónica de UNIX.
  • UNIX es un sistema operativo multitarea (el propio kernel del sistema se encarga de repartir el tiempo de uso de procesador de cada aplicación que esté funcionando), y es multiusuario: para usar cualquier cosa en UNIX uno ha de estar identificado con un nombre de usuario/palabra de paso (login/password) que lo identifica de cara al sistema y le permite (con una permanente atención a privilegios de acceso a ficheros, memoria, puertos de comunicaciones, etc.) usar todo o parte de los recursos del sistema, protegiendo así al sistema ante ataques o uso inexperto del mismo.
  • UNIX presta (desde sus primeras versiones en los años 70) una especial atención a las comunicaciones, uso remoto de los equipos y compartición de recursos. Esto lo ha mantenido en cabeza siempre conforme estos aspectos de la informática se han popularizado.
  • UNIX es un sistema abierto: no sólo es posible acceder a las diferentes versiones desarrolladas para cada máquina conforme han ido creándose éstas, sino también a los programas originales (en C, porsupuesto) que son el código fuente de UNIX. Por otro lado, siendo un sistema operativo moderno y sencillo es la base del estudio del puntode partida del cómo funcionan (a nivel pedagógico) los sistemas operativos en general; típicamente el libro de texto de la mayoría de universidades de todo el mundo para la introducción al estudio de sistemas operativos es "Minix" una forma simplificada, pero operativa y compilable, de UNIX.
  • UNIX es un sistema especialmente robusto. Particularmente son elogiadas en este aspecto las versiones de UNIX con un microkernel más pequeños como son las implantadas en el UNIX Mach del ya abandonado sistema Next o el constantemente en desarrollo UNIX FreeBSD. La ventaja de este tipo de UNIX es que la parte protegida del sistema es menor y está menos acoplada con partes no esenciales del sistema. Esta ha sido siempre la filosofía de protección de este sistema. Y así es realmente. Cuando una aplicación se bloquea por algún tipo de error de funcionamiento, el resto del sistema permanece en correcto funcionamiento sin verse afectado, siendo fácil, en general, el volver al punto en el que se estaba trabajando.

Desventajas de UNIX

  • La interfaz de usuario no es muy amistosa en algunas versiones.
  • Requiere capacitación, ya que debido a su complejidad, no cualquiera puede usarlo.
  • Padece de la falta de aplicaciones comerciales con nombres importantes.
  • La efectividad como servidor de archivos e impresión no es tan eficiente como en otros NOS.
  • Hay discrepancias entre los distintos diseñadores y vendedores de UNIX.