DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos...

153
DIRECCIÓN DE CARRERA DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN, ÁREA SISTEMAS INFORMÁTICOS MANUAL DE SISTEMAS OPERATIVOS Elaboración: MSC. P. Norma Maya Pérez M. en. C. Fernando Gómez Ramírez Mayo - Agosto ‘2015

Transcript of DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos...

Page 1: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE CARRERA DE TECNOLOGÍAS DE LA

INFORMACIÓN Y COMUNICACIÓN

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA

INFORMACIÓN Y COMUNICACIÓN, ÁREA SISTEMAS

INFORMÁTICOS

MANUAL DE SISTEMAS OPERATIVOS

Elaboración: MSC. P. Norma Maya Pérez

M. en. C. Fernando Gómez Ramírez

Mayo - Agosto ‘2015

Page 2: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas

Operativos

MSC. NMP / M en C. FGR 1

Índice

Contenido INTRODUCCIÓN ................................................................................................................................. 2

OBJETIVO GENERAL. ........................................................................................................................ 2

I. Fundamentos del Sistema Operativo .......................................................................................... 3

1.1. Evolución de los sistemas operativos ...................................................................................... 3

1.2. Características de los sistemas operativos .............................................................................. 6

1.3. Clasificación de los sistemas operativos .................................................................................. 9

II. Instalación de los sistemas operativos (Windows y basado en UNIX) ..................................... 22

2.1. Requerimientos del sistema, Preparación del hardware para la Instalación e Instalación del

sistema operativo ............................................................................................................................... 22

2.2. Instalación de Windows ......................................................................................................... 23

2.3 Instalación de Linux .................................................................................................................... 37

III. Comandos Básicos de los sistemas operativos (Windows y basado en UNIX). .................. 47

3.1. Sistema de Archivos y su manejo ......................................................................................... 47

3.2. Comandos básicos ................................................................................................................. 61

3.3. Personalización el entorno ..................................................................................................... 95

3.4. Administración de cuentas y grupos de usuarios ................................................................. 109

IV. Instalación y configuración de servicios de los sistemas operativos (Windows y basado en

UNIX). 116

4.1. Servicio de correo electrónico .............................................................................................. 116

4.2. Servicio web ......................................................................................................................... 118

4.3. Servicios de impresión ......................................................................................................... 137

4.4. Servicio de acceso remoto ................................................................................................... 145

4.5. Compartir recursos entre diferentes sistemas operativos .................................................... 150

Bibliografía ....................................................................................................................................... 152

Page 3: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 2

INTRODUCCIÓN

El curso de Sistemas Operativos es Fundamental en el campo de acción de de Tecnologías de la Información y

Comunicación del tercer cuatrimestre y en su conjunto, forman la capacitación técnica requerida para implementar y

realizar soporte técnico a equipo de cómputo, sistemas operativos y redes locales de acuerdo a las necesidades

técnicas de la organización, para garantizar el óptimo funcionamiento de sus recursos informáticos

A su vez, esta capacitación técnica es parte importante para la mejora continua del plan de estudios desarrollado

para competencias profesionales a Técnicos Superiores Universitarios en Tecnologías de la Información y

Comunicación que imparte la Universidad tecnológica del Valle de Toluca.

Ya que es uno de los requisitos, para que sus egresados puedan estar capacitados en materias técnicas que les

ayuden a realizar su trabajo con mayor calidad, precisión y eficiencia.

Palabras Claves: Sistema Operativo (S.O.)

OBJETIVO GENERAL.

El alumno realizará la instalación y configuración de los servicios de un sistema operativo para la administración de

los recursos informáticos.

Page 4: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 3

I. Fundamentos del Sistema Operativo

Objetivo: El alumno seleccionará un sistema operativo de acuerdo a sus características y funciones para su

instalación.

1.1. Evolución de los sistemas operativos

Un Sistema Operativo puede ser contemplado como una colección organizada de extensiones de software del

hardware, consistente en rutinas de control que hacen funcionar una computadora y proporcionan un entorno para la

ejecución de los programas.

También podemos decir que un S.O. es un conjunto de procedimientos manuales y automáticos, que

permiten a un grupo de usuarios compartir una instalación de computadora eficazmente.

Hardware + Software = Equipo de cómputo.

Hardware – Software = Materia Inservible.

¿Cuál es el programa fundamental de una computadora? El Sistema Operativo.

Clientes (Simultáneos)

1

2

3

4

Despachador de tienda

(Encargado)

Atención a clientes tomando en

cuenta:

Reglas.

Políticas.

Estrategias.

Criterios. o

De manera trivializada.

Artículos de papelería.

Servicio de copiado.

Venta de regalos.

Clasificación

General del

Software

Programas de

aplicación

Programas de

sistema.

Resuelven problemas o realizan trabajos para los usuarios.

(Por ejemplo: hojas de cálculo, editores de texto,

graficadores, etc.).

Controlan la operación de la computadora.

(Sistema Operativo)

Page 5: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 4

Tienda

Usuarios (Peticiones)

1

2

3

4

Sistema Operativo (S.O.)

(Gestor)

Rutinas de control (software)

considerando:

Reglas.

Políticas.

Estrategias.

Hardware

Software

Sistema de cómputo

El S.O. permite una interconexión eficiente entre los recursos de un sistema de cómputo y los usuarios.

El S.O. es el programa individual (casi siempre llamado núcleo o kernel) que se está ejecutando todo el

tiempo con la computadora y todos los demás son programas de aplicaciones.

Evolución

Las generaciones de los sistemas operativos podemos citar las siguientes:

Un S.O. puede procesar su carga de trabajo en serie o en forma concurrente. Es decir, los recursos del

sistema informático pueden estar dedicados a un solo programa hasta que éste termine, o pueden ser reasignados

dinámicamente entre una colección de programas activos en diferentes etapas de ejecución. Debido a su capacidad

para ejecutar múltiples programas de forma intercalada, a tales S.O. se les denomina con frecuencia sistemas de

S.O

.

Procesador Memoria

Medios de

almacenamiento

secundario

Datos

Archivos

Dispositivos de

comunicación

Software

Dispositivos de

E/S

Usuarios

Page 6: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 5

multiprogramación. Existen diferentes variaciones de ambos tipos de S.O., en serie y multiprogramado. Con el fin de

motivar la necesidad de ciertos tipos de servicio que cada una de estas variantes presenta, esquematizaremos

brevemente el camino evolutivo del desarrollo de los S.O.

Procesamiento en serie

Los primeros computadores electrónicos digitales no tenían S. O. las mecánicas de esta época eran tan

primitivas que con frecuencia loa programas se introducían bit a bit mediante grupos de interruptores mecánicos.

Posteriormente los programas se introducían en el computador en lenguaje de máquina mediante tarjetas perforadas

y se desarrollaron los lenguajes ensambladores para acelerar el proceso de programación.

Procesamiento por lotes.

Aparecieron los sistemas que generalmente ejecutaban una tarea a la vez y simplificaban la transición entre

tareas para obtener para obtener la máxima utilización del sistema de cómputo. Estos sistemas se denominaron

sistemas de procesamiento por lotes, ya que los programas y los datos eran proporcionados al computador en

grupos o lotes. Posteriormente aparecieron sistemas de procesamiento por lotes, que podían aprovechar mejor los

recursos del computador mediante la ejecución de varias tareas al mismo tiempo. Esos sistemas incluían muchos

dispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades de cintas y

unidades de disco, pero era raro que una tarea utilizara con eficiencia todos los recursos del computador.

Figura X1. Un sistema por lotes (a) Los programadores traen las tarjetas al 1401 b) el 1401 lee un lote de trabajos y lo graba en cita c) Un operador lleva la cinta de entrada al 7094 d) El 7094

realiza los cálculos e) Un operador lleva la cinta de salida a un 1401 f) El 1401 imprime la salida.

Multiprogramación.

Los diseñadores de sistemas operativos observaron que mientras una tarea esperaba a que se completara

una operación de entrada o de salida para poder seguir usando el procesador, otra tarea podría aprovechar el

procesador ocioso. De macera similar, cuando una tarea estaba utilizando el procesador, otras podrían utilizar los

diversos dispositivos de entrada y salida. La mejor forma de aprovechar al máximo el uso del computador parecía ser

COMPUTADORA Tarea 1

Tarea 2

Tarea 3

Tarea 4

Salida 1

Salida 2

Salida 3

Salida 4

Atiende una tarea, le da salida y luego atiende otra tarea, hasta finalizar todas las tareas.

(E/S por medio de tarjetas perforadas).

Page 7: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 6

ejecutar una combinación de diversas tareas, así que los diseñadores de S.O. desarrollaron el concepto de

multiprogramación, en el cual varias tareas se encuentran al mismo tiempo en la memoria principal; un procesador se

conmuta de una tarea a otra según sea necesario para lograr que avance varias veces, mientras se mantienen en

uso los dispositivos periféricos.

En cada evolución de la computadora, o para cada tipo de computadora, existe un S.O. diferente.

Para cada modo de procesamiento, existe un S.O. diferente.

1.2. Características de los sistemas operativos

Estructura de un Sistema Operativo.

La estructura de un S.O. está constituida por las siguientes partes:

S.O. con mayor

poder de

administración.

S.O. más

robusto (más

rutinas de

control).

Equipo de

cómputo más

“poderoso” (más

recursos de

cómputo).

Mayor costo del

sistema

informático.

Page 8: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 7

Kernel o Núcleo. Es el programa medular que ejecuta programas y gestiona dispositivos de hardware tales

como los discos y las impresoras.

Shell. Proporciona una interfaz para el usuario. Recibe órdenes del usuario y las envía al núcleo para ser

ejecutadas.

Sistema de archivos. Organiza la forma en que se almacenan los archivos en dispositivos de

almacenamiento tales como los discos.

Utilidades. Son programas especializados, tales como editores, compiladores y programas de

comunicaciones, que realizan operaciones de computación estándar. Este componente es incluido en S.O. como

Linux, que permiten crear utilidades con las herramientas que proporcionadas.

Page 9: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 8

Objetivo de los Sistemas Operativos.

Optimizar el rendimiento e incrementar la productividad de proceso o de los usuarios, mediante la gestión

interna de los recursos de un sistema informático (hardware), tales como: procesador, memoria, medios de

almacenamiento secundario, archivos, datos, dispositivos de E/S y dispositivos de comunicación.

Principales funciones de los Sistemas Operativos.

Proporciona la interfaz entre los usuarios y el hardware de un sistema informático.

Permite que los usuarios compartan entre sí el hardware y los datos.

Evitar que los usuarios se interfieran recíprocamente.

Planifica la distribución de los recursos entre usuarios.

Facilita la entrada/salida.

Recuperarse de los errores.

Contabilizar el uso de los recursos.

Facilitar las operaciones en paralelo.

Organizar los datos para lograr un acceso rápido y seguro.

Manejar las comunicaciones en red.

Los programas se apoyan en las facilidades proporcionadas por el S.O. para obtener acceso a los recursos

del sistema informático. Los programas invocan generalmente los servicios del S.O. por medio de llamadas al S.O.

Además los usuarios pueden interactuar con el S.O. directamente por medio de órdenes (comandos) del S.O.

El rango y la extensión de los servicios proporcionados por un S.O. dependen de varios factores. Entre otras

cosas, las funciones visibles al usuario de un S.O. están en gran medida determinadas por las necesidades y

características del entorno objetivo que el S.O. está destinado a soportar.

Los Principales recursos administrados por Sistemas Operativos son:

Procesadores

Almacenamiento

Dispositivos de e/s

Datos e Información.

Los S.O. son un interfaz con: los operadores, programadores de aplicaciones, programadores de sistemas,

administradores del S.O., Software, Hardware y usuarios.

Ubicación de los sistemas operativos

Page 10: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 9

1.3. Clasificación de los sistemas operativos

La clasificación más común usada y conocida desde el punto de vista del usuario final

Por su estructura Por los servicios que ofrecen Por la forma de ofrecer sus

servicios

Estructura monolítica.

Estructura jerárquica.

Máquina virtual.

Cliente–servidor

a) Número de usuarios.

Monousuarios.

Multiusuarios. b) Número de tareas.

Monotareas.

Multitareas. c) Número de procesadores.

Uniproceso.

Multiproceso.

Simétricos.

Asimétricos.

SO de red.

SO distribuidos.

Por su estructura

Según [alcal92], se deben observar dos tipos de requisitos cuando se construye un S.O., los cuales

son: o Requisitos de usuario: sistema fácil de usar y de aprender, seguro, rápido y adecuado al uso al que se le

quiere destinar.

o Requisitos del software: donde se engloban aspectos como el mantenimiento, forma de operación,

restricciones de uso, eficiencia, tolerancia frente a los errores y flexibilidad.

o Estructura Monolítica

Es la estructura de los primeros sistemas operativos constituidos fundamentalmente por un solo

programa compuesto de un conjunto de rutinas entrelazadas de tal forma que cada una puede llamar a

cualquier otra (ver figura).

Buena definición de parámetros de enlace entre las distintas rutinas existentes, que puede provocar

mucho acoplamiento. Carecen de protecciones y privilegios al entrar a rutinas que manejan diferentes

aspectos de los recursos de la computadora, como memoria, disco, etc. Generalmente están hechos a

medida, por lo que son eficientes y rápidos en su ejecución y gestión, pero por lo mismo carecen de

flexibilidad para soportar diferentes ambientes de trabajo o tipos de aplicaciones.

o Estructura jerárquica

A medida que fueron creciendo las necesidades de los usuarios y se perfeccionaron los sistemas, se

hizo necesaria una mayor organización del software, del sistema operativo, donde una parte del sistema

contenía subpartes y esto organizado en forma de niveles. De tal forma que cada una de ellas estuviera

perfectamente definida y con un claro interface con el resto de elementos.

Page 11: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 10

En la estructura anterior se basan prácticamente la mayoría de los sistemas operativos actuales. Otra forma de ver este tipo de sistema es la denominada de anillos concéntricos o "rings".

En el sistema de anillos, cada uno tiene una apertura, conocida como puerta o trampa (trap), por donde pueden entrar las llamadas

de las capas inferiores. De esta forma, las zonas más internas del sistema operativo o núcleo del sistema estarán más protegidas

de accesos indeseados desde las capas más externas. Las capas más internas serán, por tanto, más privilegiadas que las externas.

o Máquina virtual

En el resto de sistemas: la multiprogramación y la máquina extendida. El objetivo de los sistemas

operativos de máquina virtual es el de integrar distintos sistemas operativos dando la sensación de ser varias

máquinas diferentes.

El núcleo de estos sistemas operativos se denomina monitor virtual y tiene como misión llevar a cabo la

multiprogramación, presentando a los niveles superiores tantas máquinas virtuales como se soliciten. Estas

máquinas virtuales no son máquinas extendidas, sino una réplica de la máquina real, de manera que en cada

una de ellas se trata de un tipo de sistemas operativos que presentan una interface a cada proceso,

mostrando una máquina que parece idéntica a la máquina real subyacente. Estos sistemas operativos

separan dos conceptos que suelen estar unidos pueda ejecutar un sistema operativo diferente, que será el

que ofrezca la máquina extendida al usuario.

o Cliente–servidor

El tipo más reciente de sistemas operativos es el denominado Cliente-servidor, que puede ser

ejecutado en la mayoría de las computadoras, ya sean grandes o pequeñas.

Este sistema sirve para toda clase de aplicaciones por tanto, es de propósito general y cumple con

las mismas actividades que los sistemas operativos convencionales.

El núcleo tiene como misión establecer la comunicación entre los clientes y los servidores. Los

procesos pueden ser tanto servidores como clientes. Por ejemplo, un programa de aplicación normal es un

cliente que llama al servidor correspondiente para acceder a un archivo o realizar una operación de

entrada/salida sobre un dispositivo concreto. A su vez, un proceso cliente puede actuar como servidor para

otro." [Alcal92].

Este paradigma ofrece gran flexibilidad en cuanto a los servicios posibles en el sistema final, ya que el núcleo

provee solamente funciones muy básicas de memoria, entrada/salida, archivos y procesos, dejando a los

servidores proveer la mayoría que el usuario final o programador puede usar. Estos servidores deben tener

mecanismos de seguridad y protección que, a su vez, serán filtrados por el núcleo que controla el hardware.

Actualmente se está trabajando en una versión de UNIX que contempla en su diseño este paradigma.

Page 12: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 11

Por los servicios que ofrecen

a) Por el número de usuarios:

Monousuarios

Los S.O. monousuarios son aquellos que soportan a un usuario a la vez, sin importar el número de

procesadores que tenga la computadora o el número de procesos o tareas que el usuario pueda ejecutar en un

mismo instante de tiempo. Las computadoras personales típicamente se han clasificado en este renglón.

Multiusuarios

Los S.O. multiusuarios son capaces de dar servicio a más de un usuario a la vez, ya sea por medio de varias

terminales conectadas a la computadora o por medio de sesiones remotas en una red de comunicaciones. No

importa el número de procesadores en la máquina ni el número de procesos que cada usuario puede ejecutar

simultáneamente.

b) Por el número de tareas:

Monotareas

Los sistemas monotarea son aquellos que sólo permiten una tarea a la vez por usuario. Puede darse el caso

de un sistema multiusuario y monotarea, en el cual se admiten varios usuarios al mismo tiempo pero cada uno de

ellos puede estar haciendo solo una tarea a la vez.

Multitareas

Un sistema operativo multitarea es aquél que le permite al usuario estar realizando varias labores

al mismo tiempo. Por ejemplo, puede estar editando el código fuente de un programa durante su

depuración mientras compila otro programa, a la vez que está recibiendo correo electrónico en un proceso

en background. Es común encontrar en ellos interfaces gráficas orientadas al uso de menús y el ratón, lo

cual permite un rápido intercambio entre las tareas para el usuario, mejorando su productividad.

c) Por el número de procesadores:

Uniproceso

Un sistema operativo uniproceso es aquél que es capaz de manejar solamente un procesador de la

computadora, de manera que si la computadora tuviese más de uno le sería inútil. El ejemplo más típico de este tipo

de sistemas es el DOS y MacOS.

Multiproceso

Un sistema operativo multiproceso se refiere al número de procesadores del sistema, que es más de uno y

éste es capaz de usarlos todos para distribuir su carga de trabajo. Generalmente estos sistemas trabajan de dos

formas: simétrica o asimétricamente. Cuando se trabaja de manera asimétrica, el sistema operativo selecciona a uno

de los procesadores el cual jugará el papel de procesador maestro y servirá como pivote para distribuir la carga a los

demás procesadores, que reciben el nombre de esclavos. Cuando se trabaja de manera simétrica, los procesos o

partes de ellos (threads) son enviados indistintamente a cualesquira de los procesadores disponibles, teniendo,

teóricamente, una mejor distribución y equilibrio en la carga de trabajo bajo este esquema.

Page 13: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 12

Se dice que un thread es la parte activa en memoria y corriendo de un proceso, lo cual puede consistir de un

área de memoria, un conjunto de registros con valores específicos, la pila y otros valores de contexto. Us aspecto

importante a considerar en estos sistemas es la forma de crear aplicaciones para aprovechar los varios

procesadores. Existen aplicaciones que fueron hechas para correr en sistemas monoproceso que no toman ninguna

ventaja a menos que el sistema operativo o el compilador detecte secciones de código paralelizable, los cuales son

ejecutados al mismo tiempo en procesadores diferentes. Por otro lado, el programador puede modificar sus

algoritmos y aprovechar por sí mismo esta facilidad, pero esta última opción las más de las veces es costosa en

horas hombre y muy tediosa, obligando al programador a ocupar tanto o más tiempo a la paralelización que a

elaborar el algoritmo inicial.

Por la forma de ofrecer sus servicios:

Esta clasificación también se refiere a una visión externa, que en este caso se refiere a la del usuario, el cómo

accesa a los servicios. Bajo esta clasificación se pueden detectar dos tipos principales: sistemas operativos de red y

sistemas operativos distribuidos.

Sistemas Operativos de Red

Los sistemas operativos de red se definen como aquellos que tiene la capacidad de interactuar con sistemas

operativos en otras computadoras por medio de un medio de transmisión con el objeto de intercambiar información,

transferir archivos, ejecutar comandos remotos y un sin fin de otras actividades. El punto crucial de estos sistemas es

que el usuario debe saber la sintaxis de un conjunto de comandos o llamadas al sistema para ejecutar estas

operaciones, además de la ubicación de los recursos que desee accesar. Por ejemplo, si un usuario en la

computadora hidalgo necesita el archivo matriz.pas que se localiza en el directorio /software/codigo en la

computadora morelos bajo el sistema operativo UNIX, dicho usuario podría copiarlo a través de la red con los

comandos siguientes: hidalgo% hidalgo% rcp morelos:/software/codigo/matriz.pas . hidalgo% En este caso, el

comando rcp que significa "remote copy" trae el archivo indicado de la computadora morelos y lo coloca en el

directorio donde se ejecutó el mencionado comando. Lo importante es hacer ver que el usuario puede accesar y

compartir muchos recursos.

Sistemas Operativos Distribuidos

Un S.O. distribuido es una colección de sistemas informáticos autónomos capaces de comunicación y

cooperación mediante interconexiones de hardware y software. Históricamente, los sistemas de computo distribuidos

evolucionaron a partir de las redes de computadoras en las que un número de equipos en gran medida

independientes están conectados mediante enlaces y protocolos de comunicación.

Un S.O. distribuido gobierna la operación de un sistema informático distribuido y proporciona una abstracción

de máquina virtual a sus usuarios. El objetivo clave de una SO distribuido es la transparencia. Idealmente, la

distribución de componentes y recursos debería quedar oculta a los usuarios y a los programas de aplicación a

menos que éstos demanden explícitamente lo contrario.

Los S.O. distribuidos proporcionan generalmente medios para la compartición global de los recursos del

sistema, tales como la capacidad computacional, los archivos y los dispositivos de E/S. Además de los servicios

típicos de un S.O. proporcionados en cada nodo para beneficio de los clientes locales, un S.O. distribuido puede

facilitar el acceso a recursos remotos, la comunicación con procesos remotos y la distribución de cálculos. Los

Page 14: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 13

servicios añadidos necesarios para acceder a los recursos del sistema compartido incluyen la denominación global,

sistemas de archivos distribuidos y facilidades para distribución de cálculos, tales como la comunicación de procesos

internodos y llamadas a procedimientos remotos.

Interacción Usuario – Sistema Operativo

Línea de comandos o lenguaje de ordenes (El usuario escribe comandos (ordenes) de un lenguaje especial.)

VENTAJAS DESVENTAJAS

Facilita la programación de un S.O.

S.O. abierto (se pueden escribir muchas rutinas.)

Portable (de una máquina a otra; ahorra trabajos de adaptación y ejecución entre máquinas.)

Modo apoyado por muchos fabricantes.

Aprendizaje de comandos y sus modificadores (opciones).

S.O. diversificados (conocer todas y/o cada una de las partes del S.O.).

Caro.

Interfaz gráfica de usuario (A través de representaciones visuales (iconos, ventanas) se eligen comandos).

VENTAJAS DESVENTAJAS

Las estaciones de trabajo suelen ser más baratas que UNIX, excepto clones como LINUX.

Fácil de administrar y de usar.

S.O. cerrado (actualizaciones o mejoras sujetas a los planes de diseño de fabricante).

No ofrece un entorno de programación para el S.O.

Llamadas al S.O. a través de aplicaciones (comerciales o desarrolladas por el usuario)

Diferencias entre los S.O. UNIX y MS-DOS.

UNIX MS-DOS

SO multitarea, multiusuario y de tiempo compartido. SO monotareas y monousuario.

Nace de la necesidad de compartir tiempo para evitar

tareas en orden no satisfactorio e improductivo para

grandes computadoras.

Nace de la necesidad de crear software de control para

las nuevas computadoras personales.

Se diseño con mucho cuidado, con una meta clara en

la mente, y, a pesar de su edad, sigue siendo moderno

y elegante.

Se diseño “a vapor”, con la única meta de brindar

acceso a las computadoras personales.

Ilustra mucho de los principios de diseño más

importantes para la construcción de SO.

Fue basado en la forma de trabajo que adopto UNIX.

Trabaja con software de aplicación que requiere

protección y seguridad.

Trabaja básicamente, con una vasta colección de

software de aplicación de costo relativamente barato

(no seguro).

Se puede ejecutar en más tipos de computadoras que

cualquier otro SO.

Sólo se puede ejecutar sobre una variedad de

computadoras personales de modelos IBM.

Permite el trabajo con una gama amplia de hardware

(SO se adapta al hardware).

Solo se emplean dispositivos compatibles o fabricados

para la computadora personal (hardware adaptado al

SO).

Page 15: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 14

Linux como Sistema Operativo

Actualmente, el término “Linux” resulta bastante vago. Linux se utiliza de dos maneras: específicamente se

refiere al núcleo, que es la base de todas las versiones de Linux, y de forma más general, se refiere a una colección

de aplicaciones que se ejecutan sobre el núcleo. Esta colección de aplicaciones se suele llamar distribución. La

función del núcleo es garantizar un entorno básico en el que ejecutar las aplicaciones, incluyendo la interfaz básica

con el hardware y los gestores de tareas.

En un sentido estricto, sólo se puede hablar de una versión de Linux en un momento determinado: la última

versión actualizada del núcleo. El núcleo es el dominio particular de Torvalds en el desarrollo de Linux, dejando todas

las aplicaciones y servicios que actúan sobre el núcleo para los miles de desarrolladores que hay en el mundo.

En el sentido genérico de Linux, que se refiere a las colecciones de aplicaciones que se ejecutan sobre el

núcleo, hay muchas versiones de Linux. Cada distribución tiene características específicas, que incluyen métodos de

instalación, ampliaciones y características especiales. Pero como todas esas distribuciones siguen siendo

fundamentalmente Linux, casi todas las aplicaciones que funcionan bajo una versión actualizada de una distribución,

funcionarán bajo una versión actualizada de otra.

Lo interesante de la forma dual de usar el término Linux es que ocurre lo mismo con el término S.O. En un

sentido comercial, un S.O. es una gran colección de aplicaciones que complementan el núcleo. Esto es lo que son

Windows 95 y Windows 98, Windows NT, Windows 2000, o Mac OS.

Desde un punto de vista técnico, un S.O. es el núcleo principal que proporciona funciones básicas para

desarrollar y ejecutar aplicaciones.

Tomando cualquiera de las dos definiciones, Linux es un S.O. con características del núcleo de

Linux que lo diferencian del resto de los SO diseñados para PC es que Linux es multiusuario y multitarea.

Sistemas Operativos multitarea

Probablemente está habituado al término multitarea, aunque puede que no tenga muy claro lo que significa.

Cuando la informática personal empezó a pasar del Windows 3.1 al Windows 95 fueron unos de sus

principales reclamos.

Decir que un sistema es multitarea es decir que parece que se ejecuta más de una aplicación o proceso al

mismo tiempo. Por ejemplo, el sistema puede imprimir un documento, copiar un archivo y conectarse a Internet

mientras el usuario está tecleando tranquilamente en un procesador de textos. Aunque haya varias tareas activas en

segundo plano, es procesador de textos que está trabajando en primer plano, no debería bloquearse.

Sus capacidades y herramientas (banco de trabajo)

permiten la adaptación y creación de diversos sistemas

de computo.

La creación de un sistema informático depende de las

especificaciones que otorgue el fabricante del SO.

La fácil portabilidad entre diferentes sistemas de

computo, contribuyo a la creación de varias versiones

(hijos, clones) de UNIX.

Su utilización y popularidad se debió a la siguiente

evolución:

Permitiendo la compatibilidad con programas anteriores.

Pasar del modo texto a interfaz gráfica (WINDOWS).

Mejorando la protección y seguridad.

Page 16: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 15

Este es el atractivo de la multitarea: permite que un ordenador con un solo procesador dé la impresión de

estar realizando varias tareas simultáneamente. Por supuesto, un solo procesador sólo puede ejecutar una

instrucción a la vez, o sea, sólo se puede realizar una acción en cada momento. La multitarea genera la ilusión de

actividad simultánea turnando el uso del procesador entre las tareas según las necesidades de los procesos.

Cuando los sistemas multitarea funcionan bien, el usuario puede ejecutar un procesador de texto mientras se

ejecutan otros procesos de forma concurrente y sin advertir el trabajo extra que está realizando el ordenador. Todos

los procesos deben ejecutarse de forma suave y el ordenador debe seguir dando la impresión de que funciona sin

problemas.

Históricamente, los entornos Unix han sido mucho más eficientes que los entornos Windows al manejar la

multitarea. Unix es capaz de manejar un gran número de tareas simultáneamente de forma ideal para las

necesidades de los servidores corporativos o de las estaciones de trabajo de gama alta.

Hoy en día, sólo Windows 2000 y su predecesor Windows NT pueden aspirar a ofrecer un entorno multitarea

de características similares. Windows 95, a pesar de toda la parafernalia que lo ha rodeado, tiene problemas muy

serios en la gestión de varios procesos simultáneos.

Además, Linux, como Windows 2000 y NT, ofrece soporte para ordenadores con varios

procesadores, como los sistemas con procesadores actuales. Estos sistemas pueden efectuar dos tareas

al mismo tiempo.

La combinación de multitarea con sistemas multiprocesador incrementa de forma espectacular el

número de tareas que se pueden ejecutar simultáneamente sin perder rendimiento.

Un Sistema Operativo multiusuario

Más importante que sus capacidades multitarea son sus características como SO multiusuario,

características que comparte con todas las versiones de Unís y otros sistemas clónicos de Unix.

Todas las versiones de Windows y de Mac OS son sistemas de un único usuario. Algunas características de

Windows NT ofrecen algo parecido al soporte multiusuario, pero Windows NT sólo puede mantener un usuario activo

y ejecutando aplicaciones al mismo tiempo. Recientemente se han realizado avances para convertir Windows NT en

una plataforma multiusuario gracias a Windows NT Terminal Server Edition.

En comparación, Linux permite varios usuarios simultáneos, permitiendo aprovechar al máximo las

capacidades multitarea del SO. La gran ventaja de esto es que permite utilizar Linux como servidor de aplicaciones.

Desde sus terminales, los usuarios pueden conectarse a través de una red con el servidor y ejecutar las aplicaciones

directamente en él, en lugar de hacerlo en su propio ordenador.

Aplicaciones para Linux

Linux, como SO, se puede usar para desarrollar cualquier tipo de aplicación. Dentro de las aplicaciones

disponibles para Linux, podemos encontrar:

Aplicaciones de proceso de textos. Además de los procesadores de textos comerciales como

WordPerfect, StarOffice o Applixware, Linux ofrece herramientas potentes para editar y procesar textos

en forma automatizada.

Lenguajes de programación. Hay una gran variedad de lenguajes de programación y de tipo script, con

sus herramientas correspondientes, que funcionan en entornos Linux y Unís. Esta facilidad de encontrar

herramientas permite desarrollar nuevas aplicaciones de forma fácil y que no sólo son válidas para

entornos Linux, también funcionan bajo Unix y sistemas de tipo Unix.

Page 17: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 16

X Windows. X Windows es la opción Unix en el campo de la interfaz gráfica (GUI). Es un entorno GUI

muy flexible y fácil de configurar que funciona en Linux y en la mayoría de los sistemas compatibles Unix.

Hay muchas aplicaciones para X Windows que hacen de Linux un entorno fácil de usar.

Herramientas de Internet. Además de disponer de software tan extendido como Netscape Communicator

o Mosaic, se puede encontrar una gran variedad de software para Internet compatible con Linux.

Aplicaciones de correo gráficas o con interfaz de comandos, el software completo para preparar un

servidor de Internet (sevidores de red, de correos y de noticias), además de soporte completo para redes

que permite la conexión con Internet por medio de una red local o un módem.

Bases de datos. Como todas las plataformas Unix, Linux es una plataforma excelente para ejecutar

aplicaciones de bases de datos gratuitas para Linux como mSQL o Postgre y según ha ido aumentando

su implantación, especialmente en entornos corporativos, han ido apareciendo nuevas aplicaciones

comerciales para servidores de bases de datos relacionales. Hoy en día, tanto Oracle como Sybase o

Informix ofrecen bases de datos relacionales para Linux.

Software de compatibilidad DOS y Windows. Linux tiene la capacidad para trabajar con software para

otros entornos operativos.

Esta lista sólo permite vislumbrar la punta del iceberg. Hay muchas más aplicaciones para Linux. Podrá

encontrar una buena referencia sobre este tema en el Linux Software Map (Mapa de Software para Linux),

que se puede encontrar en la red, en http://www.linux.org/apps/lsm.html.

Linux como software gratuito

Viendo las inmensas posibilidades que ofrece Linux, parece razonable pensar que va a ser bastante caro.

Por el contrario, resulta que la realidad es muy diferente. El núcleo de Linux y la mayoría de las aplicaciones escritas

para él resultan ser de libre acceso en Internet, y normalmente no imponen restricciones en las copias o en la

redistribución del software.

Para empezar, el núcleo se distribuye bajo la licencia GNU. Esta licencia especial, diseñada por Free

Software Foundation, promueve la distribución abierta y, más importante todavía, el desarrollo abierto de los

programas.

La licencia GNU, al contrario que la mayoría de las licencias de software comercial, permite redistribuir el

software permitiendo incluso cobrar por estas distribuciones siempre y cuando se mantenga la licencia GNU en la

redistribución. En otras palabras, cualquiera puede coger un programa, alterarlo como le parezca y redistribuirlo.

Pero no puede evitar que quien le compre al programa haga lo mismo y lo distribuya otra vez.

La mayoría de los componentes de Linux se distribuyen bajo licencia GNU. Esto permite que diferentes

empresas produzcan distribuciones gratuitas y comerciales.

Esta aproximación al software gratuito no es lo mismo que el software de dominio público.

En productos GNU el diseñador del programa mantiene los derechos y tiene la facultad de detener la

distribución gratuita. Lo que hace especial la licencia GNU es que promueve el desarrollo de aplicaciones por parte

de muchas personas diferentes, cada una realizando cambios que considera adecuados o necesarios y

redistribuyendo el software. Este proceso es posible porque el software con licencia GNU tiene que distribuirse junto

con el código fuente. A diferencia del software comercial, que no viene con el código fuente y por lo tanto es de

hecho inalterable, la distribución GNU no sólo permite alterar y personalizar los programas, además anima a los

interesados a hacerlo.

Page 18: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 17

De hecho, este modelo ha tenido tanto éxito en el desarrollo de Linux que ha sido adoptado por Netscape

para su línea de productos Communicator. Mediante los principios GNU, Netscape hace que Communicator sea de

distribución libre y permite que cualquiera utilice el código fuente o redistribuya Communicator.

Aplicaciones comerciales para Linux

Hay aplicaciones comerciales para Linux y distribuciones comerciales. En estos casos, los productos utilizan

modelos de licencia más restrictivos que la licencia Gnu estándar en el mundo Linux. Pero aunque una distribución

incluya componentes comerciales que no pueden redistribuirse, el núcleo y las aplicaciones fundamentales que se

encuentran en todas las distribuciones siguen bajo la licencia de GNU. Si la licencia original de una aplicación es

GNU, la licencia del software redistribuido a partir de ellas es GNU.

Características del Sistema Operativo LINUX

Distribuciones de LINUX

SO de distribución

gratuita o barata.

SO basado en UNIX

más joven de todos.

Popular y altamente

difundido.

No depende de

ninguna empresa

comercial.

Constante

crecimiento.

Versión de UNIX

para INTEL PC.

Colaboración de

muchos usuarios.

Altamente

compatible con

UNIX.

Aprovecha toda la

capacidad de la PC.

Aporta velocidad,

eficiencia y

flexibilidad.

Ahorro en tiempo,

de actualizaciones y

de dinero.

Rápida

evolución.

Flexible a

modificaciones o

ampliaciones..

Page 19: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 18

Una Distribución, Actualizaciones o modificaciones de determinado software que permiten cubrir diversas

necesidades de cómputo.

Existen multitud de versiones diferentes de LINUX. Distintas organizaciones realizan sus propias

distribuciones de LINUX atendiendo a diversos tipos de necesidades. Todas tienen, sin embargo, algo en común: el

núcleo. Es el componente fundamental en todo SO UNIX. Su función básica consiste en facilitar la ejecución de

aplicaciones en el sistema. Proporciona una serie de mecanismos que los programas deben emplear para acceder a

los recursos de la computadora.

Una distribución de LINUX incluye un núcleo de LINUX junto con un conjunto de herramientas que

permitirán al usuario realizar las tareas cotidianas en el sistema. Las distribuciones se diferencian entre sí por

factores como las aplicaciones que incorporan, el proceso de instalación y configuración del sistema o la estructura

de directorios. Algunas de las distribuciones más difundidas de LINUX son las siguientes:

Slackware: durante mucho tiempo fue la más utilizada, ya que incorporaba un sistema de instalación

considerablemente más sencillo que el de sus competidoras.

Desarrollado y

distribuido por

empresas comerciales.

Producto de software

(SO) muy específico.

No hay lugar para

cambios de software.

Ejemplos: Windows 98, ME, XP, NT, Mac OS, SOLARIS, HPUX

Producto de software

(SO) diversificado.

Conjunto de

diversas

aplicaciones.

Núcleo

(LINUX).

Diseño de

distribuciones con base

al núcleo.

Facilidad de

compatibilidad.

Ejemplos: UNIX, LINUX, MINIX

Todo.

Distribuciones

Page 20: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 19

Debian/GNU: es la más profesional. Se caracteriza por la amplia variedad de herramientas que incluye

en la distribución estándar. El proceso de instalación resulta algo complejo, y desde luego nada

recomendable para usuarios novatos.

Red Hat: en la actualidad es una de las más populares, debido fundamentalmente a su facilidad de

manejo. La instalación es sencilla y dispone además de una serie de aplicaciones gráficas de

administración mediante las cuales un usuario con conocimientos mínimos puede gestionar fácilmente el

sistema.

SuSE: es una variante de la distribución Red Hat. Al igual que ésta resulta fácil de instalar y administrar.

Caldera: es una distribución comercial. Además del software de difusión gratuita que incorpora todas las

distribuciones incluye una serie de herramientas de valor añadido con una interfaz de usuario mejorada.

Fedora

Ubuntu

La elección de la distribución depende del uso que se vaya a ser de ella.

¿Cómo obtener una distribución?

1. Conectarse a su sitio oficial en Internet y transferir todos sus archivos. Por supuesto necesitará un enlace

rápido y barato a la red, ya que una distribución ocupa varios cientos de MegaBytes, Gigabytes. Algunas

distribuciones pueden realizar la instalación directamente a través del Internet, con lo que sólo necesitará

transferir unos pocos discos de inicio. El programa de instalación se encargará de conectarse con el sitio

remoto y terminar la transferencia.

2. Recurrir a un proveedor comerciar. Existen multitud de ellos que editan packs de CDs con varias

distribuciones y utilidades para LINUX de todo tipo. El precio de venta es muy barato, pues sólo se cubren

los gastos de edición y transporte, ya que se trata de software de difusión gratuita.

Sitios de Internet: LINUX (Inglés).

www.justlinux.com

www.linuxnow.com

www.linux.org

Guía completa.

Distribuciones LINUX.

www.redhat.com Inglés.

www.suse.com Inglés.

www.suse.de/es/index.html Español.

www.debian.org/ Inglés/Español

Sitios de Internet: LINUX (Español).

www.sololinux.com

www.tiendalinux.com

www.maslinux.com

Sitios de Internet: LINUX (México).

www.linux.org.mx

www.linuxpuebla.org

Sitio Global

www.distrowash.net

Page 21: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 20

Funciones de UNIX/LINUX.

Multitarea.

Multiusuario.

Shells programables (forma en cómo trabajan las órdenes en LINUX)

Independencia de dispositivos bajo LINUX.

Comunicaciones y redes.

Portabilidad de sistemas abiertos.

Ventajas y desventajas del uso de LINUX.

Ventajas Desventajas

Aplicaciones.

Ventajas para los profesionales en informática (herramientas).

Enseñanza (múltiples accesos y aplicaciones).

Hackers (aprender todo lo que hay que saber acerca de un sistema).

Falta de asistencia técnica.

Problemas con el hardware.

Imposibilidad de utilizar el programa actual (no compatibles).

Falta de experiencia.

Otras Distribuciones:

Nombre URL

Fedora http://www.fedoraproject.org

Gentoo Linux http://www.gentoo.org

Mandrila Linux http://www.mandriva.com

OpenSuse http://www. opensuse.org

Slackware http://www. slackware .org

Ubuntu http://www. ubuntu.com

Sabayon http://www. sabayonlinux.org

Puppy linux http://www. puppy linux.org

SLAX http://www.slax.org

Linux Mint http://www. linuxmint.org

PC LinuxOS http://www. pclinuxos.org

Mandriva http://www. mandriva.org

CentOS http://www.centos.org

Red Hat Enterprise http://www.redhat.com/

Suse Linux Enterprise https://www.suse.com/

Page 22: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 21

Ejemplos de sistemas operativos para PC

• Microsoft Windows

• Mac OS X

• GNU/Linux

• Unix

• Solaris

• FreeBSD

• OpenBSD

• Google Chrome OS

• Debian

• Ubuntu

• Mandriva

• Sabayon

• Fedora

• Linpus linux

• Haiku (BeOS)

Ejemplos de sistemas operativos para dispositivos móviles

• Android

• iOS

• Bada

• BlackBerry OS

• Windows Phone

• Symbian OS

• HP webOS

• Firefox OS

• Ubuntu Phone OS

Page 23: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 22

II. Instalación de los sistemas operativos (Windows y basado en UNIX)

Objetivo: El alumno instalará diversas plataformas de sistemas operativos para probar sus configuraciones en

equipos de cómputo.

2.1. Requerimientos del sistema, Preparación del hardware para la Instalación e

Instalación del sistema operativo

Antes de instalar un sistema operativo es necesario revisar cuales son los requerimientos tanto de de Hardware y

Software con el que debe prepararse en equipo de cómputo donde se instalará.

Podremos decir que existen muchas formas de instalar un sistema operativo las más usuales son:

• Una máquina virtual.

• Partición lógica

• Dispositivo de almacenamiento extraíble

• Disco Duro

• USB

Instalación en Máquina Virtual (VM)

Permite utilizar los recursos de hardware existentes de una computadora portátil, desktop o servidor para

hacer que por medio de software emule otra computadora con las propiedades físicas de hardware controlado que

nosotros le asignemos y funcione como un ordenador real.

Una VM posee los recursos de un sistema operativo host y un sistema operativo guest que pueden funcionar de

manera simultánea.

Host. Es el sistema operativo primario sobre el cual funciona el ordenador, es decir, el que está físicamente

instalado.

Guest. Es el sistema operativo invitado que opera de forma virtualizada sobre el host.

Existen muchas soluciones en el mercado para crear plataformas de virtualización en diferentes ambientes y para

varios sistemas operativos funcionando como host:

En este tipo de instalación lo primero que debemos hacer es instalar el programa de virtualización para nuestro

equipo.

Requerimientos de instalación de Virtualbox

• Procesador Intel o AMD x86/64 bits

• Mínimo 512 MB of RAM - XP y 1 GB RAM – Vista, 7,8.

• hard disk 30 MB

Soporte para:

• S.O. host. Windows (XP and later), many Linux distributions, Mac OS X, Solaris and OpenSolaris.

• S.O. guest. De acuerdo a la distribución y versión del S.O. a instalar.

Page 24: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 23

La instalación de una virtualización con este programa citado debe:

• Descargar el programa del sitio: https://www.virtualbox.org/

• Configurar e instalar las características de HW y SW a emular del equipo físico con que se cuente.

• Instalar el S.O en Máquina Virtual.

• Reservar espacio del Disco Duro en el equipo de cómputo en donde se instalará

• Revisar Requerimientos de Hardware y Software de Instalación

• Localizar la versión del S.O. a instalar: ISO, CD/DVD’s completos en algún medio magnético (USB,

DVD, por internet) de instalación

• Definir los parámetros requeridos por la Distribución del Sistema Operativo Linux o Windows

• Definir tamaño y tipo de partición, Sistema de Archivos, punto de montaje a instalar dependiendo de

la Distribución del Sistema Operativo Linux o Windows

• Seguir proceso de instalación y configuración de Hardware y Software adicional

• Instalar y configurar servicios adicionales.

Instalación en partición lógica

• Reservar espacio del Disco Duro en el equipo de cómputo en donde se instalará

• Revisar Requerimientos de Hardware y Software de Instalación

• Tener la versión del S.O. a instalar: CD/DVD’s completos en algún medio magnético (USB, DVD) de

instalación (Booteable)

• Definir los parámetros requeridos por la Distribución del Sistema Operativo Linux o Windows

• Definir tamaño y tipo de partición, Sistema de Archivos, punto de montaje a instalar dependiendo de

la Distribución del Sistema Operativo Linux o Windows

• Seguir proceso de instalación y configuración de Hardware y Software adicional

• Instalar y configurar servicios adicionales.

2.2. Instalación de Windows

Page 25: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 24

Microsoft Windows

Microsoft Windows

Desarrollador

Microsoft

Página principal de Windows [1]

Información general

Modelo de desarrollo Software propietario; Shared Source

Lanzamiento inicial Noviembre de 1985 (info

[2] )

Última versión estable Windows RT, Windows Server 2012

(Núcleo NT 6.2 Build 9200) (info [3]

)

26 de octubre de 2012 Última versión en pruebas Windows 8.1, Windows Server 2012 R2 NT 6.3 (Build 9600)

28 de junio de 2013

Tipo de núcleo Monolítico (versiones basadas en MS-DOS), Híbrido (versiones basadas en

Windows NT)

Método de actualización Windows Update; en empresas se aplican tecnologías como WSUS y SCCM)

Licencia Microsoft CLUF (EULA)

Idiomas Multilingüe

En español

Soporte técnico

Todos los sistemas operativos Windows reciben un grado variable de soporte, bajo la directiva de Ciclo de vida de soporte técnico de Microsoft

(info [4]

)

↓Véase: Historial de lanzamientos

Artículos relacionados

• Historia de Microsoft Windows

• Versiones de Microsoft Windows

Microsoft Windows es el nombre de una familia de sistemas operativos desarrollados y vendidos por Microsoft.

Microsoft introdujo un entorno operativo denominado Windows el 20 de noviembre de 1985 como un complemento

para MS-DOS en respuesta al creciente interés en las interfaces gráficas de usuario (GUI).[]

Microsoft Windows

llegó a dominar el mercado mundial de computadoras personales, con más del 90% de la cuota de mercado,

superando a Mac OS, que había sido introducido en 1984.

Las versiones más recientes de Windows son Windows 8 para equipos de escritorio, Windows Server 2012 para

servidores y Windows Phone 8 para dispositivos móviles. La primera versión en español fue Windows 3.0

Windows es un sistema operativo basado en ventanas. La primera versión se lanzó en 1990 y comenzó a utilizarse de

forma generalizada gracias a su interfaz gráfica de usuario (GUI, Graphical User Interface). Hasta ese momento, el

sistema operativo más extendido era MS-DOS (Microsoft Disk Operating System), y la interfaz consistía en una

línea de comandos.

Page 26: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 25

Historia

Árbol genealógico de Windows.

La primera versión de Microsoft Windows,

versión 1.0, lanzada en noviembre de 1985,

compitió con el sistema operativo de Apple.

Carecía de un cierto grado de funcionalidad

y logró muy poca popularidad. Windows 1.0

no era un sistema operativo completo; más

bien era una extensión gráfica de MS-DOS.

Windows versión 2.0 fue lanzado en

noviembre de 1987 y fue un poco más

popular que su predecesor. Windows 2.03

(lanzado en enero de 1988) incluyó por

primera vez ventanas que podían solaparse

unas a otras. El resultado de este cambio

llevó a Apple a presentar una demanda contra Microsoft, debido a que infringían derechos de autor.

Windows versión 3.0, lanzado en 1990, fue la primera versión de Microsoft Windows que consiguió un amplio éxito

comercial, vendiendo 2 millones de copias en los primeros seis meses. Presentaba mejoras en la interfaz de usuario y

en la multitarea. Recibió un lavado de cara en Windows 3.1, que se hizo disponible para el público en general el 1 de

marzo de 1992. El soporte de Windows 3.1 terminó el 31 de diciembre de 2001.

En julio de 1993, Microsoft lanzó Windows NT basado en un nuevo kernel. NT era considerado como el sistema

operativo profesional y fue la primera versión de Windows en utilizar la Multitarea apropiativa. Windows NT más

tarde sería reestructurado para funcionar también como un sistema operativo para el hogar, con Windows XP.

El 24 de agosto de 1995, Microsoft lanzó Windows 95, una versión nueva para los consumidores, y grandes fueron

los cambios que se realizaron a la interfaz de usuario, y también se utiliza multitarea apropiativa. Windows 95 fue

diseñado para sustituir no solo a Windows 3.1, sino también de Windows para Workgroups y MS-DOS. También fue

el primer sistema operativo Windows para utilizar las capacidades Plug and Play. Los cambios que trajo Windows

95 eran revolucionarios, a diferencia de los siguientes, como Windows 98 y Windows Me. El soporte estándar para

Windows 95 finalizó el 31 de diciembre de 2000 y el soporte ampliado para Windows 95 finalizó el 31 de diciembre

de 2001.

El siguiente en la línea de consumidor fue lanzado el 25 de junio de 1998, Microsoft Windows 98. Sustancialmente

fue criticado por su lentitud y por su falta de fiabilidad en comparación con Windows 95, pero muchos de sus

problemas básicos fueron posteriormente rectificados con el lanzamiento de Windows 98 Second Edition en 1999. El

soporte estándar para Windows 98 terminó el 30 de junio de 2002, y el soporte ampliado para Windows 98 terminó

el 11 de julio de 2006.

Como parte de su línea «profesional», Microsoft lanzó Windows 2000 en febrero de 2000. La versión de consumidor

tras Windows 98 fue Windows Me (Windows Millennium Edition). Lanzado en septiembre de 2000, Windows Me

implementaba una serie de nuevas tecnologías para Microsoft: en particular fue el «Universal Plug and Play».

Durante el 2004 parte del código fuente de Windows 2000 se filtró en internet, esto era malo para Microsoft porque

el mismo núcleo utilizado en Windows 2000 se utilizó en Windows XP.

En octubre de 2001, Microsoft lanzó Windows XP, una versión que se construyó en el kernel de Windows NT que

también conserva la usabilidad orientada al consumidor de Windows 95 y sus sucesores. En dos ediciones distintas,

«Home» y «Professional», el primero carece por mucho de la seguridad y características de red de la edición

Professional. Además, la primera edición «Media Center» fue lanzada en 2002, con énfasis en el apoyo a la

funcionalidad de DVD y TV, incluyendo grabación de TV y un control remoto. El soporte estándar para Windows

XP terminó el 14 de abril de 2009. El soporte extendido continuará hasta el 8 de abril de 2014.

Page 27: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 26

En abril de 2003, Windows Server 2003 se introdujo, reemplazando a la línea de productos de servidor de Windows

2000 con un número de nuevas características y un fuerte enfoque en la seguridad; lo cual fue seguido en diciembre

de 2005 por Windows Server 2003 R2.

El 30 de enero de 2007, Microsoft lanzó Windows Vista. Contiene una serie de características nuevas, desde un shell

rediseñado y la interfaz de usuario da importantes cambios técnicos, con especial atención a las características de

seguridad. Está disponible en varias ediciones diferentes y ha sido objeto de muy severas críticas debido a su patente

inestabilidad, sobredemanda de recursos de hardware, alto costo, y muy alta incompatibilidad con sus predecesores,

hecho que no ocurría con éstos.

El 22 de octubre de 2009, Microsoft lanzó Windows 7. A diferencia de su predecesor, Windows Vista, que introdujo

a un gran número de nuevas características, Windows 7 pretendía ser una actualización incremental, enfocada a la

línea de Windows, con el objetivo de ser compatible con aplicaciones y hardware que Windows Vista no era

compatible. Windows 7 tiene soporte multi-touch, un Windows shell rediseñado con una nueva barra de tareas,

conocido como Superbar, un sistema red llamado HomeGroup, y mejoras en el rendimiento sobre todo en velocidad

y en menor consumo de recursos.

El 26 de octubre de 2012, Microsoft lanzó Windows 8. Por primera vez desde Windows 95, el botón Inicio ya no

está disponible en la barra de tareas, aunque la pantalla de inicio está aún activa haciendo clic en la esquina inferior

izquierda de la pantalla y presionando la tecla Inicio en el teclado. Presenta un Explorador de Windows rediseñado,

con la famosa interfaz ribbon de Microsoft Office. Según Microsoft han vendido 60 millones de licencias, aunque ha

recibido muchas críticas por parte de los usuarios. Se conservan la gran mayoría de las características de su

predecesor, Windows 7, con excepción de la nueva interfaz gráfica y algunos cambios menores.

Historial de lanzamientos

Versiones

Fecha de

publicación Nombre del

producto Última versión /

Compilación Estado de soporte técnico Última

versión de

IE

noviembre de

1985 Windows 1.01 1.01 Sin soporte desde 31 de diciembre de 2001 -

noviembre de

1987 Windows 2.03 2.03 Sin soporte desde 31 de diciembre de 2001 -

mayo de 1988 Windows 2.10 2.10 Sin soporte desde 31 de diciembre de 2001 -

marzo de 1989 Windows 2.11 2.11 Sin soporte desde 31 de diciembre de 2001 -

mayo de 1990 Windows 3.0 3.0 Sin soporte desde 31 de diciembre de 2001 -

marzo de 1992 Windows 3.1 3.1 Sin soporte desde 31 de diciembre de 2001 5

octubre de 1992 Windows For

Workgroups 3.1 3.1 Sin soporte desde 31 de diciembre de 2001 5

julio de 1993 Windows NT 3.1 NT 3.1 Sin soporte desde 31 de diciembre de 2001 5

diciembre de 1993 Windows For

Workgroups 3.11 3.11 Sin soporte desde 31 de diciembre de 2001 5

enero de 1994 Windows 3.2

(publicado en chino

simplificado)

3.2 Sin soporte desde 31 de diciembre de 2001 5

septiembre de

1994 Windows NT 3.5 NT 3.5 Sin soporte desde 31 de diciembre de 2001 5

mayo de 1995 Windows NT 3.51 NT 3.51.1057 Sin soporte desde 31 de diciembre de 2001 5

Page 28: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 27

agosto de 1995 Windows 95 4.03.1214 (OSR

2.5 ó 4.00.950C) Sin soporte desde 31 de diciembre de 2001 5.5

julio de 1996 Windows NT 4.0 NT 4.0.1381 Sin soporte desde 31 de diciembre de 2004 6

junio de 1998 Windows 98 4.10.1998 Sin soporte desde 11 de julio de 2006 6

mayo de 1999 Windows 98 SE 4.10.2222 Sin soporte desde 11 de julio de 2006 6

febrero de 2000 Windows 2000 NT 5.0.2195 Sin soporte desde 13 de julio de 2010 6

septiembre de

2000 Windows Me 4.90.3000 Sin soporte desde 11 de julio de 2006 6

octubre de 2001 Windows XP NT 5.1.2600 Únicamente soporte extendido hasta el 8 de abril de 2014 para

Service Pack 3 (versión RTM, SP1 y SP2 sin soporte). 8

abril de 2003 Windows Server

2003 NT 5.2.3790

Únicamente soporte extendido hasta el 14 de julio de 2015 para []

Service Pack 2 y versión R2. (versión RTM y SP1 sin soporte).

8

abril de 2005 Windows XP

Professional x64

Edition

NT 5.2.3790 Únicamente soporte extendido hasta el 8 de abril de 2014 para

Service Pack 2 (versión RTM y SP1 sin soporte). 8

julio de 2006 Windows

Fundamentals for

Legacy PC

NT 5.1.2600 Soporte estándar vigente. 8

noviembre de

2006 (licencias por

volumen)

Enero de 2007

(retail)

Windows Vista NT 6.0.6002 Únicamente soporte extendido hasta el 11 de abril de 2017 para

Service Pack 2 (versión RTM y SP1 sin soporte). Versión cambiada

a NT 6.0.6001 con el Service Pack 1 (4 de febrero de 2008) y a NT

6.0.6002 con el Service Pack 2 (28 de abril de 2009).

9

julio de 2007 Windows Home

Server NT 5.2.4500 Soporte estándar vigente. 9

febrero de 2008 Windows Server

2008 NT 6.0.6002 Soporte estándar vigente. Versión cambiada a NT 6.0.6002 con el

Service Pack 2 (28 de abril de 2009). 9

octubre de [5]

2009 Windows 7 y

Windows Server

2008 R2

NT 6.1.7601 Soporte estándar vigente. Versión cambiada a NT 6.1.7601 con el

Service Pack 1 (9 de febrero de 2011). 10

Septiembre de

2012 Windows Server

2012 NT 6.2 Soporte estándar vigente. 10

Octubre de 2012 Windows 8 NT 6.2.9200 Soporte estándar vigente a partir del 25 o 26 de octubre del 2012. 10

Línea de tiempo de versiones

Page 29: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 28

Versiones más utilizadas

Fuente [6] Net Market Share

[7] W3Counter

[8] Global Stats W3

[9] Schools

Dato Septiembre 2013 Julio 2013 Septiembre 2013 Julio 2013

Versiones 91.18% 72.19% 84.25% 82.80%

Windows 7 (2009) 44.63% 42.76% 51.84% 56.20%

Windows XP (2001) 33.66% 20.08% 19.19% 15.80%

Windows 8 (2012) 7.65% 4.86% 7.86% 8.60%

Windows Vista (2007) 4.11% 4.49% 5.36% 1.80%

Windows Server 0.13% - - 0.08%

Seguridad

Una de las principales críticas que con frecuencia reciben los sistemas operativos Windows es la debilidad del

sistema en lo que a seguridad se refiere y el alto índice de vulnerabilidades críticas. El propio Bill Gates, fundador de

Microsoft, ha asegurado en repetidas ocasiones que la seguridad es objetivo primordial para su empresa.[]

Partiendo de la base de que no existe un sistema completamente libre de errores, las críticas se centran en la lentitud

con la que la empresa reacciona ante un problema de seguridad que pueden llegar a meses[10][11][12][13]

o incluso

años[14][15]

de diferencia desde que se avisa de la vulnerabilidad hasta que se publica un parche.

En algunos casos la falta de respuesta por parte de Microsoft[16][17]

ha provocado que se desarrollen parches que

arreglan problemas de seguridad hechos por terceros.[18]

Uno de los pilares en que se basa la seguridad de los productos Windows es la seguridad por ocultación, en general,

un aspecto característico del software propietario que sin embargo parece ser uno de los responsables de la debilidad

de este sistema operativo ya que, la propia seguridad por ocultación, constituye una infracción del principio de

Kerckhoff, el cual afirma que la seguridad de un sistema reside en su diseño y no en una supuesta ignorancia del

diseño por parte del atacante.[19]

Windows Defender

El 6 de enero de 2005, Microsoft lanzó una versión Beta de Microsoft AntiSpyware, basado en Giant AntiSpyware

publicado anteriormente. El 14 de febrero de 2006, Microsoft AntiSpyware se convirtió en Windows Defender con

el lanzamiento de la Beta 2. Windows Defender es un programa diseñado para proteger contra spyware y otro

software no deseado. Los usuarios de Windows XP y Windows Server 2003 que tienen copias originales de

Microsoft Windows pueden descargar libremente el programa desde el sitio web de Microsoft y Windows Defender

se suministra como parte de Windows Vista y 7. En Windows 8, Windows Defender y Microsoft Security Essentials

se han combinado en un solo programa, denominado Windows Defender. Sus características y la interfaz de usuario

se basan en Microsoft Security Essentials. A pesar de que está activada de forma predeterminada, se puede

desactivar para utilizar otra solución antivirus.

Permisos de archivos

En todas las versiones de Windows con NT 3 se han basado en un sistema de permisos de sistema de archivos

denominado AGDLP (cuentas, Global, Local, permisos) AGLP que en esencia donde se aplican los permisos de

archivo a la carpeta en forma de un grupo local que luego tiene otros 'grupos globales' como miembros. Estos grupos

globales mantienen otros grupos o a usuarios según las diferentes versiones de Windows que utiliza. Este sistema

varía de otros productos de proveedores tales como Linux y NetWare debido a la 'estática' asignación de permiso se

Page 30: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 29

aplica directorio para el archivo o carpeta. Sin embargo con este proceso de AGLP/AGDLP/AGUDLP permite a un

pequeño número de permisos estáticos para aplicarse y permite cambios fáciles a los grupos de cuentas sin volver a

aplicar los permisos de archivo de los archivos y carpetas.

Aplicaciones

Son aplicaciones que trae preinstaladas el sistema operativo Windows.

Windows 8

En Windows 8 se han introducido nuevas aplicaciones.

• Fotos • Contactos • Deportes

• Vídeo • Mapas • Viajes

• Música (Xbox Music) • Windows Store • Bing App

• Calendario • Cámara

• Mensajes • SkyDrive App

• Noticias

• Internet Explorer es un navegador web de Internet producido por Microsoft para su plataforma Windows. Fue

creado en 1995 tras la adquisición por parte de Microsoft del código fuente de Mosaic, un navegador desarrollado

por Spyglass, siendo rebautizado entonces como Internet Explorer. Las primeras versiones, basadas en Mosaic, no

supusieron ninguna amenaza para el entonces dominante Netscape Navigator, ya que eran bastante simples y no

eran compatibles con algunas de las extensiones más populares de Netscape que dominaban la web de la época

(como los marcos o JavaScript). Es el navegador de Internet con mayor cuota de mercado, ya que se incluye

integrado por defecto con Windows, hecho que le ha costado a Microsoft demandas por monopolio en Europa.[]

• Windows Anytime Upgrade es el método de actualizar Windows incluida en Windows vista y actualmente en

Windows 7 y Windows 8, el usuario introduce un código en la aplicación el cual en 10 minutos actualizara a una

versión más avanzada de Windows, el pack de actualización se compra a través de Microsoft Store o con el

fabricante OEM.

• Windows Media Center es una aplicación con una interfaz de usuario, diseñado para servir como equipo

personal de cine en casa. Está incluido en Windows XP Media Center Edition como parte de dicha versión

especial del sistema operativo, ya que la aplicación no puede ser añadida a una instalación existente de XP.

También se incluye en las ediciones superiores de Windows Vista (Vista Home Premium y Vista Ultimate),

Windows 7 (todas las ediciones exceptuando Starter y Home Basic) y en Windows 8 Pro.

• WordPad es un procesador de textos básico que se incluye con casi todas las versiones de Microsoft Windows

desde Windows 95 hacia arriba. Es más avanzado que el Bloc de notas pero más sencillo que el procesador de

textos de Microsoft Works y Microsoft Word.

• Paint es un programa simple de dibujo gráfico desarrollado por Microsoft. Paint ha acompañado al sistema

operativo Microsoft Windows desde la versión 1.0.

Page 31: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 30

Críticas y polémicas

Microsoft fue demandado por el Gobierno de Estados Unidos en 1998 por competencia desleal, y especialmente por

la inclusión del navegador Internet Explorer en su versión Windows 95.[20]

En 2004 Microsoft lanzó una campaña, llamada «Get the facts», en la que mostraba cientos de empresas conocidas

que migraron de GNU/Linux a Windows Server y aumentaron su productividad y otro tipo de comparativas,[21]

aunque la cerró poco después, en 2007.[22]

Los defensores de GNU/Linux desarrollaron su propio estudio

argumentando que, en contra de uno de los reclamos de Microsoft, GNU/Linux tiene menores costos administrativos

que servidores basados en Windows.[23]

Otro estudio realizado por el Yankee Group afirma que la actualización

desde una versión de Windows Server a otra plataforma tiene un coste inferior al de cambiar de GNU/Linux a

Windows Server.[24]

En 2007 Windows Vista tuvo que enfrentarse a pruebas de que su sistema ofertado funcional a partir de 512MB

requería más de 4GB para serlo, ello avalado por un consultor de IBM experto en el sistema.[25]

estando

«sobrecargado» de objetos, los cuales hacen que los computadores que actualmente están funcionando con Windows

XP no soporten adecuadamente el sistema y no ofrezcan al usuario una experiencia fluida de uso, aunque «si bien es

cierto que gracias a características como el ReadyBoot, el Superfetch, ReadyBoost, ReadyDrive y similares el

rendimiento de Vista incluso puede llegar a ser superior al de XP en computadores potentes».[26]

Debido al fracaso de Windows Vista, en 2007 Microsoft autorizó a hacer downgrade hacia Windows XP en las

versiones Business, Entreprise y Ultimate.[27]

Referencias

[1] http://windows.microsoft.com/

[2] http://www.microsoft.com/windows/WinHistoryDesktop.mspx

[3] http://windowsteamblog.com/international/b/latam/archive/2011/02/10/

microsoft-anuncia-liberaci-243-n-a-fabricante-de-windows-server-2008-r2-y-windows-7-sp1.aspx

[4] http://support.microsoft.com/gp/lifecycle

[9] http://www.w3schools.com/browsers/browsers_os.asp

Enlaces externos

• Sitio oficial de Microsoft Windows (http://www.microsoft.com/windows)

• Microsoft Windows History Timeline (http://www.microsoft.com/Windows/WinHistoryIntro.mspx)

• Wikiquote alberga frases célebres de o sobre Microsoft Windows. Wikiquote

• Wikimedia Commons alberga contenido multimedia sobre Microsoft Windows. Commons

Page 32: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 31

Windows Server 2008

Windows Server 2008 R2

Parte de la familia Microsoft Windows Server

Desarrollador

Microsoft

Pagina de Windows 2008 [1]

Información general

Modelo de desarrollo Software propietario; Shared Source

Lanzamiento inicial

4 de febrero de 2008 ([[2] info])

Última versión estable

6.0 Service Pack 2 (SP2; Compilación 6002) ([[3] info])

30 de abril de 2009

Núcleo NT 6.1

Tipo de núcleo Híbrido

Plataformas soportadas IA-32, x86-64, IA-64

Método de actualización Windows Update

Licencia Microsoft CLUF (EULA)

Idiomas Multilingüe

En español

Soporte técnico

Período de soporte estándar hasta el 13 de enero de 2015. Después, período de soporte extendido hasta el 14 de enero de []

2020.

Windows Server 2008 es el nombre de un sistema operativo de Microsoft diseñado para servidores.

Es el sucesor de Windows Server 2003, distribuido al público casi cinco años después. Al igual que Windows 7 ,

Windows Server 2008 se basa en el núcleo Windows NT 6.1. . Entre las mejoras de esta edición, se destacan nuevas

funcionalidades para el Active Directory, nuevas prestaciones de virtualización y administración de sistemas, la

inclusión de IIS 7.5 y el soporte para más de 256 procesadores. Hay siete ediciones diferentes: Foundation, Standard,

Enterprise, Datacenter, Web Server, HPC Server y para Procesadores Itanium.

Características

Hay algunas diferencias (unas sutiles y otras no tanto) con respecto a la arquitectura del nuevo Windows Server

2008, que pueden cambiar drásticamente la manera en que se usa este sistema operativo. Estos cambios afectan a la

manera en que se gestiona el sistema hasta el punto de que se puede llegar a controlar el hardware de forma más

efectiva, se puede controlar mucho mejor de forma remota y cambiar de forma radical la política de seguridad. Entre

las mejoras que se incluyen, están:

• Nuevo proceso de reparación de sistemas NTFS: proceso en segundo plano que repara los archivos dañados.

• Creación de sesiones de usuario en paralelo: reduce tiempos de espera en los Terminal Services y en la creación

de sesiones de usuario a gran escala.

• Cierre limpio de Servicios.

• Sistema de archivos SMB2: de 30 a 40 veces más rápido el acceso a los servidores multimedia.

• Address Space Load Randomization (ASLR): protección contra malware en la carga de controladores en

memoria.

Page 33: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 32

• Windows Hardware Error Architecture (WHEA): protocolo mejorado y estandarizado de reporte de errores.

• Virtualización de Windows Server: mejoras en el rendimiento de la virtualización.

• PowerShell: inclusión de una consola mejorada con soporte GUI para administración.

• Server Core: el núcleo del sistema se ha renovado con muchas y nuevas mejoras.

Ediciones

La mayoría de las ediciones de Windows Server 2008 están disponibles en x86-64 (64 bits) y x86 (32 bits).

Windows Server 2008 para sistemas basados en Itanium soporta procesadores IA-64. La versión IA-64 se ha

optimizado para escenarios con altas cargas de trabajo como servidores de bases de datos y aplicaciones de línea de

negocios (LOB). Por ende no está optimizado para su uso como servidor de archivos o servidor de medios. Microsoft

ha anunciado que Windows Server 2008 será el último sistema operativo para servidores disponible en 32 bits.[4]

Windows Server 2008 está disponible en las ediciones que figuran a continuación, similar a Windows Server 2003.

• Windows Server 2008 Standard Edition (x86 y x86-64)

• Windows Server 2008 Todas las Ediciones (Solo 64Bit)

• Windows Server 2008 Enterprise Edition (x86 y x86-64)

• Windows Server 2008 Datacenter Edition (x86 y x86-64)

• Windows Server 2008 R2 Standard Edition (Solo 64Bit)

• Windows Server 2008 R2 Todas las Ediciones (Solo 64Bit)

• Windows Server 2008 R2 Enterprise Edition (Solo 64Bit)

• Windows Server 2008 R2 Datacenter Edition (Solo 64Bit)

• Windows HPC Server 2008 (reemplaza Windows Compute Cluster Server 2003)

• Windows Web Server 2008 R2 (Solo 64Bit)

• Windows Storage Server 2008 (x86 y x86-64)

• Windows Small Business Server 2008 (Nombre clave "Cougar") (x86-64) para pequeñas empresas

• Windows Essential Business Server 2008 (Nombre clave "Centro") (x86-64) para empresas de tamaño medio[5]

• Windows Server 2008 para sistemas basados en Itanium

• Windows Server 2008 R2 Foundation Server

Server Core está disponible en las ediciones Web, Standard, Enterprise y Datacenter, aunque no es posible usarla en

la edición Itanium. Server Core es simplemente una opción de instalación alterna soportada y en sí no es una edición

propiamente dicha. Cada arquitectura dispone de un DVD de instalación independiente.

Windows Server 2008 Standard Edition, y Windows Server 2008 R2 Standard Edition estaban disponibles

gratuitamente para estudiantes a través del programa Microsoft DreamSpark.

Actualmente Windows Server 2008 Standard Edition (32 y 64bits), Windows Server 2008 Enterprise Edition (32 y

64bits), Windows Server 2008 Datacenter Edition (32 y 64bits), Windows Server 2008 R2 Standard Edition (con y

sin SP1), Windows Server 2008 R2 Web Edition (con y sin SP1), Windows Server 2008 R2 Enterprise Edition (con

y sin SP1), y Windows Server 2008 R2 Datacenter Edition (con y sin SP1), están disponible gratuitamente para

estudiantes a través del programa Microsoft DreamSpark, al renovarse la licencia.

Page 34: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 33

[]

Windows Server 2008 R2 Edition comparison chart

Features Foundation Standard Web HPC Enterprise Datacenter Itanium

Maximum physical

memory (RAM) (64-bit)

8 GB

Parcial Parcial Parcial 2 TB 2 TB 2 TB

Maximum physical

CPUs supported

1

Parcial Parcial Parcial Parcial 64 64

Cross-File Replication

(DFS-R)

No

No

No

No

Sí Sí Sí

Failover Cluster Nodes

(Nodes)

No

No

No

No

16 16 Parcial

Fault Tolerant Memory

Sync

No

No

No

No

Sí Sí Sí

Hot Add Memory

No

No

No

No

Sí Sí Sí

Hot Add Processors

No

No

No

No

No

Sí Sí

Hot Replace Memory

No

No

No

No

No

Sí Sí

Hot Replace Processors

No

No

No

No

No

Sí Sí

Network Access

Connections (IAS) Parcial Parcial

No

No

Unlimited Unlimited

Parcial

Page 35: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 34

Network Access

Connections (RRAS) Parcial Parcial

No

Parcial Unlimited Unlimited

No

Remote Desktop Admin

Connections 2

Remote Desktop

Services Gateway Parcial Parcial

No

No

Unlimited Unlimited

No

Virtual Image Use

Rights

No

Parcial Parcial Parcial Parcial Unlimited

Unlimited

USD Pricing N/A $1,029 (5

CAL)

$1,229 (10

CAL)

$469 (No

CAL) N/A $3,999 (25

CAL) $2,999 $2,999

[] Features Foundation Standard Web HPC Enterprise Datacenter Itanium

Service packs

Microsoft lanza ocasionalmente service packs para su familia de sistemas operativos Windows en aras a proteger al

usuario frente a nuevas vulnerabilidades detectadas y también añadir nuevas características para que el equipo este

en optimas condiciones.

Service Pack 2

Debido a que Windows Server 2008 se basa en el núcleo Windows NT 6.0 Service Pack 1, la versión final (RTM) es

considerada como Service Pack 1; de acuerdo con esto, el primer service pack lanzado será llamado "Service Pack

2". Anunciado el 24 de octubre de 2008,[]

este service pack contiene los mismos cambios y mejoras que el

equivalente Windows Vista Service Pack 2, así como la versión final de Hyper-V (1.0) y mejoras que le permiten

una reducción del 10% en el uso de energía.

Windows Server 2008 R2

Microsoft introdujo Windows Server 2008 R2 en la Professional Developers Conference (PDC) del 2008 como una

variante de servidor del nuevo sistema operativo Windows 7.

Una guía preliminar publicada por la compañía describe muchas áreas de mejora,[]

notablemente la inclusión de un

número de nuevas características de virtualización incluyendo Live Migration y Cluster Shared Volumes, un

reducido consumo de energía, un nuevo conjunto de herramientas de administración, nuevas características Active

Directory como una "papelera de reciclaje" para objetos AD borrados, una nueva versión de IIS (7.5) que incluye un

renovado servidor FTP, soporte para DNSSEC y el aumento del número de núcleos de procesamiento de 64 a 256.[]

Los procesadores de 32-bits ya no están soportados.[]

Algunas mejoras en la opción de instalación Server Core incluyen la remoción total del entorno gráfico del sistema

operativo, y el soporte a .NET Framework, incluyendo aplicaciones ASP.NET y soporte para Windows PowerShell.

Las mejoras en el rendimiento fueron un área de desarrollo importante en esta versión; Microsoft anunció que se

habían realizado trabajos para disminuir el tiempo de arranque, mejorar la eficiencia de operaciones E/S a la vez que

Page 36: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 35

reducir potencia de procesamiento y mejoras generales de velocidad en dispositivos de almacenamiento,

especialmente en iSCSI.

El 7 de enero de 2009, se lanzó una versión preliminar (beta) de Windows Server 2008 R2 para suscriptores de los

programas de Microsoft, TechNet y MSDN, así como también a participantes del programa Microsoft Connect sobre

Windows 7. Dos días después, se lanzó al público general mediante el Centro de descargas de Microsoft [6]

.[]

La versión RTM (Release To Manufacturing) fue anunciada el 22 Julio de 2009. Entre los cambios que incluye

respecto a la edición anterior [7] se incluyen mejoras en las funcionalidades de virtualización, Active Directory y

capacidades de seguridad.[]

Service Pack 1

El Service Pack 1 para Windows Server 2008 R2 y Windows 7 fue anunciado el 9 de febrero de 2011 [8]. Entre los

cambios que introdujo se destacan dos nuevas funcionalidades de virtualización, RemoteFX y Dynamic Memory.

Dynamic Memory es una funcionalidad de Hyper-V que ayuda a utilizar la capacidad de la memoria física de forma

más eficiente, tratándola como un recurso compartido que puede ser relocalizado entre las máquinas virtuales que se

encuentran corriendo; ajusta la cantidad de memoria disponible para una máquina virtual, basándose en los cambios

en la demanda y en los valores que se hayan especificado. De esta manera, permite aumentar la densidad de una

máquina virtual sin perdida del desempeño ni escalabilidad.[]

Remote FX es una tecnología que introduce mejoras en la experiencia final del usuario, integrándose al Protocolo de

Escritorio Remoto (RDP). Permite virtualizar el GPU (Unidad de Procesamiento Gráfico) en el servidor, agregar

multimedia y experiencias 3D para VDI (Infraestructura de Escritorio Virtual), entre otra características.[]

Requisitos de hardware

Los requerimientos mínimos para Windows Server 2008 son los siguientes:[9]

Mínimos Recomendados

Procesador 1 GHz (x86) o 1.4 GHz (x64) 2 GHz o superior

Memoria 512 MiB RAM (podría limitarse el

rendimiento y algunas características) 2 GiB RAM o más

• Máximo (sistemas de 32-bits): 6 GiB RAM (edición Standard) ó 64 GiB RAM

(ediciones Enterprise, Datacenter)

• Máximo (sistemas de 64-bits): 32 GiB RAM (edición Standard) ó 2 TiB RAM

(ediciones Enterprise, Datacenter y para sistemas basados en Itanium)

Tarjeta gráfica Super VGA (800 x 600) Super VGA (800 x 600) o resolución mayor

Espacio libre

HDD 10 GB 50 GB o más Los equipos que dispongan de más de 16 GiB de memoria RAM

requerirán más espacio en disco para archivos de paginación y volcado.

Unidades DVD-ROM DVD-ROM o mejor

Otros

dispositivos Monitor Super VGA (800 x 600) o con resolución mayor, teclado y ratón

Page 37: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 36

Referencias

[1] http://www.microsoft.com/windowsserver2008/es/xl/r2.aspx/

[2] http://technet.microsoft.com/windowsserver/cc298325.aspx

[3] http://technet.microsoft.com/windowsserver/bb310558

[4] Clientes de 32 bits (http://windowsvistablog.com/blogs/windowsvista/archive/2007/05/18/on-64-bit-and-windows-client.aspx)

[5] Announcing Windows Essential Business Server (http://blogs.msdn.com/mssmallbiz/archive/2007/11/07/5955270.aspx)

[6] http://www.microsoft.com/downloads/details.aspx?FamilyID=85cfe4c9-34de-477c-b5ca-75edae3d57c5

[7] http://technet.microsoft.com/en-us/library/dd391932(WS.10).aspx

[8] http://technet.microsoft.com/en-us/library/ff817647(WS.10).aspx

Enlaces externos

Microsoft

• Windows Server y Windows Server 2008 R2 TechCenter (http://technet.microsoft.com/windowsserver/

default.aspx)

• Centro de Evaluación de TechNet - Descarga gratuita del trial de Windows Server 2008 R2 Service Pack 1 (http:/

/technet.microsoft.com/evalcenter)

Aprendizaje

• Carrera gratuita de Windows Server 2008 R2 en Microsoft Virtual Academy (https://www.

microsoftvirtualacademy.com/tracks/windows-server-2008-r2?o=533)

• Implementación de Windows Server 2008 R2 (http://technet.microsoft.com/es-es/edge/video/

implementando-windows-server-2008-r2-revisin-de-las-nuevas-tecnologas)

Instalación de S.O. Windows Server 2008 R2 standard

Revisar Requerimientos de Instalación

Ejecutar programa VirtualBox instalado

Preparar Hardware de equipo de cómputo para la instalación

Y ejecutar pasos que se indican durante el proceso de instalación.

Page 38: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 37

2.3 Instalación de Linux

Debian GNU/Linux

Debian GNU/Linux

Parte de la familia Linux

Captura de pantalla de Debian 6.0 'Squeeze'

Desarrollador

Proyecto [1]

Debian

debian.org [2]

Información general

Modelo de desarrollo Software libre

Lanzamiento inicial 16 de agosto de 1993

Última versión estable 7.0 (Wheezy) (info [3] )

4 de mayo de 2013

Núcleo Linux, FreeBSD, Hurd

Tipo de núcleo Monolítico, Micro

Interfaz gráfica por defecto GNOME, KDE, Xfce o LXDE

Plataformas soportadas i386, AMD64, PowerPC, SPARC, ARM, MIPS, S390, IA-64

Sistema de gestión de paquetes dpkg

Método de actualización APT (varias interfaces disponibles)

Licencia GPL con programas y componentes LGPL,BSD,MIT entre otros

Estado actual En desarrollo

Idiomas [] 65

En español

Debian GNU/Linux es un sistema operativo libre, desarrollado por más de mil voluntarios

alrededor del mundo, que colaboran a través de Internet.

La dedicación de Debian al software libre, su base de voluntarios, su naturaleza no comercial y

su modelo de desarrollo abierto la distingue de otras distribuciones del sistema operativo GNU.

Page 39: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 38

Todos estos aspectos y más se recogen en el llamado Contrato Social de Debian.

Nació en el año 1993, de la mano del proyecto Debian, con la idea de crear un sistema GNU

usando Linux como núcleo ya que el proyecto Debian, organización responsable de su

mantenimiento en la actualidad, también desarrolla sistemas GNU basados en otros núcleos

(Debian GNU/Hurd, Debian GNU/NetBSD y Debian GNU/kFreeBSD).

Uno de sus principales objetivos es separar en sus versiones el software libre del software no

libre. El modelo de desarrollo es independiente a empresas, creado por los propios usuarios,

sin depender de ninguna manera de necesidades comerciales. Debian no vende directamente

su software, lo pone a disposición de cualquiera en Internet, aunque sí permite a personas o

empresas distribuir comercialmente este software mientras se respete su licencia.

Debian Linux puede instalarse utilizando distintos mecanismos de instalación, como DVD, CD,

Blu-Ray, memorias USB y diskettes, e incluso directamente desde la red.

El proyecto Debian

El proyecto Debian fue fundado en el año 1993 por Ian Murdock, después de haber estudiado en la Universidad de Purdue. Él escribió el manifiesto de Debian que utilizó como base para la creación de la distribución Linux Debian. Dentro de este texto los puntos destacables son: mantener la distribución de manera abierta, coherente al espíritu del núcleo Linux y de GNU.

El nombre de éste se basa en la combinación del nombre de su entonces novia (posteriormente esposa) Deborah con su propio nombre Ian, formando el acrónimo Debian, pronunciado como las sílabas correspondientes de estos nombres en inglés americano: /dɛbˈiːjən/.

El proyecto creció lentamente al principio y lanzó sus primeras versiones 0.9x en 1994 y 1995. Las primeras portabilidades a otras arquitecturas fueron a comienzos de 1995, siendo la primera versión 1.x de Debian lanzada en 1996.

En 1996, Bruce Perens substituyó a Ian Murdock como el líder de proyecto. En la sugerencia del desarrollador Ean

Schuessler, él dirigió el proceso de actualización del contrato social de Debian y de las pautas del software de

Debian libremente, definiendo los puntos fundamentales para el desarrollo de la distribución. Él también

inició la creación de la licencia de software legal de la organización.

Bruce Perens se retiró en 1998, antes del

lanzamiento de la primera versión Debian

basada en glibc, bautizada como Debian

2.0. El proyecto procedió a elegir a

nuevos líderes y a hacer dos revisiones de

la versión 2.x, cada una incluyendo más

portabilidades a otras arquitecturas y más

paquetes. Coveniente fue lanzado durante

este periodo y la primera portabilidad a

un núcleo no basado en el núcleo

Linux, Debian GNU/Hurd. Las primeras

distribuciones de Linux basadas en Debian,

Corel Linux y la Stormix's Linux de

Stormix, fueron comenzadas en 1999. Aunque

estuvieron desarrolladas no por mucho tiempo, estas

distribución eran las primeras de muchas distribuciones

basadas en Debian.

Captura de Debian lenny con awesome 3.4.1 Mercury como gestor

de ventanas y con varias consolas en marcha.

Page 40: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 39

A finales de 2000, el proyecto realizó el mayor cambio a la estructura de los archivos y la organización de la

versiones, reorganizando procesos de liberación de paquetes del software con el nuevo "package tools" y creando un

rama de prueba, relativamente estable para el lanzamiento siguiente. En 2001, los desarrolladores comenzaron a

llevar a cabo una conferencia anual llamada Debconf con negociaciones y los talleres para los desarrolladores y los

usuarios técnicos.

Características

Debian se caracteriza por:

• La disponibilidad en varias arquitecturas. La versión estable incluye soporte para 12 plataformas:[4]

• i386 – x86-32

• amd64 – x86-64

• alpha – DEC Alpha

• sparc – Sun SPARC

• arm – Arquitectura ARM

• armel – Emulador de ARM Emulator

• powerpc – Arquitectura PowerPC

• ia64 – Arquitectura Intel Itanium (IA-64)

• mips, mipsel – Arquitectura MIPS (big-endian y little-endian)

• s390 – Arquitectura IBM ESA/390 y z/Architecture

• m68k – Arquitectura Motorola 68k en Amiga, Atari, Mac, y varios sistemas embebidos VME

• Una amplia colección de software disponible. La versión 5.0 viene con más de ≈ 23.000 paquetes y la versión 6.0

con casi ≈ 30.000.[]

• Un grupo de herramientas para facilitar el proceso de instalación y actualización del software (APT, Aptitude,

Dpkg, Synaptic, Dselect, etc.) Todas ellas obtienen información de donde descargar software desde

/etc/apt/sources.list, que contiene los repositorios.

• Su compromiso con los principios y valores involucrados en el movimiento del Software Libre.

• No tiene marcado ningún entorno gráfico en especial, pudiéndose no instalar ninguno, o instalar GNOME, KDE,

Xfce, LXDE, Enlightenment u otro.

Page 41: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 40

Lanzamientos

Los nombres de las versiones de

Debian Linux son tomados de la

película Toy Story. Hasta la fecha ha

habido 11 versiones estables (con sus

respectivas revisiones), siendo la actual

la 7.0 "wheezy".[]

Con su publicación,

"squeeze" pasó a ser la versión estable

antigua ("oldstable"), y la actual

versión en pruebas ("testing") se

denomina "jessie".

El desarrollo día a día tiene lugar en la

versión inestable ("unstable"), rama

que aparece codificada de forma

permanente con el nombre "sid".

Debian 5.0 "lenny" incluye el entorno

de escritorio KDE 3.5.10, una versión

actualizada del entorno de escritorio

GNOME 2.22.2, el entorno de

escritorio Xfce 4.4.2, LXDE 0.3.2.1, el

Árbol de la familia Debian GNU/Linux

escritorio GNUstep 7.3, X.Org 7.3, OpenOffice.org 2.4.1, GIMP 2.4.7, Iceweasel 3.0.6 (una versión de Mozilla

Firefox que no utiliza la marca registrada), Icedove 2.0.0.19 (una versión de Mozilla Thunderbird que no utiliza la

marca registrada), PostgreSQL 8.3.6, MySQL 5.0.51a, la colección de compiladores del GNU (GCC) 4.3.2, el núcleo

Linux versión 2.6.26, Apache 2.2.9, Samba 3.2.5, Python 2.5.2 y 2.4.6, Perl 5.10.0, PHP 5.2.6, Asterisk 1.4.21.2,

Emacs 22, Inkscape 0.46, Nagios 3.06, Xen Hypervisor 3.2.1 (con soporte tanto para dom0 como para domU),

OpenJDK 6b11 y más de otros ≈ 23.000 paquetes de programas listos para usarse (construidos a partir de 12.000

paquetes fuente).

Incluye configuración automática del sistema gráfico en la mayor parte de hardware existente, soporte completo al

sistema de ficheros NTFS, autoconfiguración de la mayor parte de las teclas multimedia, soporte para el formato de

archivos Flash de Adobe a través de los complementos swfdec o Gnash, herramientas propias para ordenadores

portátiles (como el soporte integrado del escalado de frecuencia de la CPU), entre otras características.

Color Significado

Rojo Versión antigua; no soportada

Amarillo Versión antigua; aun soportada

Verde Versión actual

Azul Versión futura

Page 42: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 41

Versión Nombre

en clave Fecha Arquitecturas Paquetes Soporte Nota

1.1 buzz 17 de junio

de 1996 1 474 1996 dpkg, transición a ELF, Linux 2.0.

1.2 rex 12 de

diciembre

de 1996

1 848 1996

1.3 bo 2 de junio

de 1997 1 974 1997

2.0 hamm 24 de julio

de 1998 2 ≈ 1.500 1998 Transición a glibc, nueva arquitectura m68k.

2.1 slink 9 de marzo

de 1999 4 ≈ 2.250 2000-12 APT, nuevas arquitecturas: alpha, sparc.

2.2 potato 15 de agosto

de 2000 6 ≈ 3.900 2003-04 Nuevas arquitecturas: arm, powerpc

3.0 woody 19 de julio

de 2002 11 ≈ 8.500 2006-08 Nuevas arquitecturas: hppa, ia64, mips, mipsel, s390

3.1 sarge 6 de junio

de 2005 11 ≈ 15.400 2008-04 Instalación modular, soporte semi-oficial para AMD64

4.0 etch 8 de abril de

2007 11 ≈ 18.000 2009-09 Instalador gráfico, transición a udev.

5.0 lenny 14 de

febrero de

2009

12 [] ≈ 23.000 TBA Nueva arquitectura: armel.

6.0 squeeze 6 de febrero

de 2011 9+2 ≈ 29.000 TBA

Nuevas arquitecturas/núcleos: kfreebsd-i386,

kfreebsd-amd64, arquitecturas abandonadas: alpha, hppa,

OABI [5]

arm []

eglibc en vez de glibc [6]

Inicio del sistema en

. . [7] [8]

paralelo. Eliminación de bibliotecas antiguas como GTK 1.

Firmware no libre eliminado de su []

kernel. 7.0 wheezy 4 de mayo

de 2013 11+2 ≈ 37.000 TBA

Eliminación de bibliotecas antiguas como Qt [9]

3.

8.0 jessie TBA TBA TBA TBA TBA

Versiones de desarrollo

Los paquetes de software en desarrollo son subidos a unas ramas llamadas inestable (unstable) y experimentales.

Normalmente, los paquetes de software son subidos a inestable por las versiones lanzadas estables por el

desarrollador original de la aplicación, pero con el empaquetado y otras modificaciones específicas de Debian

introducidas por los desarrolladores. El software que es inestable o no se encuentra listo para la rama inestable se

pone típicamente en experimental.

Page 43: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 42

Referencias

[2] http://www.debian.org

[3] http://www.debian.org/News/2013/20130504

[5] http://wiki.debian.org/ArmEabiPort#Terminology

[7] LSBInitScripts/DependencyBasedBoot - Debian Wiki

(http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot) [8] ReleaseGoals/RemoveOldLibs - Debian Wiki

(http://wiki.debian.org/ReleaseGoals/RemoveOldLibs)

[9] http://ekaia.org/blog/2011/02/07/post-and-pre-release-fun/

Enlaces externos

• Wikimedia Commons alberga contenido multimedia sobre Debian GNU/LinuxCommons.

• Wikinoticias tiene noticias relacionadas con Debian GNU/Linux.Wikinoticias

• Sitio web oficial (http://www.debian.org/)

• Sitio web oficial Live (http://live.debian.net/)

• Anuncio original en comp.os.linux.development de 1993

(http://groups.google.com/group/comp.os.linux.

development/msg/a32d4e2ef3bcdcc6?output=gplain)

• Lista de paquetes de Debian (http://packages.debian.org/stable/allpackages)

• #debian (irc://irc.debian.org/debian) en

OFTC Repositorios de terceros

• debian-multimedia.org (http://www.debian-multimedia.org)

• debian-unofficial.org (http://www.debian-unofficial.org)

• dotdeb.org (http://www.dotdeb.org)

¿Qué conocer antes de instalar un S.O.?

1. Disco Duro HD

• Direccionamiento CHS/LBA

• Tamaño de HD

• Tipos de Discos

2. Partición de HD

3. Sector de Inicio

Disco duro hd o hdd (hard disk driver)

• Es un componente de Hardware cuya función consiste en almacenar gran cantidad de información de

forma no volatil.

Page 44: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 43

• Un HD está formado por uno o varios discos superpuestos y cubiertos de material magnetizable por

ambas caras que giran a gran velocidad sobre un eje. Para guardar y recuperar datos, junto a cada cara

existe una cabeza de lectura y escritura. Las cabezas se encuentran en el extremo del soporte móvil

denominado brazo que recorre los discos de forma transversal, desde el centro hasta el exterior.

Direccionamiento CHS/LBA de HD

CHS: geometría CHS

Geometría física (cilindros, cabezas, y sectores reales del Disco)

Geometría lógica: dividir todo le espacio del Disco en base a tres números cilindros, cabezas, y sectores

lógicos. Y muestra el SO como C/H/S y no tiene por qué coincidir con la geometría física.

En esta distribución el controlador del HD traduce entre la geometría fisica y la lógica. Y cada sector

lógico tiene asignado un tamaño fijo de 512 bytes, que no necesariamente tienen que coincidir con el

tamaño del sector físico.

LBA : Logical Block Addresing – Direccionamiento de bloques lógicos.

Consiste en asignar un número secuencial a cada sector lógico del Disco. Se puede manejar hasta 228

sectores (HD de 137.4 GB), los HD actuales de mayor capacidad requieren LBA48 una variante de

hasta 2 48

Tamaño de HD

Un disco con C cilindros, H cabezas, S sectores tiene un total de C*H*S sectores y puede almacenar

C*H*S*512 bytes.

Tipos de Discos

Existen varios tipos de HD en función del tipo de bus al que se conectan como los siguientes:

IDE: -el bus de este tipo tiene un conector de 40 pines y permite la conexión de un máximo de 2

dispositivos:maestro y esclavo.

SATA: - Serial ATA

SCSI: velocidad mayor a IDE -configuración de tipo RAID.

Page 45: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 44

IDE: hasta hace relativamente poco tiempo, las placas bases comunes incluían dos buses IDE, dando cabida a

un total de 4 dispositivos (HD,o CD/DVD). En Linux los dispositivos con conector tipo IDE llamados Parallel ATA

y se referencian:

- hda: dispositivo maestro de la interfaz IDE primaria

- hdb: dispositivo esclavo de la interfaz IDE primaria

- hdc: dispositivo maestro de la interfaz IDE secundaria

- hdd: dispositivo esclavo de la interfaz IDE secundaria

SATA: - Son discos más modernos utilizan un interfaz Serial ATA o SATA con un conector especial para datos

y otro para alimentación. Es habitual encontrar en las placas bases actuales varios conectores SATA y algún

IDE. Los discos SATA, memorias USB y discos USB externos usan letras consecutivas: sda, sdb, sdc, sdd, etc.

Para identificarse. Ofrecen velocidades de transmisión y acceso comparables y facilitan configuraciones

redundantes de tipo RAID.

SCSI: sistema de almacenamiento utilizado en equipos a un nivel más profesional y ofrece velocidad mayor

que IDE, sin embargo su uso se está limitando con respecto a SATA. Las unidades se nombran en GNU/Linux: :

sda, sdb, sdc, sdd, etc.

PARTICIÓN DE HD

Particionamiento: Es el proceso consistente en organizar el espacio de un disco de forma que sea utilizable.

Una partición es una parte del espacio del disco que se gestiona de forma independiente. Se puede borrar,

organizar sin afectar el resto de las particiones, puede instalarse un sistema de Archivos distinto y un SO

diferente.

• El número, tipo y tamaño de las particiones se guarda en el HD en un sector situado al principio MBR

(Master Boot Record –registro de arranque maestro.

• Se pueden definir los siguiente tipos de Particiones:

Page 46: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 45

• Primaria: hasta 4 particiones en un mismo HD se guarda en la tabla de particiones de MBR. Hdb1,

hdb2 HDD y sda1, sda2 Memoria USB

• Extendida: Partición especial que sirve de contenedor para particiones lógicas, solo puede crearse

sustituyendo a una de las primarias, se guardan en la tabla de particiones de MBR, se referencia con

el número 1, 2,3 ó 4 según la partición primaria a la que sustituye.

• Lógica: Son las que se crean dentro de la partición extendida. Almacena las características de la

primera partición lógica, y la primera partición lógica almacena la de la segunda y así

sucesivamente. Se referencian con los números 5 y sucesivos. Todas las particiones lógicas deben

ser contiguas. Gracias a esto un HD puede tener más de 4 particiones.

SECTOR DE INICIO – boot sector – primer sector del Disco

Pueden existir los siguientes sectores de Inicio

• Sector de inicio del Disco MBR: existe un único sector por disco y se trata de un elemento muy

importante, ya que contiene unos de los primeros programas que se ejecutan cuando se enciende el

equipo, después de los programas de diagnostico grabados en la BIOS.

• Sector de inicio de cada partición: único para cada partición.

Nota: la configuración se indica en el momento de la instalación del SO Linux, cuando se

Genera el GRUB, menú de arranque de Sistemas operativos instalados en un equipo.

Instalación de S.O. GNU/linux.

Page 47: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 46

Aún cuando el proceso de instalación puede variar dependiendo de la Distribución se pueden generalizar los

siguientes pasos:

I. Selección de la Distribución: Requerimientos de HW (memoria, tipo y velocidad de procesador, HDD,

sistema gráfico), ¿hacia dónde se aplica?.

II. Medios de Instalación: adaptadas a distintas plataformas, en distintos estados de desarrollo, con

distintos gestores de ventanas, orientadas a diferentes soportes. Descargas: ISO, DVD´s completo con

métodos: Directa(HTTP,FTP), Bittorrent(P2P punto a punto)

III. Arranque desde el medio de instalación: BIOS definir la primera opción de arranque:CD/DVD, USB,

HDD extraible, tarjeta de red.

IV. Particionamiento y puntos de montaje.

V. Opciones comunes: configuración de idioma, teclado, red, zona horaria, nombre de equipo, contraseña

de root.

VI. Gestor de arranque: Lilo(LiveCD), Grub, SysLinux (FAT, CD-ROM, LiveCD):

Particionamiento y puntos de montaje:

Se requieren al menos 3 particiones:

partición raiz (/ ): instala los archivos del Sistema

partición de intercambio(swap): para realizar esta tarea en momentos puntuales de gran uso de

memoria.

Home (cuando sea utilizado por muchos usuarios).

Posibilidades de particionamiento:

Todo el Disco: el asistente dispondrá de todo el espacio del Disco para hacer las particiones.

Guiado: ofrece propuesta para redimensionar las particiones existentes a fin de poder instalar el nuevo

sistema.

Manual: deja todas las decisiones del usuario.

Pasos para realizar el particionado:

Decidir particiones necesarias (Tamaño, uso y tipo de sistemas de archivos.

Crear particiones en el espacio libre, redimensionando otras existentes para tener espacio si fuera

necesario.

Asignar un punto de montaje, especificar que carpeta a ser almacenada en cada una, donde se montaran

los sistemas de archivos existentes al iniciar el sistema operativo.

Los sistemas de archivos más comunes para linux es: ext2, ext3, ext4, proveniente de sistemas de archivos

extendidos.

Para ampliar más el tema ver manual de referencia de la página oficial del S.O. Debían http://www.debian.org.

Prácticas de laboratorio: Instalar el Sistema operativo Windows y una distribución linux

Page 48: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 47

III. Comandos Básicos de los sistemas operativos (Windows y basado

en UNIX).

Objetivo: El alumno administrará los recursos de los equipos de cómputo a través de los comandos y

procedimientos de un sistema operativo para su manejo y organización.

3.1. Sistema de Archivos y su manejo

Todas las aplicaciones de computadora necesitan almacenar y recuperar la información. Al ejecutarse un

proceso, éste puede almacenar una cantidad limitada de información dentro de su propio espacio de direcciones.

Sin embargo, la capacidad de almacenamiento queda restringida, a lo más, al tamaño del espacio de direcciones

virtuales. Para algunas aplicaciones, este tamaño es adecuado; pero para otras, como en sistemas de grandes

empresas, es demasiado pequeño.

El segundo problema relativo al almacenamiento de la información dentro del espacio de direcciones es que,

cuando el proceso termina, la información se pierde. En el caso de diversas aplicaciones (por ejemplo, bases de

datos), la información debe conservarse por semanas, meses, o aun para siempre. Desaparecer esta información

al momento de terminación del proceso es inaceptable. Además, tampoco debe desaparecer cuando la

computadora falla o el proceso muere.

Un tercer problema, en el caso de varios procesos, se requiere con frecuencia el acceso a (partes de) la

información al mismo tiempo. La forma de resolver este problema es hacer que la propia información sea

independiente de todos los procesos.

Así, tenemos tres condiciones esenciales para el almacenamiento de la información a largo plazo:

1. Debe ser posible almacenar una cantidad muy grande de información.

2. La información debe sobrevivir a la conclusión del proceso que la utiliza. 3. Debe ser posible que varios procesos tengan acceso concurrente a la información.

La solución a estos problemas es el almacenamiento de la información en discos y otros medios externos, en

unidades llamadas archivos. Los procesos podrán entonces leerlos y escribir otros nuevos, en caso necesario. La

información almacenada en los archivos debe ser persistente; es decir, no debe verse afectada por la creación y

término de un proceso. Un archivo debe desaparecer sólo en caso de su eliminación explícita por parte del

propietario.

Los archivos son administrados por el SO. Su estructura, nombre, forma de acceso, uso, protección e

implementación son temas fundamentales en el diseño de un SO. Aquella parte del SO que trabaja con los

archivos se conoce, como un todo, como el sistema de archivos.

Definición de archivo

Conjunto de datos al cuál se asigna un nombre y reside normalmente en un dispositivo de

almacenamiento secundario como un disco o cinta.

Nombre de los archivos

Page 49: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 48

Los archivos son un mecanismo de abstracción. Son una forma de almacenar información en un disco y

volver a leerla más adelante. La característica más importante de cualquier mecanismo de abstracción es

probablemente la forma de nombrar a los objetos por administrar.

Cuando un proceso crea un archivo, le da a éste un nombre. Cuando el proceso concluye, el archivo

sigue existiendo y otros procesos pueden tener acceso a él mediante su nombre.

Las reglas exactas para los nombres de archivo varían un poco de sistema a sistema, aunque los actuales

SO permiten cadenas de hasta 256 caracteres (algunos otros SO, permiten cadenas de hasta 8 letras) como

nombres de archivo. También es frecuente que se permitan dígitos y caracteres especiales.

Algunos sistemas de archivos distinguen entre las mayúsculas y las minúsculas, mientras que otros no.

UNIX está dentro de la primera categoría; MS-DOS dentro de la segunda. Así, un sistema UNIX puede tener los

siguientes archivos distintos: bárbara, Bárbara, BARBARA, BARbara y BarBaRa. En MS-DOS, todos los nombre se

refieren al mismo archivo.

Muchos SO utilizan nombres de archivo con dos partes, separadas por un punto, como en prog.c. La

parte posterior al punto es la extensión de archivo e indica por lo general algo relativo al archivo. Por ejemplo, en

MS-DOS, los nombres de archivo tienen una longitud de hasta ocho caracteres más una extensión opcional de

hasta tres caracteres. En UNIX, el tamaño de la extensión, si ésta existe, se deja al usuario; además, un archivo

puede tener incluso dos o más extensiones, como en prog.c.Z.

A continuación se muestran algunas de las extensiones de archivo más comunes basadas en el criterio

del SO MS-DOS.

Extensión Significado

file.bak Archivo de respaldo.

file.bin Programa ejecutable en binario.

file.c Programa fuente en C.

file.dat Archivo de datos.

file.doc Archivo de documento (WORD).

file.xls Archivo de hoja de cálculo (EXCEL).

file.hlp Texto para el comando HELP.

file.obj Archivo objeto (salida del compilador, que no ha sido ligada).

file.lib Biblioteca de archivos .obj utilizados por el ligador.

file.man Página de un manual en línea.

file.txt Archivo general de texto.

file.bat Archivo con instrucciones por lote.

file.tmp Archivo temporal.

En ciertos casos, las extensiones de los archivos son meras convenciones y no están forzadas de alguna

manera. Un archivo llamado file.txt es probablemente cierto tipo de archivo de texto, pero el nombre tiene más

la intención de servir de recordatorio al propietario que de proporcionar cierta información específica a la

computadora. Por otro lado, un compilador de C podría insistir en que los archivos por compilar tuvieran la

extensión .c y negarse a compilarlos en caso de que no la tuvieran.

Page 50: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 49

Convenciones como éstas son de particular utilidad si el mismo programa puede manjar varios tipos

distintos de archivos. Por ejemplo, se le puede dar al compilador de C una lista de varios archivos por compilar y

ligar, algunos de los cuales serían archivos en C y otros en lenguaje ensamblador. La extensión se convierte en

un factor esencial para indicarle al compilador el tipo de cada archivo.

Estructura de un archivo

Los archivos se pueden estructurar de varias maneras; tres de las posibilidades más comunes son:

Secuencia de bytes.

Secuencia de registros.

Árbol.

Secuencia de bytes.

El hecho de que SO considere a los archivos como una simple serie de bytes proporciona una máxima

flexibilidad. Los programas del usuario pueden colocar lo que sea dentro de los archivos y nombrarlos de la

manera que crean más conveniente. El SO no ayuda, pero tampoco estorba. Para los usuarios que deseen hacer

cosas extrañas, esto último es muy importante.

Secuencia de registros

Con el surgimiento de terminales con líneas de longitud variable, la idea de un archivo como

secuencia de registros de longitud fija está perdiendo popularidad.

1 byte

Es una serie no estructura de bytes. De hecho al SO no le interesa ni se preocupa

por el contenido de cualquier archivo. Lo único que ve son bytes; cualquier

significado debe ser impuesto por los programas a nivel usuario. Tanto UNIX como

MS-DOS utilizan este enfoque.

1

registro

Un archivo es una secuencia de registros de longitud fija, cada uno con su propia

estructura interna. Un aspecto central de la idea de utilizar archivos en forma de

secuencia de registros es el hecho de que la operación de lectura regrese un

registro y las operaciones de escritura escriban sobre o añadan un registro.

Page 51: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 50

Árbol.

Un archivo consta de un árbol de registros, los cuales no necesariamente tienen la misma longitud; cada

uno de ellos contiene un campo key (llave) en una posición fija del registro. El campo se ordena mediante este

campo, con el fin de poder realizar con rapidez la búsqueda de una llave particular.

La operación básica en este caso no es la de obtener el “siguiente” registro, sino obtener el registro con

una llave específica. Además los nuevos registros se pueden añadir al archivo en una posición adecuada del SO y

no del usuario.

Este tipo de archivo es claramente distinto de los flujos de bytes no estructurados que utilizan UNIX y

MS-DOS. Se utiliza ampliamente en las grandes computadoras mainframe, las cuales se utilizan a su vez en el

procesamiento de datos comerciales.

Tipos de archivos

Muchos SO soportan varios tipos de archivos. UNIX y MS-DOS, por ejemplo, tienen:

Archivos regulares. Son aquellos que contienen información del usuario.

Archivos en ASCII. Constan de líneas de texto. En ciertos sistemas, cada línea termina con un carácter

de retorno de carro. En otros se utiliza el carácter alimentador de línea. En ciertas ocasiones se

necesitan ambos. Las líneas no tienen que tener la misma longitud. La gran ventaja de los archivos

ASCII es que se pueden exhibir e imprimir tal cual son y pueden editarse mediante un editor de texto

común. Además, si un gran número de programas utilizan archivos en ASCII para la entrada y salida, es

fácil conectar la salida de un programa con la entrada de otro, como en las tuberías del shell. (La

exploración entre los procesos no es del todo fácil, pero la interpretación de la información sí lo es

cuando se utiliza una convención estándar, como ASCII, para expresarla.)

Archivos binarios. No son archivos en ASCII. El listado de su contenido produce una lista incomprensible

de algo que parece aleatorio y sin sentido. Por lo general, tienen cierta estructura interna.

Directorios. Son archivos de sistema para el mantenimiento de una estructura del sistema de archivos.

Archivos especiales de caracteres. Tienen relación con la Entrada/Salida y se utilizan para modelar

dispositivos seriales de E/S, tales como las terminales, impresoras y redes.

Archivos especiales de bloques. Se utilizan para modelar discos.

Acceso a un archivo

Acceso secuencial. Se leen, en orden de secuencia, todos los bytes de un registro del archivo, comenzando

desde el principio, sin poder saltarse o leerlos en otro orden. Sin embargo, pueden ser “rebobinados”, para leerlos cuantas veces fuera necesario. Son convenientes cuando el medio de almacenamiento son las cintas

magnéticas.

Acceso aleatorio. Los bytes o registros de un archivo se pueden leer en cualquier orden. Son convenientes cuando el medio de almacenamiento son los discos.

hormig

a

cochin

o

zorro

gato vaca perro chivo león búho gusano pony rata

borreg

o

gallina ibis

Page 52: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 51

En algunos de los antiguos SO de mainframe, los archivos se clasificaban en secuenciales o de acceso

aleatorio al momento de crearse. Esto permite que el SO utilice distintas técnicas de almacenamiento para las

dos clases. Los modernos SO no hacen esta distinción. Todos sus archivos son de acceso aleatorio.

Atributos de un archivo

Atributos. Elementos o características que se asocian a un archivo. La información esencial de un archivo

consta de: nombre, extensión, tamaño, y fecha/hora de creación.

Los atributos pueden ser manipulados por: el usuario, el SO y/o una aplicación. Algunos son exclusivos

de alguno de los manipuladores.

A continuación se muestran algunos de los posibles atributos de archivo.

Campo Significado

Protección Quién debe tener acceso y de qué forma.

Contraseña Contraseña necesaria para tener acceso al archivo.

Creador Identificador de la persona que creó el archivo.

Propietario Propietario actual.

Bandera exclusivo-para-lectura 0 Lectura/Escritura, 1 para lectura exclusivamente.

Bandera de ocultamiento O normal, 1 para no exhibirse en listas.

Bandera de sistema 0 archivo normal, 1 archivo de sistema.

Bandera de biblioteca 0 ya se ha respaldado, 1 necesita respaldo.

Bandera ASCII/Binario 0 archivo en ASCII, 1 archivo en binario.

Bandera de acceso aleatorio 0 sólo acceso secuencial, 1 acceso aleatorio.

Bandera temporal 0 normal, 1 eliminar al salir del proceso.

Banderas de cerradura 0 no bloqueado, distinto de cero bloqueado.

Longitud del registro Número de bytes en un registro.

Posición de la llave Ajuste de la llave dentro de cada registro.

Longitud de la llave Número de bytes en el campo llave

Tiempo de creación Fecha y hora de creación del archivo.

Tiempo del último acceso Fecha y hora del último acceso al archivo.

Tiempo de la última modificación Fecha y hora de la última modificación al archivo.

Tamaño actual Número de bytes en el archivo.

Tamaño máximo Tamaño máximo al que puede crecer el archivo.

La lista de atributos varía en forma considerable de sistema a sistema. Ninguno de los sistemas

existentes posee todas éstas, pero cada una está presente en algún sistema.

Los primeros cuatro atributos están relacionados con la protección del archivo e indican quién debe tener

acceso a ellos y quién no. Es posible todo tipo de esquemas. En ciertos sistemas, el usuario debe presentar

una contraseña para tener acceso a un archivo, en cuyo caso, la contraseña debe ser uno de los

atributos.

Las banderas son bits o campos pequeños que controlan o permiten cierta propiedad

determinada. Por ejemplo, los archivos ocultos no aparecen en el listado de todos los archivos. La

bandera de biblioteca es un bit que lleva el registro de sí el archivo se ha respaldado.

Page 53: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 52

El programa para respaldo lo desactiva y el SO lo activa al modificar un archivo. De esta

forma, el programa para respaldo puede determinar los archivos que deben respaldarse. La bandera

temporal permite que un archivo señalado para su inmediata eliminación al concluir el proceso que lo

llamó.

Los campos de la longitud del registro, posición de la llave, y longitud de la llave están

presentes en los archivos en cuyos registros se pueden hacer una búsqueda mediante una llave.

Estos campos proporcionan la información necesaria para encontrar las llaves.

Los distintos tiempos llevan un registro de la fecha de creación del último acceso y la última

modificación al archivo. Estos campos son útiles por varias razones. Por ejemplo, un archivo fuente

que ha sido modificado después de crear el correspondiente archivo objeto debe volverse a compilar.

Estos campos proporcionan la información necesaria.

El tamaño actual indica cuán grande es el archivo en el momento. Algunos SO de mianframe

necesitan que se especifique el tamaño máximo al crear un archivo, para que el SO reserve de

antemano la cantidad máxima de espacio de almacenamiento. Los sistemas de las minicomputadoras

y PC son lo bastante “astutos” para no utilizar este elemento.

Operaciones con archivos

Los archivos existen para poder almacenar la información y recuperarla más adelante. Los

distintos sistemas proporcionan diversas operaciones para permitir el almacenamiento y la

recuperación. Algunas de las llamadas más comunes al sistema relacionadas con los archivos son:

CREAR. Construir un archivo nuevo.

DESTRUIR. Eliminar un archivo.

ABRIR. Preparar un archivo para hacer referencia a él.

CERRAR. Evitar cualquier otra referencia al archivo en tanto no se le abra otra vez.

COPIAR. Crear otra versión del archivo con un nombre nuevo.

RENOMBRAR o REBAUTIZAR. Cambiar el nombre de un archivo.

LISTAR. Imprimir o exhibir el contenido de un archivo.

BUSCAR. Especificar (mediante métodos) dónde tomar los datos de un archivo.

OBTENER ATRIBUTOS. Leer los atributos de un archivo para que él(los) proceso(s)

pueda(n) realizar su trabajo con él.

ESTABLECER ATRIBUTOS. Fijar o especificar las características (atributos) de un

archivo ya existente.

Los elementos de información individuales dentro del archivo se pueden manipular con

operaciones tales como:

LEER. Introducir un elemento de información de un archivo a un proceso.

ESCRIBIR. Transferir un elemento de información de un proceso a un archivo.

MODIFICAR. Alterar un elemento de información ya existente en un archivo.

INSERTAR o AÑADIR. Añadir un nuevo elemento de información a un archivo.

ELIMINAR. Borrar un elemento de información de un archivo.

Page 54: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 53

Definición de directorio

Es un archivo de sistema que sirve para el mantenimiento de una estructura del sistema de

archivos. Llevan un registro de los archivos almacenados en la computadora.

Sistema jerárquico de directorios

Un directorio contiene por lo general varios datos, uno por archivo. Una posibilidad se muestra

a continuación:

en donde un dato contiene el nombre de un archivo, sus atributos y las direcciones en disco donde se

almacenan los datos. Otra posibilidad se muestra a continuación:

En ésta, una entrada del directorio contiene el nombre del archivo y un apuntador a otra

estructura de datos, donde se encuentran los atributos y las direcciones en disco. Ambos sistemas son

de uso común.

Al abrir un archivo, el SO busca en su directorio hasta encontrar el nombre del archivo por

abrir. Extrae entonces los atributos y direcciones en disco, ya sea en forma directa de los datos del

directorio o de la estructura de datos del directorio o de la estructura de datos a la que apunta y los

coloca en una tabla dentro de la memoria principal. Todas las referencias subsecuentes al archivo

utilizan la información de la memoria principal.

El número de directorios varía de sistema en sistema. El diseño más sencillo es aquel donde el

sistema tiene un único directorio con todos los archivos de todos los usuarios, como se muestra en la

siguiente figura:

juegos atributos

correo atributos

noticias atributos

trabajo atributos

Atributos en la entrada del directorio

juegos

correo

noticias

trabajo

Estructura de datos que contiene los atributos

Atributos en otro lugar

Un solo directorio compartido por todos los usuarios.

Directorio

Archivo

Directorio raíz

Page 55: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 54

*Si existen muchos usuarios y estos eligen los mismos nombres de archivo (por ejemplo, correo y

juegos), los conflictos y confusiones pronto hará que el sistema no puede funcionar. Este modelo de

sistema sólo se utiliza en los SO de las microcomputadoras más primitivas.

Una mejora de la idea de un solo directorio para todos los archivos es la de un directorio por

usuario, como se aprecia en la siguiente figura:

Este diseño elimina los conflictos de los nombres entre los usuarios, pero no es muy satisfactorio

para los usuarios que poseen muchos archivos. Es muy común que los usuarios deseen agrupar sus

archivos en formas lógicas. Por ejemplo, un profesor podría tener una colección de archivos para

conformar un libro que escribe como texto de cierto curso, una segunda colección de archivos con los

programas de los estudiantes de otro curso, una tercera para el código de un sistema de escritura de

un compilador avanzado que él construye, un cuarto grupo con las propuestas de apoyos económicos,

así como otros archivos para correo electrónico, las minutas de reuniones, artículos, juegos, etc. Es

necesario agrupar de alguna forma razonable todos estos archivos.

Lo que se necesita es una jerarquía general (es decir, un árbol de directorios). Con este punto

de vista, cada usuario puede tener tantos directorios como sean necesarios, de forma que los archivos

se agrupen en forma natural. Este punto de vista se muestra en la siguiente figura:

Aquí, cada uno de los directorios contenidos en el directorio raíz pertenece a un usuario

distinto, dos de los cuales han creado subdirectorios de proyectos en los que están trabajando.

Nombres de las rutas de acceso

Directorio

Archivo

Directorio raíz

Directorio del usuario

Archivos

Un directorio por usuario.

Directorio raíz

Directorio del usuario

Subdirectorios del usuario

Directorio

Archivo

Un árbol arbitrario por usuario.

Page 56: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 55

Cuando el sistema de archivos está organizado como un árbol de directorios, se necesita una

forma de determinar los nombres de los archivos. Se utilizan usualmente dos métodos. En el primero,

cada archivo tiene una ruta de acceso absoluta, la cual consta de la ruta de acceso desde el

directorio hasta el archivo. Por ejemplo, la ruta de acceso /usr/ast/mailbox indica que el directorio raíz

contiene un subdirectorio usr, el cual a su vez contiene un subdirectorio ast el cual contiene el archivo

mailbox. Los nombres absolutos siempre indican desde el directorio raíz y son únicos. En UNIX, las

componentes de la ruta de acceso están separadas por /. En MS-DOS, el separador \. No importa el

carácter que se utilice, si el primer carácter de la ruta de acceso es el separador, entonces la ruta de

acceso es absoluta.

El otro tipo de nombre es la ruta de acceso relativa. Esta se utiliza junto con el concepto de

directorio de trabajo (también llamado el directorio activo). Un usuario puede designar a un

directorio como el directorio de trabajo, en cuyo caso todos los nombres que no comiencen en el

directorio raíz se toman en relación con el directorio de trabajo. Por ejemplo, si el directorio de trabajo

es /usr/ast, entonces el archivo cuya ruta de acceso absoluta es /usr/ast/mailbox puede llamarse sólo

con mailbox. En otras palabras, el comando de UNIX

cp /usr/ast/mailbox /usr/ast/mailbox.bak

y el comando cp mailbox mailbox.bak

hacen lo mismo si el directorio de trabajo es /usr/ast. Es frecuente que la forma relativa sea más

conveniente, pero hace lo mismo que la forma absoluta.

Algunos programas necesitan tener acceso a un archivo determinado sin importar cuál sea el

directorio de trabajo. En ese caso, ellos utilizan siempre los nombres absolutos de las rutas de acceso.

Por ejemplo, un verificador ortográfico podría necesitar leer /usr/lib/dictionary para realizar su trabajo.

En este caso, debe utilizar el nombre completo o absoluto de la ruta de acceso ya que no sabe cuál

será el directorio de trabajo cuando realice la llamada. El nombre absoluto de la ruta de acceso

siempre funciona, sin importar cuál sea el directorio de trabajo.

Por supuesto, si el verificador ortográfico necesita un gran número de archivo de /usr/lib, otra

alternativa es hacer una llamada al sistema para cambiar de directorio de trabajo a /usr/lib y después

utilizar sólo dictionary como el primer parámetro de open. Al cambiar en forma explícita el directorio de

trabajo, sabe el lugar preciso del árbol de directorios donde se encuentra y entonces puede utilizar las

rutas de acceso relativas.

En muchos sistemas, cada proceso tiene su propio directorio de trabajo, de modo que cuando

un proceso cambie de directorio de trabajo y después sale de éste, ningún proceso se ve afectado y

no hay rastros del cambio en el sistema de archivos. De esta forma, es totalmente seguro el hecho de

que un proceso cambie de directorio de trabajo cuando sea conveniente. Por otro lado, si un

procedimiento de biblioteca cambia el directorio de trabajo y nop regresa a donde se encontraba al

terminar, el resto del programa podría no funcionar ya que la hipótesis de su localización no sería

válida. Por esta razón, los procedimientos de biblioteca rara vez cambian el directorio de trabajo y

cuando deben hacerlo, siempre regresan al punto donde se les llamó.

Page 57: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 56

La mayoría de los SO que soportan un sistema jerárquico de directorios tienen dos entradas

especiales en cada directorio: “.” y “..”, (“punto” y “punto-punto”). Punto indica el directorio de trabajo;

punto-punto indica su padre.

Operaciones con directorios

Las llamadas al sistema permitidas para el manejo de los directorios tienen más variación de

sistema a sistema que las relacionadas con los archivos.

CREAR. Se crea un directorio el cual está vacío excepto por punto y punto-punto, los que

se colocan en él en forma automática por el sistema.

ELIMINAR. Se elimina un directorio. Sólo se puede eliminar un directorio vacío. Un

directorio que sólo contenga punto y punto-punto se considera vacío ya que éstos por lo

general no se pueden eliminar.

ABRIR. Se pueden leer los directorios. Por ejemplo, para exhibir una lista de todos los

archivos de un directorio, un programa de listado abre el directorio para leer los nombres

de todos los archivos que contiene. Antes de poder leer un directorio, éste debe ser

abierto.

CERRAR. Cuando se ha leído un directorio, éste debe cerrarse para liberar el espacio de

la tabla interna.

LEER. Esta llamada regresa la siguiente entrada en un directorio abierto.

CAMBIAR DE NOMBRE. En muchos aspectos, los directorios son como los archivos y se

les puede cambiar el nombre al igual que éstos.

LIGAR. El ligado es una técnica que permite que un archivo aparezca es más de un

directorio. Esta llamada al sistema especifica un archivo existente y el nombre de una ruta

de acceso, además de crear un enlace del archivo ya existente con el nombre especificado

en la ruta de acceso. De esta forma, el mismo archivo puede aparecer en varios

directorios.

DESLIGAR. Se elimina una entrada del directorio. Si el archivo que se desea desligar

aparece sólo en un directorio (el caso normal), se elimina del sistema de archivos. Si está

presente en varios directorios, sólo se elimina la ruta de acceso especificada, mientras que

las demás permanecen.

La lista anterior muestra las llamadas más importantes, pero existen otras; por ejemplo, para la

administración de la información relativa a la protección asociada a un directorio.

Características de archivos/directorios

Volatilidad. Se refiere a la frecuencia con que se añade información a un archivo y se borra

de él.

Actividad. Se refiere al porcentaje de los registros de un archivo al cual se tuvo acceso

durante un período dado.

Tamaño. Se refiere a la cantidad de información almacenada en el archivo.

Page 58: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 57

El sistema de archivos

Un componente importante de cualquier SO es el sistema de archivos. El sistema de archivos

se ocupa primordialmente de administrar el espacio de almacenamiento secundario, sobre todo el

espacio en disco.

Contenido del sistema de archivos

En general, los sistemas de archivos contienen:

Métodos de acceso. Se ocupan de la forma en que se obtiene acceso a los datos

almacenados en archivos.

Administración de archivos. Se ocupa de ofrecer mecanismos para almacenar, compartir

y asegurar archivos, y hacer referencia a ellos.

Administración de almacenamiento secundario. Se ocupa de asignar espacio a los

archivos en dispositivos de almacenamiento secundario.

Mecanismos de integridad de archivos. Se ocupan de garantizar que no se corrompa la

información en un archivo. Cuando se asegura la integridad de los archivos, cualquier

información que deba estar en un archivo estará ahí; la información que no deba estar en

un archivo se mantiene fuera de él.

Funciones del sistema de archivos

Éstas son algunas de las funciones normalmente atribuidas a los sistemas de archivos:

Los usuarios deben poder crear, modificar y eliminar archivos.

Los usuarios deben ser capaces de compartir sus archivos entre sí en forma cuidadosamente

controlada para aprovechar y continuar el trabajo de los demás.

El mecanismo para compartir archivos debe ofrecer varios tipos de acceso controlado, tales

como acceso para lectura, acceso para escritura, acceso para ejecución o diversas

combinaciones de éstos.

Los usuarios deben poder dar a sus archivos la estructura más apropiada para cada aplicación.

Los usuarios deben ser capaces de ordenar la transferencia de información entre archivos.

Deben ofrecerse recursos de respaldo y recuperación para evitar ya sea la pérdida

accidental o la destrucción mal intencionada de información.

Los usuarios deben poder hacer referencia a sus archivos mediante nombres simbólicos en

vez de tener que usar nombres de dispositivos físicos (o sea, independencia con respecto

a los dispositivos).

En ambientes delicados en los cuales la información debe mantenerse segura y privada, el

sistema de archivo puede ofrecer también funciones de ciframiento y desciframiento, lo cual

hace que la información sólo resulte útil a quienes está destinada (es decir, a aquellos que

poseen claves para desciframiento).

Lo más importante de todo: el sistema de archivos debe ofrecer una interfaz amable con el

usuario. Debe proporcionar a los usuarios una vista lógica de sus datos y de las funciones

que se puedan realizar con ellos, más que una vista física. El usuario no deberá tener que

preocuparse de los dispositivos específicos en los cuales está almacenada la información, la

forma que adoptan los datos en esos dispositivos o los mecanismos físicos para transferir

datos de esos dispositivos o hacia ellos.

Page 59: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 58

El sistema de archivos de LINUX

En LINUX, todos los archivos están organizados en directorios que, a su vez, están

jerárquicamente conectados entre sí en un único sistema global de archivos. Se hace referencia a un

archivo, entonces, no sólo por su nombre, sino indicando también el lugar que ocupa dentro de esta

estructura de archivos. Puede crear tantos directorios como quiera, añadiendo así más directorios a la

estructura de archivos. Las órdenes para el manejo de archivos de LINUX pueden efectuar

operaciones sofisticadas, como desplazar o copiar directorios completos junto con todos sus

subdirectorios. como se muestra en las siguiente figura:

Linux maneja el Sistema de archivos : File System hierarchy standard – Estructura jerárquica del Sistema

de archivos

Este es un estándar que con mayor o menor rigor siguen la mayoría de las distribuciones GNU/Linux y algunos

otros sistemas operativos basados en UNIX.

Algunas de sus principales características son:

Todo está organizado en una única estructura de directorios. Todo está dentro del directorio raíz,

representado por el signo '/'. Dentro de / está representado todo el sistema, los directorios y archivos

presentes en los discos duros y demás dispositivos de almacenamiento montados, todo el hardware de

la computadora, todos los procesos en ejecución, etc...

Cada cosa en su sitio y un sitio para cada cosa. Todos los directorios tienen una finalidad concreta,

todos los contenidos tienen una ubicación predeterminada según su naturaleza y función.

Page 60: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 59

Directorios del Sistema LINUX

Page 61: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 60

Este estándar consiste en un conjunto de requerimientos y orientaciones para la ubicación de directorios y

archivos bajo los S.O. De la familia UNIX. Estas orientaciones tienen como objetivo soportar la interoperabilidad

de las aplicaciones, herramientas de administración de sistema, herramientas de desarrollo y guiones, y también

la mayor uniformidad de la documentación para estos sistemas.

Prácticas de laboratorio: Analizar el Sistema de Archivos de sistemas operativos Windows y Linux

Page 62: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 61

3.2. Comandos básicos

Comando (inglés command)

Es una instrucción o mandato que el usuario proporciona al sistema, desde la línea de comandos o una llamada a

programa, el cual generalmente está contenido en un archivo ejecutable.

Los comandos pueden admitir parámetros de entrada, los cuales normalmente se indican tras un guión simple "-

" o doble "--" (sistemas operativos Linux/Unix).

Los comandos del sistema se dividen en internos y externos

Es muy importante respetar los espacios y símbolos que se usan.

Comandos Internos

Son instrucciones que puede ejecutar el propio intérprete, es decir, son instrucciones que el propio

interprete ejecuta, directamente o haciendo una llamada al sistema operativo.

Ejemplos: cd, help, pwd, history, exit y logout, date, time

ls, cp, mv, rm, ln, mkdir, rmdir, cat, man, etc

Comandos externos

Son comandos que no reconoce el intérprete y que para su ejecución hay que localizar el ejecutable

correspondiente en el disco, o los discos, del sistema.

Para ello, el intérprete recorre todos los directorios del la variable PATH. Es decir, son ejecutables que se

encuentran en el disco de la computadora.

Ejemplo:

../ejecutame.exe

Comandos Básicos

Comando: banner

Formato: banner [-wn] mensaje

Descripción: muestra o imprime mensajes en letras grandes y los escribe en la salida estándar. Si el mensaje

es omitido, leerá en la entrada estándar. Para imprimir dos palabras separadas por un espacio, es necesario

colocarlos entre comillas. Con la opción –w, la salida es reducida a una anchura entre 132 y n, siendo n 80 por

defecto.

Ejemplos: $ banner EAT ***** * *****

W * * * *

*** * * * *

* * * *

***** * * *

$ banner “Hola” “que tal”

Page 63: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 62

La orden banner formara líneas separadas en su salida apoyándose inteligentemente en las

fronteras de palabras individuales para mantener la visualización en pantalla relativamente sensata.

Se utiliza a menudo en funciones de salida tales como los spoolers de impresión para visualizar

diferentes tipos de información.

Comando: date

Formato: date [-u] [+FORMAT] [MMDDhhmm] [[CC]YY] [.ss]

Descripción: Imprime y establece la fecha. Visualizará la fecha y hora actual tal como es conocida

por la máquina. No especificando ningún argumento o si el argumento comienza con +, imprimirá la

fecha y la hora; caso contrario, se registra o establece la fecha. La especificación de un formato

consiste en una cadena entre comillas. Los campos particulares vienen representados entre signos de

porcentaje (%) seguidos por una letra de código.

Los descriptores de campo son:

%% Literal %.

%a Establece abreviatura para los días de la semana (Sat...Sun).

%A Asigna nombre completo a los días de la semana (Saturday...Sunday).

%b Establece abreviatura a los meses (Jan...Dec).

%B Asigna nombre completo a los meses (January...December).

%c Fija fecha y hora de la forma (Sun Dec 08 08:03:30 EST 2002).

%d Día del mes (01...31).

%D Fecha (mm/dd/yy).

%h Igual que %b.

%H Horas de 00 a 23.

%I Horas de 01 a 12.

%j Día del año 001 a 365.

%k Horas de 0 a 23.

%l Horas de 1 a 12.

%m Mes de 01 a 12.

%M Minutos de 00 a 59.

%n Nueva línea.

%p Fija AM o PM.

%r Hora en notación AM/PM.

%S Segundos de 00 a 59.

%t Inserta carácter de tabulación horizontal.

%w Día de la semana (de domingo a sábado)

%x Establece la representación de fecha como mm/dd/yy.

%X Establece la representación de hora como %H:%M:%S.

%y Sólo año.

Las opciones son:

-u Asigna el tiempo y la fecha en coordenadas universales.

MM Mes.

Page 64: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 63

DD Día del mes.

hh Hora.

mm Minutos.

CC Primeros dos dígitos del año (siglo).

yy Últimos dos dígitos del año.

.ss Segundos.

Nota: Sólo el superusuario (administrador del sistema) puede fijar o cambiar el sistema horario.

Ejemplos:

$ date Wed Jun 10 18:50:06 EDT 2002

$ date +%m 06

$ date + ‘Mes: %m%nDía: %d%nHora: %T’ Mes: 09 Día: 10 Hora: 19:02:58

norma@debian:~$ date +%x

29/05/13 norma@debian:~$ date +%X 18:57:14 norma@debian:~$ date +%y 13 norma@debian:~$ date +%m 05 norma@debian:~$ date mié may 29 18:58:59 CDT 2013 norma@debian:~$ date +%c mié 29 may 2013 18:54:37 CDT norma@debian:~$ date +%D 05/29/13 norma@debian:~$ date +%c mié 29 may 2013 18:54:37 CDT

Las ordenes de date especialmente construidas se utilizan con frecuencia en guiones shell para producir una

visualización o para asignarlas, a variables del entorno. date también se utiliza a menudo para poner una

estampación (marca) de tiempo a un trabajo.

Comando: echo

Formato: echo [-ne] [argumento(s)]

Descripción: Regresa cualquier cosa que haya escrito después de echo. Escribe los argumentos por la

salida estándar, separados por espacios en blanco y terminado(s) por una nueva línea. echo reconoce

algunas anotaciones especiales:

\b Caracter de retroceso o retroceder un caracter.

\c Escbir la línea sin nueva línea.

\f Salto de página o cambio de hoja.

\n Cambio de línea o salto de línea.

\r Retorno de carro.

\t Caracter de tabulación o tabulador horizontal.

\\ Barra invertida o barra inclinada hacia la izquierda.

\v Caracter de tabulación vertical.

-e Habilita la interpretación de caracteres especiales marcados por la barra inclinada hacia la

izquierda.

Page 65: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 64

-n Elimina el salto de línea final.

Ejemplos:

Ejemplos:

$ echo Estoy en la clase de SO

Estoy en la clase de SO

$ SALUDO=“hola tic-34” variable de entorno

$ PREGUNTA=“¿Como están?”

$echo $SALUDO $PREGUNTA

hola tic-34 ¿Como están?

echo se utiliza para visualizar cadenas arbitrarias en la terminal y también para visualizar el contenido de

variables de entorno.

Comando: logout

Finalizar sesión.

Comando: exit

Formato: exit

Descripción: Indica que se ha terminado la sesión y libera a la terminal para ser utilizada por alguien más o

para ingresar con un identificador distinto. La terminación o despedida impide que gente extraña utilice la

terminal y el identificador para provocar perjuicios potenciales.

Comando: man

Formato: man [comando]

Descripción: Localiza y muestra la(s) página(s) del manual del comando especificado.

Ejemplo: man date

El manual en línea man contiene páginas del manual para cada comando y otras páginas

acerca de las funciones internas que los progrmadores utilizan, formatos para diferentes tipos de

sistema de archivo, descripciones de hardware que puede conectarse a su SO.

Comando:help

Muestra la ayuda de bash, la lista de comandos disponibles y su sintaxis.

Ejemplo: who --help

id –help

Page 66: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 65

……

Comando: passwd

Formato: passwd [nombre del usuario]

Descripción: Cambia la contraseña del usuario (password), siempre que ya se haya registrado. Una

contraseña sólo puede ser cambiada por el propietario de la misma, passwd pedirá que escriba la

contraseña actual para probar que aún es la misma persona que cuando se llevo a cabo el registro.

Posteriormente el programa. passwd pide la nueva contraseña dos veces para asegurarse de que sea

correcta. Si se ha introducido la misma contraseña las dos veces, la orden passwd cambiará la idea de

que el sistema tiene la contraseña y regresará luego al shell de la forma usual para aceptar la

siguiente orden. Si se comete un error, el programa passwd acabará volviendo al shell para que se

pueda intentar de nuevo. Si se cancela la ejecución del comando passwd, acabará dejando la vieja

contraseña todavía en activo. Si olvidara la contraseña, no hay manera de recuperarla, ni aún el

administrador del sistema puede hacerlo. Puede asignarle una nueva. El administrador del sistema

podrá crear una contraseña nula o variar las contraseñas de los distintos usuarios.

Sugerencias para escribir una contraseña:

Debe contener entre 6 y 8 caracteres. Debe contener, al menos, un dígito (0-9). Intercale dígitos, caracteres en minúscula y caracteres en mayúscula (LINUX distingue (son

diferentes) mayúsculas de minúsculas). Escriba una contraseña que sea fácil de recordar, sin necesidad de anotarla en alguna

parte, y que no sea predecible.

Comando: shutdown

Formato: /bin/shutdown [-t segundos] [-rkhncf] tiempo [mensaje]

Descripción: Termina todos los procesos que se estén ejecutando en el sistema de manera

ordenada. Cierra el sistema, parando todas las conexiones y esperando antes de detenerse mientras

lanza mensajes de aviso. Cuando se especifica una hora, el cierre se realizará a la hora indicada. Sólo

el superusuario o un usuario con autorización pueden ejecutar la orden shutdown.

Las opciones son:

-t segundos Espera los segundos dados entre el mensaje de atención y las señales de finalización

de shutdown.

-k Manda el mensaje de aviso pero no cierra realmente el sistema.

-r Reinicia después de cerrar.

-n No sincroniza antes el reseteo.

-f Resetea sin comprobación de los archivos de sistema.

-c Cancela un shutdown que se está ejecutando.

-h Se detiene después de hacer el shutdown.

mensaje Envía el mensaje a todos los usuarios.

Page 67: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 66

tiempo El argumento tiempo puede tener diferentes formatos; formato de tiempo absoluto en la forma

hh:mm, donde hh es la hora con uno o dos dígitos, y mm minutos con dos dígitos.

Podrá utilizar el formato +m, donde m es el número de minutos en tiempo de espera. Tenga en

cuenta la palabra now como alias de +0.

Ejemplos: shutdown –h +10

El sistema se cierra al cabo de 10 minutos.

shutdown –r now

Cierra el sistema inmediatamente y después lo vuelve a arrancar.

shutdown –h +5 “El sistema necesita un descanso”

Advierte a los usuarios del cierre del sistema para darles tiempo a terminar lo que estén

haciendo.

#shutdown –h +10

El sistema se cierra en 10 minutos.

reinicia en 5 minutos y va enviando mensaje de minutos restantes para apagar equipo.

root@debian:/home/norma# shutdown +5

Broadcast message from root@debian (pts/0) (Fri May 31 18:02:56 2013):

The system is going DOWN to maintenance mode in 5 minutes!

The system is going DOWN to maintenance mode in 4 minutes!

The system is going DOWN to maintenance mode in 3 minutes!

The system is going DOWN to maintenance mode in 2 minutes!

The system is going DOWN to maintenance mode in 4 minutes!

El comando shutdown forma parte del procedimiento de desconexión, que tiene como finalidad

mantener la sanidad del sistema cuando se arranque de nuevo. shutdown trata de evitar que los

procesos en ejecución no se vean afectados o alterados por la caída o desconexión del sistema.

Comando: who

Formato: who [opciones] [archivo]

who am i

Descripción: Informa sobre quién está en el sistema. Lista el nombre de conexión, el nombre de la

terminal y el momento de conexión para cada usuario conectado al sistema LINUX. También puede

escribir who am i y sólo se imprimirá la línea de la terminal en la cual se escribió el comando.

Las opciones son:

-m Igual que who am i.

-q Nombre de los usuarios y número de ellos conectados al sistema.

-s Ignorado. Compatibilidad con otras versiones who.

-i Muestra el número de horas y minutos que un usuario ha estado inactivo. El carácter “.”

significa que el usuario ha estado inactivo menos de un minuto, y el término old, más de 24 horas.-u

Igual que –i.

Ejemplos: who –q

Page 68: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 67

who am i

El comando who se ocupa para saber quien se encuentra en el sistema con la finalidad de:

mandar mensajes, conocer la carga del sistema o para verificar la actividad en el sistema antes de su

cierre.

Comando: id

Formato: id [opciones]

Descripción: Muestra información sobre la identificación dentro del sistema del usuario que ejecuta el

comando. La información que facilite consiste en nombre de usuario, UID, nombre de grupo y GID.

Las opciones son:

-g

-n

-r

-q

Muestra sólo el identificador de usuario.

Muestra sólo el nombre de usuario o de grupo, es necesario en combinación con –u o –g.

Muestra UID y GID reales en lugar de efectivos, es necesario en combinación con –u o –g.

Muestra sólo la identificación de usuario.

Comando: time

Formato: time comando

Descripción: Facilita la información de tiempo que consume un comando. La información que nos

facilita es de tres tipos: tiempo real que transcurre desde que lanza el comando hasta que termina,

tiempo de usuario que es el tiempo que realmente a utilizado de CPU y por último, tiempo de sistema

que es el tiempo consumido en peticiones al sistema.

Las opciones son:

comando Comando que se quiere medir.

Ejemplo:

time ls –s /

Medirá el tiempo que tarde en ejecutarse un ls –l de todo el sistema de archivos.

Comando: cal

Formato: cal [-j] [-y] [mes] [año]

Descripción: Muestra en pantalla el calendario del año indicado, o del mes indicado.

Las opciones son:

-j

-y

mes

año

Las fechas se muestran en formato juliano enumerando los días de forma consecutiva desde el

1 de enero.

Muestra el calendario del año actual.

Sirve para especificar el mes que queremos ver, se puede indicar tanto por número del 1 al 12

como por su nombre en inglés. Por defecto el valor es el del mes actual.

Especifica el año que se quiere visualizar, de año 1 a año 9999. Los años han de ser

especificados con su número completo.

Page 69: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 68

Ejemplos:

cal

Muestra en pantalla el calendario del mes actual.

cal 4 1974

Muestra el calendario de abril de 1974.

cal 2010

Muestra el calendario del año 2010.

Comando: clear

Formato: clear

Descripción: Borra la pantalla completamente de la terminal en la que se este trabajando.

Comando: finger

Formato: finger [opciones] usuarios

Descripción: Este comando se utiliza para obtener información sobre los usuarios del sistema,

muestra toda la información referente a un usuario que hay registrada en el sistema. Si solo se invoca

el comando sin ninguna opción ni nombre de usuario nos da información referente a los usuarios

actualmente conectados al sistema. Podemos pedir información sobre usuarios de otras

computadoras conectadas en red poniendo:

[email protected].

Las opciones son:

-s

-l

-p

usuarios

Da diversa información sobre los usuarios.

Muestra la misma información que la opción –s pero en formato de líneas y además nos

muestra los contenidos de los ficheros .plan y .project, si éstos existen, del directorio home

del usuario.

Impide que la opción –l muestre el contenido de los archivos .plan y .project.

Se da una lista de usuarios sobre los que se demanda la información.

Ejemplo:

finger psanchez

Nos devolverá la información almacenada referente al usuario psanchez.

Comando: logname

Formato: logname

Descripción: Muestra el nombre de usuario con el que entró en el sistema el usuario que lo invoca.

Prácticas de laboratorio: Analizar y ejecutar comandos básicos en sistemas operativos Linux

Page 70: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 69

Comandos sobre la estructura de directorios (mkdir, rmdir, pwd, cd).

Comando: mkdir

Formato: mkdir [opciones] directorio

Descripción: Crea directorios.

Las opciones son:

-m modo

-p

directorio

Establece los permisos facilitados en modo del directorio en su creación.

Crea los directorios padres necesarios si no existen.

Directorio que se quiere crear.

Ejemplos:

mkdir –p /home/juan/documentos/cartas

Crea el directorio cartas y todos los directorios anteriores necesarios.

Comando: rmdir

Formato: rmdir directorio

Descripción: Borra el directorio especificado.

Ejemplos:

rmdir cartas

Comando: pwd

Formato: pwd

Descripción: Informa sobre cuál es el directorio actual en el que nos encontramos, no tiene ningún

tipo de parámetro.

Comando: cd

Formato: cd nombre_del_directorio

Descripción: Cambia del directorio actual al indicado en nombre_del_directorio. Éste puede ser

cualquier directorio del sistema. Si no se indica ningún directorio cambiara al directorio raíz del usuario

que lo invoca. Admite los directorios . y .. correspondientes al actual y al padre del actual para indicar

los caminos relativos al directorio destino.

Ejemplos:

Comandos para el tratamiento de archivos (ls, cat, rm, cp, mv, ln, more)

Comando: ls

Formato: ls [opciones] archivos

Descripción: Lista los archivos indicados mostrando información sobre ellos. Si no se pasa como

parámetro ningún nombre de archivo, lista los archivos del directorio actual.

Las opciones son:

Page 71: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 70

-a

-C

--color

-x

-d

-k

-l

-t

-u

-r

-R

-i

-F

archivos

Muestra todos los archivos del directorio actual incluyendo los archivos ocultos, que en

LINUX son los que comienza su nombre por punto.

Muestra la lista de archivos en formato de columnas.

Muestra la lista de archivos en colores según el tipo de archivo.

Muestra la lista de archivos en formato de columnas ordenada por columnas.

Muestra los directorios como archivos en lugar de mostrar sus contenidos.

Muestra los tamaños de los archivos en kilobytes.

Lista de forma extensa los archivos, con información como derechos propietarios, fecha

de creación y tamaño.

Muestra ordenando por la fecha de la última modificación.

Muestra ordenando por la fecha del último acceso.

Muestra ordenando pero de forma inversa.

Lista el contenido de los subdirectorios recursivamente.

Muestra el numero de inodo de cada archivo.

Formatea la salida poniendo símbolos para diferenciar entre los distintos tipos de

archivos.

Lista de archivos que se quiere listar, sobre todo la utilidad de este parámetro es usando

los caracteres comodín ? y *.

Ejemplos:

ls –l

Muestra los archivos del directorio actual con el formato extendido dando toda la

información.

ls –la *.c Muestra todos los archivos en formato extenso cuyo nombre termine en

.c y que comiencen por cualquier cadena de carácter, mostrará también los que se consideran ocultos,

que comprenden por .., y cumplan en resto de las condiciones.

Caracteres comodín y argumentos que son nombres de archivo.

Carácter comodín. Es un carácter especial que actúa como cualquier carácter en nombres de

archivos o comandos.

Los nombres de archivo son los argumentos más comunes en las ordenes. Es frecuente que

solo sepa una parte del nombre del archivo, o tal vez le interese hacer referencia a varios nombres de

archivo que tienen la misma extensión o que comienzan con el mismo carácter. El shell proporciona

un conjunto de caracteres especiales que buscan, hacen coincidir y generan una lista de nombres de

archivo. Estos caracteres especiales o comodín son * y ? y los [ ]. Dado el nombre parcial de un

archivo, el shell usa estos operadores de coincidencia para buscar archivos y generar una lista con los

nombres de archivo encontrados.

El shell reemplaza el argumento del nombre parcial de archivo con la lista de nombres de

archivos que hacen coincidencia. Esta lista de nombres de archivo puede entonces convertirse en los

argumentos de órdenes tales como ls, que pueden operar sobre muchos archivos.

Page 72: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 71

Caracteres

comodín

Ejecución

*

?

[ ]

\

Equivale a cualquier conjunto de caracteres de nombres de archivos.

Coincide con un solo carácter cualquiera de nombres de archivo.

Coincide con una clase de posibles caracteres de nombres de archivo.

Delimita el carácter siguiente: se usa para delimitar caracteres comodín.

Ejemplos de uso de los caracteres comodines:

$ ls

doc1 doc2 doc3 doc4 docA docB docD docs document answers? lib.a mydocs anwers?.quiz monday

tuesday answers?.mid main.c mylock main.o calc.c sydoc1 answers?.final

$ ls doc*

doc1 doc2 doc3 doc4 docA docB docD docs document

$ls *day

monday tuesday

$ ls *.c

calc.c main.c

$ls doc?

doc1 doc2 doc3 doc4 docA docB docD docs

$ls ?y?oc?

mydocs mylock sydoc1

$ls *.?

calc.c lib.a

$ls doc[1As]

doc1 docA docs

$ls doc[1-3]

doc1 doc2 doc3

$ls doc[B-G]

docB docD

$ls *.[co]

main.c main.o calc.c

$ls answers\?

answers?

$ls answers\?.*

answers? answers?.quiz answers?.mid answers?.

Prácticas de laboratorio: Analizar y ejecutar comandos sobre la estructura de directorios en sistemas

operativos Linux

Page 73: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 72

Comandos Básicos para el manejo de Archivos

Comando: cat

Formato: cat [opciones] archivos

Descripción: Concatena la lista de archivos que se le facilita en la salida estándar. Si sólo se le indica

un archivo, lo muestra. Si se le indica, lo crea con el contenido que se escriba en la entrada estándar

finalizando con [Ctrl] [d] para grabar o [Ctrl] [c] para salir sin grabar.

Las opciones son:

archivos

-b

-n

-s

-V

-E

-T

Lista de archivos a concatenar.

Numera las líneas que no estén en blanco.

Numera todas las líneas aunque estén en blanco.

Elimina varias líneas en blanco consecutivas sustituyéndolas por una sola.

Muestra los caracteres de control excepto final de línea y tabuladores.

Muestra el carácter $ al final de cada línea.

Muestra los caracteres de control de los tabuladores.

Ejemplos:

Comando: rm

Formato: rm [opciones] archivos

Descripción: Elimina archivos y directorios del sistema de ficheros. Se utiliza tanto para borrar

archivos, enlaces y directorios. Para eliminar directorios es necesaria la opción –r. Hay que tener

mucho cuidado con la utilización de este comando pues sus acciones son irreparables.

Las opciones son:

-f

-i

-r

-v

archivos

Por defecto rm pide confirmación antes de borrar, con esta opción forzamos la operación

sin pedir confirmación.

Activa el modo interactivo para solicitar confirmación antes de borrar, este modo esta por

defecto.

Opción para borrar los directorios y su contenido, es necesaria para borrarlos.

Muestra el nombre de los archivos antes de borrarlos.

Lista de archivos que se quiere eliminar.

Ejemplos:

rm *

Borra todos los archivos del directorio actual pidiendo permiso para cada archivo que va

a borrar.

rm –rf a*

Borra todos los archivos y directorios del directorio actual cuyo nombre empiece por a.

Page 74: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 73

Comando: cp

Formato: cp [opciones] fuente destino

Descripción: Copia archivos y directorios. Copiará fuente a destino, fuente puede ser una lista de

archivos que copiará a un directorio indicado en destino. También puede copiar un archivo sobre otro

archivo.

Las opciones son:

-a

-b

-d

-f

-i

-l

-p

-r

-R

-s

-u

-v

-x

Conserva los atributos y estructuras del origen en la copia.

Hace copias de seguridad de archivos que van a ser sobrescritos o borrados.

Al copiar los enlaces simbólicos los mantiene como tales en lugar de copiar los ficheros a los

que apuntan, y preserva las relaciones de las ligaduras físicas entre archivos fuente en las

copias.

Borrar archivos destino existentes.

Interroga sobre si sobrescribir ficheros destino existentes.

En lugar de hacer copiar archivos que no son directorios, crea ligaduras físicas.

Preserva los permisos, el propietario y el grupo, así como los SUID Y SGID, además también

conserva el tiempo de última modificación y de último acceso.

Copia directorios recursivamente descendiendo en su árbol de directorios hijos. Es la opción

que se debe indicar si se pretende copiar un directorio.

Hace enlaces simbólicos en vez de copias de archivos que no sean directorios. Todos los

nombres de archivos origen deben ser absolutos (empezar por ‘/’) a menos que los archivos de

destino estén en el directorio de trabajo. Esta opción simplemente produce un mensaje de error

en sistemas que no admitan enlaces simbólicos.

No copia un archivo no-directorio si el destino ya existe y tiene el mismo tiempo de modificación

o más reciente.

Muestra el nombre de cada archivo antes de copiarlo.

Se salta subdirectorios que estén en sistemas de archivos diferentes de aquél en el que empezó

la copia.

Ejemplos:

cp –R */tmp

Copia el contenido del directorio actual así como sus subdirectorios de forma recursiva

al directorio /tmp.

cp –a *.txt /home/jgarcía

Copia todos los archivos *.txt del directorio actual al directorio /home/jgarcía

conservando los mismos permisos que los archivos originales.

cp /usr/bin/joe

Copia el archivo joe del directorio /usr/bin al directorio actual.

Page 75: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 74

Comando: mv

Formato: mv [opciones] origen destino

Descripción: Mueve archivos y directorios. El comando en sí lo que realiza es la copia del origen en

el destino y el borrado del origen. También es el comando que se utiliza para renombrado de archivos

y directorios por ser similar el efecto que se produce.

Las opciones son:

-f

-i

origen

destino

Por defecto mv pregunta antes de borrar algo, con esta opción eliminamos esta

confirmación.

Con esta opción mv pregunta antes de borrar algo, está opción está por defecto.

Archivo que se quiere mover. Se puede dar también una lista de archivos origen que

serán movidos con su mismo nombre en un directorio que se dará como destino.

Nombre del destino. Si se ha dado una lista de archivos origen el destino tendrá que ser

un directorio.

Ejemplos:

mv carta.txt carta.doc

Cambia de nombre el archivo carta.txt a carta.doc.

Comando: ln

Formato: ln [-s] origen destino

Descripción: Crea un enlace a un archivo, con el fin de poder acceder a un archivo con más de un

nombre. Se pueden utilizar estos enlaces para copiar archivos sin ocupar espacio en disco. Podemos

tener dos tipos de enlaces, los simbólicos y los fijos. Los enlaces fijos o ligaduras físicas crean una

nueva entrada en el directorio pero no crean un nuevo inodo, sino que a esa nueva entrada se le

asigna en número de inodo de origen. Las ligaduras simbólicas crean un fichero especial cuyo

contenido es origen.

La opciones son:

-s

origen

destino

Crea un enlace simbólico.

Archivo al que se quiere crear un enlace de ligadura. Se puede dar también una lista de

archivos origen que serán enlazados con su mismo nombre en un directorio que se dará

como destino.

Nombre del enlace que se quiere crear y después de la creación del enlace y que tras la

creación del enlace se podrá utilizar para referirse al archivo origen. Si se ha dado una lista

de archivos origen, el destino tendrá que ser un directorio.

Ejemplos:

ln –s documento.txt trabajo.txt

Crea un enlace simbólico o ligadura simbólica del archivo documento.txt en el enlace

trabajo.txt.

Page 76: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 75

Comando: more

Formato: more [opciones] archivos

Descripción: Se utiliza para paginar texto que no cabe en la pantalla y, por tanto, se desplaza sin

poderlo ver. Se utiliza a través de un redireccionamiento o una pipe para formatear el resultado de otro

comando como cat o ls.

Las opciones son:

-n

-c

-q

-s

Establece el tamaño de las páginas que muestra a n líneas.

Cambia el formato en que muestra las páginas en la pantalla, escribiendo las líneas una a una y

desplazando.

Cambia el aviso por omisión para el desplazamiento de las páginas.

Supone varias líneas en blanco consecutivas y las cambia por una sola.

Comandos más útiles de more.

Comandos básicos.

h Despliega información de ayuda.

Espacio Despliega la pantalla siguiente

q Para salir del programa

Comandos avanzados.

Retorno Para avanzar un renglón.

n Retornos Para avanzar n renglones

d Para avanzar (hacia abajo) media pantalla.

u Para retroceder (hacia arriba) media pantalla.

nf Para avanzar n pantallas.

b Para retroceder una pantalla.

nb Para retroceder n pantallas.

v Arranca el editor vi usando el archivo el archivo que sé este exhibiendo.

/modelo Busca el modelo especificado, hacia abajo.

n Repite el comando de búsqueda anterior.

comando Ejecuta el comando del intérprete de comandos especificado.

= Despliega el número de renglón en uso.

. Repite el comando anterior.

No oprimir Retorno después de ningún comando, excepto de / y

Ejemplos:

ls –l | more

Lista los archivos del directorio actual y se los pasa al comando more para que lo

pagine y lo muestre página a página.

Page 77: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 76

Comando: pg

Formato: pg [-acefnst] [-p indicador] [-n] [+n] [+/patrón] [archivo ...]

Descripción: Despliega el contenido de los archivos que se especifiquen. Los datos se despliegan

pantalla por pantalla; pg despliega el contenido de cada archivo mencionado en la línea de comando.

Si no sea especificado ningún archivo en la línea de comando, pg despliega la entrada estándar.

Existe cierto número de opciones que se pueden utilizar al momento de arrancar pg estas son:

-n Ajusta el tamaño de la ventana (en otras palabras, la cantidad de líneas

desplegada en cada interacción) al número de líneas indicado. Cuando está

opción no está presente, el tamaño de ventana por omisión es una línea menos

que la cantidad de líneas de la pantalla.

-p indicador Despliega un indicador al final de cada pantalla de texto. La opción –p ajusta este

indicador a la cadena de indicador. El indicador por omisión es : (dos puntos).

-a Obliga a pg a trabajar en modo ANSI. Este medio de desplegado puede ser más

portable a las máquinas que no sean compatibles con la PC.

-c Borra la pantalla antes de imprimir cada nueva pantalla de texto.

-e Elimina el indicador (EOF): al final de cada archivo.

-f Por lo general, las líneas más largas que el ancho de la pantalla son dobladas en

varias líneas. –f le dice a pg que no doble las líneas de esta forma.

-n Por lo general, cuando se da un comando mientras se lee un archivo, se debe

oprimir Enter al final de cada comando. Sin embargo, si se especifica la opción –n

en la línea de comando no se tiene que oprimir Enter para la mayoría de los

comandos, ya que pg lo ejecuta inmediatamente cuando reciba el carácter de

comando.

-s Despliega todos los indicadores de comandos interactivos en forma tal que

destacan en la pantalla (lo más frecuente es en video inverso).

-t Por lo general, pg le permite moverse hacia atrás y hacia delante cuando está

leyendo un archivo. Sin embargo con algunos tipos de archivos de entrada (por

ejemplo, entubación) no hay forma directa de regresar a una parte anterior del

texto. Para hacer posible el regreso, pg guarda la entrada de tal tipo de fuentes en

un archivo temporal. Dentro de este archivo temporal se puede ir hacia delante,

incluso cuando no es posible hacerlo con la fuente original.

-t Le dice a pg que no guarde tal entrada en archivo temporal. Esto le ahorra tiempo

y espacio de disco. Sin embargo, significa que no se puede regresar y leer el texto

que haya desaparecido de la pantalla.

+n Inicia la impresión en línea número n del primer archivo. El valor por omisión es

comenzar la impresión en la línea 1.

+/patron/ Inicia la impresión en la línea que contenga la primera aparición de la expresión

regular de patrón.

Page 78: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 77

Dependiendo de las opciones que se especifiquen en la línea de comando, pg hace pausas en

varios puntos al ir leyendo el archivo. Hace pausa entre ventanas de texto (pantallas completas), al

final de cada archivo y antes de comenzar cualquier otro archivo, a excepción del primero. En estas

pausas pg le permite dar comandos para indicar lo que se hará después.

Por lo general, simplemente se oprime Enter o la barra espaciadora cuando pg hace pausa.

Esto le dice a pg que despliegue la siguiente pantalla de texto. Si se quiere una acción diferente se

pueden teclear algunos de los siguientes comandos:

Comandos Descripción.

H Despliega información de ayuda.

Retorno Despliega la pantalla siguiente.

Q Para salir del programa

Q Lo mismo que Q.

Nl Para ir al renglón n.

1 Para ir al renglón siguiente.

+n1 Avanza n renglones.

-n1 Retrocede n renglones.

D Avanza (hacia abajo) media pantalla.

-d Retrocede (hacia arriba) media pantalla.

Ctrl-D Lo mismo que d.

L Va al primer renglón de datos.

s archivo Guarda en archivo el contenido completo de archivo que se está viendo. Se debe

oprimir Enter al final de la línea, aunque se haya especificado la opción –n en la

línea de comando de pg.

$ Va al último renglón de datos.

/modelo Busca hacia abajo el modelo especificado.

?modelo Busca hacia arriba el modelo especificado.

!comando Ejecuta el comando del intérprete de comando especificado.

p Si no se especifica ninguna dirección esto hace que se inicie el desplegado del

siguiente archivo. Si se especifica una dirección n, debe ser un número sin signo,

y pg desplegará el archivo anterior correspondiente con ese número contando a

partir del archivo actual.

w Si se especifica una dirección, w ajusta el tamaño de la ventana a ese valor (sin

signo). En cualquier caso despliega la siguiente pantalla completa al tamaño de

las (nuevas) líneas de tamaño de ventana.

/patrón/[tmb] Busca hacia delante, dentro del archivo actual, la primera aparición de una línea

que concuerde con el patrón de una expresión regular. La opción t es el valor por

omisión, y despliega la línea en la parte superior de la pantalla, m la despliega a

mitad de la pantalla y b la despliega en la parte inferior. Cuando no hay letra, pg

Page 79: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 78

usa la última letra dada (o t sí es que no se ha dado letra). Se debe oprimir Enter

al final de la línea, aunque se haya especificado la opción –n en la línea de

comandos de pg.

?patrón[tmb] Similar a la opción anterior, pero busca hacia atrás en vez de hacia delante.

^patrón^[tmb] Similar a ?patrón?[tmb].

Estos comandos pueden ir precedidos de un signo opcional (+ o -) seguido de una dirección

numérica también opcional.

Ejemplos:

pg memo

Los datos se despliegan una pantalla a la vez, con el indicador en la parte inferior.

Tras desplegar la última pantalla de datos, pg no se detiene de manera automática. Se verá el

indicador siguiente (end of file, fin de archivo)

(EOF):

Para salir oprimir retorno.

Para desplegar el contenido del archivo memo a partir del renglón 37 se escribe:

pg +37 memo

Supongamos que se dio el comando:

pg –n*.c

y que hay gran cantidad de archivos con el sufijo .c en el directorio actual.

1

vuelve a desplegar la primera pantalla completa del archivo actual.

-4

va hacia cuatro pantallas completas con el archivo actual y despliega una pantalla de texto

completa.

P

despliega la primera pantalla completa del archivo anterior.

10w

ajusta el tamaño de ventana a 10 líneas.

/fred/m

encuentra la primera línea que contenga Fred después de la posición actual en el archivo, y

despliega una pantalla de texto completa con esa línea a la mitad de la pantalla.

Comando: less

Formato: less [-cmsCM] [-xtab] [+comando] [archivo...]

Descripción: Al igual que more y pg, less es un programa de paginación. En trabajos sencillos less

funciona como los otros dos programas. No obstante, para los usuarios avanzados less es mucho

más refinado. Una de sus principales ventajas es que hace fácil desplazarse hacia atrás o hacia

adelante de un archivo.

Page 80: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 79

El programa less despliega el contenido de los archivos que se especifiquen. Los datos se

despliegan pantalla por pantalla. Después de escribirse cada pantalla, se verá un indicador en la

esquina inferior izquierda. El primer indicador le muestra el nombre del archivo. Cada uno de los

indicadores subsecuentes será un signo de dos puntos :.

Comandos

básicos

Descripción

H Despliega información de ayuda.

Espacio Avanza una pantalla.

q Para salir del programa.

Comandos más

avanzados

Retorno Avanza un renglón.

nRetorno Avanza n renglones.

b Retrocede una pantalla.

y Retrocede un renglón.

ny Retrocede n renglones.

d Avanza (hacia abajo) media pantalla.

u Retrocede (hacia arriba) media pantalla.

g Va al primer renglón.

ng Va al renglón n.

G Va al último renglón.

np Va al renglón que represente el n porciento en el archivo.

v Arranca el editor vi usando el archivo que se esté exhibiendo.

/modelo Busca hacia abajo el modelo especificado.

?modelo Busca hacia arriba el modelo especificado.

n Repite el comando de búsqueda previo.

!comando Ejecuta el comando del intérprete de comandos especificado.

= Despliega el número de renglón y el nombre de archivo en uso.

-opcion Cambia la opción especificada.

_opcion Despliega el valor actual de opcion.

No oprimir retorno después de ningún comando excepto, /,? Y !.

Existen un gran número de opciones que se pueden utilizar de arrancar less, las tres más

útiles son:

-s Remplaza múltiples renglones en blanco por uno solo, lo que es útil para condensar una salida

que contenga renglones en blanco sin significado.

-c Despliega cada pantalla de datos nueva de arriba abajo (borra la pantalla).

-M Hace que el indicador muestre aún más información: el nombre del archivo, el número de

renglón y el porcentaje desplegado.

Page 81: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 80

Ejemplos:

less –M memo

esto muestra: memo line 48/75 93%

less +G memo

despliega el archivo memo con la posición inicial al final del archivo.

less +/Harley memo

despliega el mismo archivo comenzando con una búsqueda de la palabra Harley.

less +37 memo

un número después de + hace que less arranque en ese renglón.

less +37g memo

esto hace lo mismo que la opción anterior.

less –x5 memo

la opción –x seguida de un número hace que less establezca los tabuladores en el intervalo

regular especificado. En este caso los tabuladores se configuran a cada cinco espacios.

Comando: du

Formato: du [opciones] archivos

Descripción: Informa sobre la cantidad de espacio que ocupan en disco los archivos y directorios

indicados como parámetros. Si no se da ningún parámetro se da la información del directorio actual.

Las opciones son:

-a

-b

-k

-x

-L

-s

archivos

Muestra para cada archivo su tamaño.

Muestra los tamaños en bytes.

Muestra los tamaños en kilobytes.

Muestra sólo la información referente a los sistemas de archivos actualmente montados.

Muestra la información del espacio ocupado por el archivo al que apunta una ligadura en

lugar de mostrar el espacio que ocupa la ligadura en sí.

Muestra el tamaño que ocupa cada subdirectorio en conjunto con la suma de todo lo que

ocupa su contenido.

Lista de directorios y archivos sobre los que se demanda la información referente a su

tamaño.

Ejemplos:

du –s /var

Muestra el tamaño total ocupado por el directorio /var y todo su contenido.

Comando: file

Formato: file [opciones] archivos

Descripción: Da información sobre un archivo referente al tipo de archivo. Así nos dará información

sobre si un archivo es ejecutable, de datos, de texto.

Page 82: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 81

Las opciones son:

-c

-z

-L

-f archilista

-m

archivos

Muestra para cada archivo su tamaño.

Muestra los tamaños en bytes.

Muestra los tamaños en kilobytes.

Muestra sólo la información referente a los sistemas de archivos actualmente

montados.

Muestra la información del espacio ocupado por el archivo al que apunta una

ligadura en lugar de listar el espacio que ocupa la ligadura en sí.

Lista de directorios y archivos sobre los que se demanda la información

referente a su tipo.

Ejemplo:

file /etc/profile

Nos indica el tipo de archivo que es el archivo file /etc/profile, que en este caso es de

texto.

Comando: head

Formato: head –líneas archivos

Descripción: Muestra la cantidad de primeras líneas indicadas de una lista de archivos.

Las opciones son:

-líneas

archivos

Cantidad de líneas que queremos que se muestre.

Lista de archivos separados por comas que se pretende que se muestre el número de

líneas indicado, por defecto diez.

Comando: tail

Formato: tail [opciones] archivo

Descripción: Muestra las últimas líneas del archivo que se le pasan como parámetro. Por defecto

muestra las diez últimas líneas.

Las opciones son:

offset

-f

archivo

Número desplazamiento dentro del archivo, en número de líneas, a partir de los cuales

queremos que se muestre el archivo. Si el número va precedido del signo +, mostrará a

partir de ese número de líneas, si va precedido del signo –, mostrará a partir de ese

número de últimas líneas.

Muestra el crecimiento de un archivo, sólo termina con la combinación de teclas [Ctrl] [C].

Archivo que se quiere procesar.

Prácticas de laboratorio: Analizar y ejecutar Comandos Básicos para el manejo de

Archivos en sistemas operativos Linux

Page 83: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 82

Comandos Suplementarios

Comando: w

Formato: w [-hs] [usuario]

Descripción: Muestra información acerca de los usuarios conectados en ese momento al sistema, así

como de sus procesos. La primera línea que visualiza es una línea de información general. De

izquierda a derecha muestra la hora actual, el tiempo que lleva el sistema activo, el número de

usuarios conectados y la carga media del sistema durante los últimos 1, 5 y 15 minutos. La siguiente

línea consta de diferentes campos aclaratorios de la información que aparecerá en todas las líneas

siguientes. Estos campos son, de izquierda a derecha, nombre de conexión del usuario, terminal

asociado, el ordenador remoto (es su caso), la hora de conexión, el tiempo desocupado, JCPU, PCPU

y, finalmente, la línea de orden correspondiente al proceso que se ejecuta. El campo JCPU indica el

tiempo de procesador utilizado por todos los procesos asociados con ese terminal. Este tiempo no

incluye los procesos lanzados en segundo plano en otras ocasiones, pero sí incluye los lanzados en

segundo plano en esa sesión. El campo PCPU indica la cantidad de tiempo empleada por el proceso

indicado en el último campo (what).

Las opciones son:

-h Elimina la cabecera.

-s Utiliza el formato corto. No se visualizan el tiempo de conexión ni los tiempos JCPU

y PCPU:

usuario Muestra únicamente información relacionada con el usuario indicado.

Ejemplo:

w

3:47pm up 3:11, 2 users, load average: 0.01, 0.09, 0.09

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

chan tty1 12:37pm 3:10m 2:08 0:05s sh/usr/x11/bin/startx

chan ttyS0 2:29pm 0.00s 0.31s 0.06s w

Comando: su

Formato: su [–] [usuario]

Descripción: La orden su (switch user) permite cambiar nuestro identificador de usuario. Cuando se invoca, nos

pide la palabra clave (password) del usuario al que queremos cambiar. Si a su no le pasamos como parámetro

ningún nombre de usuario, asumirá que deseamos convertirnos en el administrador del sistema (root).

Obviamente, si no conocemos la palabra clave del usuario, la orden fallará. La opción – se emplea para indicar a

su que se tomen los parámetros de inicio (directorio de arranque, ruta de búsqueda de archivos, variables del

entorno, etc.) definidos por el usuario al que nos convertiremos. Por defecto estos parámetros no se toman.

Ejemplo:

$ su – lucas

Page 84: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 83

password:

$ id

uid=519(lucas) gid=519(lucas) grupos=519(lucas)

Comando: sort

Formato: sort [opciones] [+campo] [archivo(s)]

Descripción: Ordena líneas compuestas por campos, separados por tabuladores, aunque podemos especificar

cualquier tipo de separador de campo. Si a sort no le pasamos ningún archivo como parámetro, tomará su

entrada de la entrada estándar. Con esta orden podemos ordenar las líneas de uno o varios archivos según un

campo en particular. Esta ordenación no produce ninguna modificación en los archivos tratados.

Ejemplo:

$ Cat > desord uno dos tres cuatro [Ctrl-d] $ sort desord cuatro dos tres uno $ cat > numeros 101 112 10 373 64 19 1111 [Ctrl-d] $ sort numeros 10 101 1111 112 19 373 64

Podemos observar, a tenor de los resultados, que algunos números aparecen ordenados aparentemente

al revés. La razón es que sort, por defecto, ordena las palabras según los caracteres ASCII que la componen. Si

lo que deseamos es ordenar según el valor numérico asociado a esos caracteres, debemos utilizar la opción –n

(ordena numéricamente), tal y como se muestra a continuación:

$ sort –n numeros

10

19

64

101

112

373

1111

Los campos separadores utilizados por defectos son los tabuladores, y en algunas versiones de sort,

también los espacios en blanco, pero también podemos decirle que utilice cualquier tipo de separador específico,

utilizando para ello la opción –t y a continuación el separador. Como ejemplo vamos a ordenar el archivo que

figura a continuación, denominado sortfich, por el último campo.

$ cat sortfich

blanco:73:Marte:1543:Manuel

verde:17:Jupiter:1968:Sebastian

azul:24:Venus:1970:Ana

Page 85: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 84

rojo:35:Neptuno:1122:Javier

amarillo:135:Tierra:1234:Raul

Como podemos apreciar, los distintos campos están separados por dos puntos. Eso no es ningún

problema para sort, ya que podemos especificar el carácter de separación de campos que deseemos.

$ sort –t: +4 sortfich

azul:24:Venus:1970:Ana

rojo:35:Neptuno:1122:Javier

blanco:73:Marte:1543:Manuel

amarillo:135:Tierra:1234:Raul

verde:17:Jupiter:1968:Sebastian

En el caso del ejemplo, el último campo es el número 4, por eso en las opciones de sort hemos puesto

un +4. Obsérvese que la numeración de campos comienza por el cero.

Comando: grep

Formato: grep [opciones] patrón [archivo(s)]

Descripción: Permite buscar cadenas de caracteres en los archivos que le indiquemos. grep toma el patrón que

deseamos buscar como primer argumento y el resto de los argumentos los toma como nombres de archivos. En

caso de que el elemento que deseemos buscar se componga de más de una palabra, ese elemento deberemos

incluirlo entre comillas dobles. Una vez buscado el patrón, se visualizan todos los archivos que lo contienen.

Con grep podemos utilizar varias opciones; las tres más comunes son las que se citan a continuación:

-i Indica a grep que se ignoren mayúsculas y minúsculas. Se busca el patrón y no se diferencia entre letras

mayúsculas y minúsculas.

-v Visualiza por pantalla las líneas que no contienen el patrón especificado.

-n Muestra por pantalla el número de línea en que se encuentra el patrón.

Ejemplos:

$ grep NULL *

depura.c: argn = strtoul (argum, (char **)NULL, 16);

depura.c: argn = strtoul (argum, (char **)NULL, 16);

depura.c: DirecDeParada = strtoul (&orden[1], (char **)NULL, 16);

depura.c: R[reg] = strtoul (cadena, (char **)NULL, 16);

desen.c: if ((pf = fopen (programa, “r”)) == NULL)

En este caso, grep busca el patrón NULL en todos los archivos del directorio actual. Recordemos que el

asterisco sustituye a cualquier cadena de caracteres, y en este caso a todos los archivos del directorio en el que

estemos situados.

$ grep –n main /home/chan/spro/*.c

/home/chan/spro/desen.c:21:main (int argc, char *argv[])

/home/chan/spro/desen.c:46:} /* Fin de main */

/home/chan/spro/ensa.c:30:main()

/home/chan/spro/ensa.c:42:} /* Fin de main */

/home/chan/spro/gen.c:3:main()

Page 86: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 85

/home/chan/spro/principal.c:19:void main (int argc, char *argv[])

/home/chan/spro/principal.c:53:} /* Fin de main */

En el caso anterior, al colocar la opción –n se visualiza el número de línea del archivo donde se

encuentra el patrón buscado.

Comando: wc

Formato: wc [opciones] [archivo(s)]

Descripción: La orden wc (word counter) es un contador de líneas, palabras y caracteres de un archivo. Para

wc, una palabra es una cadena de caracteres delimitada por espacios en blanco, tabuladores o retornos de carro

existentes en el archivo.

Las posibles opciones son:

-l Visualizará el número de líneas.

-w Visualizará el número de palabras.

-c Visualizará el número de caracteres.

Si a wc no se le especifica ninguna opción, tomará por defecto las tres anteriores, visualizando en orden el

número de líneas, palabras y caracteres.

Ejemplo:

$ wc ftemp

253 939 6728 ftemp

En el caso anterior, wc está indicando que el archivo ftemp tiene 253 líneas, 939 palabras y 6728

caracteres. Obviamente, la orden wc sólo puede ser utilizada para procesar archivos de texto.

Comando: diff

Formato: diff [opciones] archivo_a archivo_b

Descripción: Básicamente, lo que realiza el comando diff es encontrar las diferencias entre dos archivos de

texto, indicando lo que tendríamos que hacer para que coincidieran. Se le puede dar como parámetros nombres

de directorios, así se da como primer nombre de archivo un directorio y como segundo un archivo, compara el

archivo del directorio cuyo nombre coincida con el nombre del segundo archivo dado. El caso contrario funciona

igual. Si se dan dos nombres de directorio compara por orden alfabético archivo de igual nombre.

Las opciones son:

-a Compara los archivos como de texto incluso si no parecen ser de texto.

-b Ignora los espacios en blanco en la comparación.

-d Cambia el algoritmo para intentar encontrar un conjunto de cambios más pequeño.

-e Genera un script para el editor ed, con los cambios necesarios para igualar los archivos.

-r Opción recursiva para directorios.

archivo1 Éste es el archivo que se quiere que se compare. diff nos devuelve la información con las

operaciones a realizar para que este archivo coincida con archivo2.

archivo2 Archivo maestro que se utiliza en la comparación para que diff nos indique que se ha de

hacer en archivo1 para que sea igual a éste.

Page 87: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 86

Ejemplo:

diff tabla_a.txt tabla_b.txt

Compara los dos archivos indicados buscando las diferencias del primero con respecto al segundo.

Comando: Compress

Sintaxis: compress [opciones] archivo(s)

La orden compress se utiliza para comprimir archivos. Al archivo resultante se le añade la extensión.z.

Los archivos comprimidos con compress pueden ser comprimidos con uncompress o compress -d.

Opciones:

-c Hace que la salida de compress vaya dirigida a la salida estándar. -d Descomprime. -v Modo verboso. Cada vez que se comprime un archivo se visualiza el porcentaje de reducción de tamaño. Ejemplo: $ compress iwooos96-ipc.ps $ ls -l iwooos96-ipc.ps.Z -rw-rw-r-- 1 chan igx 127747 Jul 24 1998 iwooos96-ipc.ps.Z $ Generalmente se obtienen mejores porcentajes de redacción de tamaño con gzip

que con compress.

Vamos a comentar a continuación un método bastante extendido que se emplea para almacenar de

forma comprimida, el contenido de todo un árbol de directorios

En un único archivo. Esta es la forma habitual en que se almacena la información, por ejemplo, en los servidores

de ftp. De este modo cuando traemos un archivo, estamos trayendo una estructura de directorios completa de

forma rápida, por estar la información comprimida, y sencilla. Veamos como podemos hacerlo. Imaginemos que

deseamos almacenar todos los archivos que cuelgan de nuestro directorio de arranque en un único archivo

denominado todo.tar (por tener formato de tar) y posteriormente comprimido. Para realizarlo, daremos las

ordenes siguientes, una vez colocados en el directorio de inicio:

$ tar cf todo . tar *

$ ls -l todo . tar

-rw-r—r-- 1 chan igx 102400 Jan 22 19:02 todo.tar

$ gzip todo.tar

$ls -l todo.tar.gz

-rw-r—r-- 1 chan igx 67320 Jan 22 19:02 todo.tar.gz

$

Si nuestra versión de tar soporta la opción z, esto se podría haber realizado en un único paso. A

continuación, si queremos descomprimir todo el árbol de directorios, posiblemente en otra maquina, daremos la

siguiente orden:

$ gzip -dc todo.tar.gz tar -xf -

Page 88: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 87

$

o también:

$ tar xvzf todo.tar.gz

$

Comparar el contenido de dos archivos ¿ A quién no le ha pasado alguna vez? De repente nos damos cuenta de que en el directorio actual

existen dos archivos con nombres muy parecidos y que a primera vista tienen el mismo contenido. En

semejantes situaciones resulta muy práctico poder comparar automáticamente ambos archivos. Podemos utilizar

el comando ls-l para averiguar la fecha

y hora de la última modificación de los archivos, Pero esto no siempre resulta útil.

Linux ofrece dos comandos diferentes que hacen posible esa comparación entre archivos.

El primero se llama diff y el segundo cmp.

Ambos comandos no solo trabajan con archivos. En ambos casos puede utilizarse en lugar de un

nombre de archivo el carácter menos (-). Con ello, los comandos trabajaran sobre los datos del canal de entrada

estándar.

Los datos que extraen de el son comparados entonces con los de un archivo. Por lo tanto, ambos comandos son

utilizables al final de una canalización y en parte también dentro de ella.

Detectar diferencias con el comando diff

El comando diff necesita como parámetros dos nombres de archivo y puede incluir también algunas

opciones. Sintaxis:

diff [opciones] archivo1 archivo2

El resultado de la comparación del contenido de ambos archivos se muestra en forma de los siguientes

mensajes:

Linea1 a Linea3,Linea4

Linea1,inea2 d Linea3

Linea1,Linea2 c Linea3,Linea4

El sentido de esos mensajes consiste en indicar al usuario que modificaciones debe sufrir el archivo1

para alcanzar el estado en el que se encuentra el archivo archivo2. En todos los mensajes, los números de línea

Linea1 y Linea2 se refieren al primer archivo, y los números Linea3 y Linea4, al segundo archivo. El mensaje

que va acompañado del identificador a podría ser, por ejemplo, como sigue:

3 4 a 4,7

esto significa que a la línea 3 del primer archivo habría que añadirle las líneas de la 4 a la 7 del segundo archivo.

Hecho esto, las diferencias entre ambos archivos quedan equilibradas.

5,8 d 4

Las líneas de la 2 a la 5 del primer archivo deben ser borradas. No existen después de la cuarta línea del

segundo archivo.

10,15 c 12,17

El identificador c indica que las líneas de la 10 a la 15 del primer archivo deben intercambiarse por las

líneas de la 12 a la 17 del segundo archivo. Ademas, en estos tres tipos de mensajes diff muestra también los

contenidos de las líneas a los que se refieren las propuestas de modificación. Las líneas del primer archivo que

Page 89: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 88

deben cambiarse van precedidas por un carácter menor que(<). En el caso de las líneas del segundo archivo

que deben modificarse se trata de un carácter mayor que (>).

adams:-$ cat Fruta

Pera

Uva

Albaricoque

Naranja

adams:-$ cat Fruta2

Pera

Melocotón

Albaricoque

Pomelo

Limon

adams:-$ diff Fruta Fruta2

2c2

< Uva

--

> Melocotón

4c4,5

Naranja

--

> Pomelo

> Limon

adams:-$

Comando diff

Pueden usarse, entre otras, las opciones-b y -e. La opción -b se encarga de que en la comparación de

los contenidos de los archivos se ignoren los espacios en blanco. La opción -e se responsabiliza de un aspecto

mucho mas importante. Con ella se pueden crear scripts de ed. El editor ed es un predecesor del editor vi. Por

un lado solo trabaja con líneas y, por el otro, dispone de una estructura de comandos excesivamente

complicada. Sin embargo, ed puede servir para editar un archivo extrayendo comandos de modificación (scripts

de ed) a través del canal de entrada estándar. Al usar la opción –e, diff genera esos scripts de ed , que

después pueden utilizarse para devolver los dos archivos a su estado anterior utilizando el editor ed.

adams:-$ diff -e Fruta Fruta2

4c

Pomelo

Limon

.

2c

Melocotón

.

adams:-$

generar un script de ed

Unión de criterios para búsquedas completas

Los criterios de selección explicados anteriormente pueden combinarse a voluntad y, en ese caso, los

archivos encontrados deben cumplir todas las condiciones descritas. Puede suceder que busquemos archivos

que cumplan bien una condición u otra. Estos archivos deben buscarse en ejecuciones separadas del comando

find. El comando find permite otras combinaciones lógicas de sus opciones de selección:

Unión Significado

! Negación logia de una opcion de selección.

Page 90: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 89

-a Unión y logia de opciones de selección.

-o Unión O lógica de opciones de selección

Si desea especificar una unión Y/O de opciones de selección, debe colocarse entre paréntesis la

condición global de selección que representan. Sin embargo, los paréntesis tienen un significado especial en el

sheell y por ello deben bloquearse.

Si el usuario busca en su directorio actual todos los archivos que no le pertenezcan, puede hacerlo con

la ayuda del signo de exclamación (!) para la negación logia.

Find . ! -user hugo -print

Si se utilizan varios operadores lógicos para unir opciones de selección entre si, debe estar claro que los

operadores !, -a y-o aparecen por rango de prioridad. La negación lógica tiene el rango mas alto y va seguida de

–a en segunda posición y –o en tercera posición.

En la figura se muestran algunos ejemplos de la unían lógica de opciones de selección con –a y –o.

Debe estar especialmente atento en la forma de escritura de los paréntesis.

adams:-$ find . \( -type d -o -name <<*ham>> \) -print

.

./.term

./abrham

./mi-primer

./mi_primer/abraham

./zebraham

./mi_segundo

adams:-$ find . \( -size +0 -a -size -10) -print

.

./.kermrc

./.less

./.lessrc

./.term

./.term/termrc

./abraham

./verdura

./mi_primer

./mi_primer/abraham

./fruta

./zebraham

./direcciones

./sortdat

./.bashrc

./todo

./listaUsuarios

./mi_segundo

./mi_segundo/K

./mi_segundo/M

./mi_segundo/S

./mi_segundo/keymap

./mi_segundo/local

./mi_segundo/0

./mi_segundo/cdrom

adams:-$

Opciones -a y -o

grep : Búsqueda de líneas determinadas en un archivo

En muchas situaciones, el usuario necesita un programa auxiliar que le permita extraer solo

determinadas líneas de un archivo o de un flujo de datos dentro de una canalización. Para este fin pueden

usarse el programa auxiliar grep y otros programas similares. Estos dos programas son respectivamente una

Page 91: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 90

versión ampliada y reducida del comando grep. Se trata del comando egrep, que incluye mayores capacidades

de búsqueda, y del comando fgrep, que permite buscar solo texto simple sin caracteres especiales.

El comando grep tiene como primer parámetro un criterio de búsqueda que utiliza los mismos caracteres

especiales que utilizaba el editor vi. para la búsqueda. El comando grep busca en todas las líneas de un archivo

o en los datos del canal de entrada estándar que contienen el criterio de búsqueda y muestra las líneas

correspondientes a través del canal de salida estándar. A modo de ejemplo utilicemos el criterio de búsqueda del

apostrofo (‘)

grep `[Ll]uis´ < Texto

El comando busca todas las líneas en las que aparezca Luis o luis. Los datos se leen del archivo texto a

través del canal de entrada estándar. Mediante el canal de salida estándar se muestran solo las líneas en las

que aparece Luis o luis.

Buscar con el comando grep

El comando grep accede a sus datos a través del canal estancar de entrada de datos o directamente de los

archivos, que deben indicarse como parámetros. La sintaxis del comando grep es la siguiente:

Grep [opciones] plantilla_de_busqueda [archivo1 ...]

adams:-$ cat vehículos

Coche

Barca

Motocicleta

Ciclomotor

Bicicleta

Triciclo

Monociclo

adams:-$ grep cicl Vehículos

Coche

Motocicleta

Ciclomotor

Bicicleta

Triciclo

Monociclo

adams:-$ grep “[Cc]icl” Vehículos

Coche

Motocicleta

Ciclomotor

Bicicleta

Triciclo

Monociclo

Adams:-$ grep “^.o” Vehículos

Coche

Motocicleta

Ciclomotor

Bicicleta

Triciclo

Monociclo

Adams:-$ grep “^.o” Vehículos | wc -l

4

adams:-$ ls

Vehículos abraham mi_primero/ zebraham

adams:-$ ls | grep “hams$”

abraham

zebraham

adams:-$

El comando grep

Caracteres especiales existentes con su significado correspondiente:

Page 92: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 91

Carácter especial Significado

[...] Simboliza un conjunto de caracteres que pueden ocupar esa posición

[^...] Versión negativa del anterior, es decir, en esa posición puede haber cualquier carácter

excepto los que se muestran entre corchetes (conjunto complementario)

· Un carácter único cualquiera (incluidos espacios en blanco).

* Signo de repetición. Se aplica al carácter o carácter especial que lo procede.

^ Simboliza el principio de una línea dentro de una plantilla de búsqueda.

$ Simboliza el final de la línea.

{...} Signo de repetición. Entre las llaves puede indicarse exactamente cuantas veces puede aparecer el

carácter o carácter especial procedente. Existen tres maneras de determinar la cantidad:

1. \{número} Numero exacto 2. \{numero,\} Numero mínimo

3. \{número1,número2\} Limite inferior y superior (desde numero1 hasta numero2)

Los caracteres especiales deben ser interpretados por el comando grep y no por el sheell.

Para que no sean interpretados, debe bloquearse la expresión de búsqueda. La manera de

conseguirlo es insertando una barra diagonal inversa antes de cada carácter especial, por ejemplo:

grep \^\[A-Z\]\[A-Z\]\*\$ sellos

Como vemos esto no facilita precisamente la lectura de la línea de comandos. Por eso es

recomendable utilizar las comillas dobles (“...”) o simples (‘...’), con lo que tendríamos la siguiente sintaxis:

grep ‘^[A-Z][A-Z]*$’ sellos

Las líneas encontradas se mostraran a través del canal de salida de datos estándar. Si se han indicado

como parámetro varios archivos, antes de cada línea aparecerá el nombre del archivo para una mejor

identificación. Si se encuentran demasiadas líneas, las primeras desaparecen de la pantalla. En tal caso, pueden

enviarse los datos al programa auxiliar more. La descripción de la sintaxis del comando grep muestra que

pueden especificarse opciones. A continuación incluimos una lista de las opciones mas importantes del

comando grep:

Opcion Significado

-v Se mostrara a través del canal de datos estándar las líneas que no contengan la plantilla de

búsqueda.

-c Si se añade la opción –c, el comando grep solo mostrará el número de líneas encontradas,

sin mostrar las líneas propiamente dichas.

-i Si se utiliza la opción –i grep no distinguirá entre las mayúsculas y las minúsculas al

comparar la plantilla de búsqueda con el texto de la líneas

-n Se indican el número de línea delante de cada línea encontrada.

-l Sólo se mostrarán los nombres de los archivos en los que se hayan encontrado líneas. Las

líneas propiamente dichas no se mostrarán.

adams:-$ cat vehículos

Coche

Page 93: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 92

Barca

Motocicleta

Ciclomotor

Bicicleta

Triciclo

Monociclo

Adams:-$grep –i “ cicl” Vehículos

Motocicleta

Ciclomotor

Bicicleta

Triciclo

Monociclo

Adams:-$grep –v “ cicl” Vehículos

Coche

Barca

Ciclomotor

A

dams:-$grep –vi “ cicl” Vehículos

Coche

Barca

Adams:-$grep –n ”l$” Vehículos

3:Motocicleta

5:Bicicleta

6:Triciclo

7:Monociclo

Adams:-$grep –vc “cicl” Vehículos

3

Adams:-

Prácticas de laboratorio: Analizar y ejecutar Comandos Suplementarios en sistemas operativos

Linux

Comandos usados en Diferentes Sistemas Operativos

Para sistemas compatibles con POSIX (o parcialmente compatibles) como FreeBSD, Linux, OS X o Solaris,

los comandos básicos son los mismos, ya que están estandarizados.

Page 94: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 93

descripción FreeBSD Linux OS X Solaris Windows (cmd) Windows

(powershell) Windows

(cygwin, SFU

o MKS)

listar directorios ls ls ls ls dir dir & ls &

Get-ChildItem ls

limpiar consola clear clear clear clear cls clear clear

copiar archivo(s) cp cp cp cp copy cp & Copy-Item cp

mover archivo(s) mv mv mv mv move mv & Move-Item mv

renombrar

archivo(s) mv mv, rename mv mv ren, rename ren, mv mv

borrar archivo(s) rm rm rm rm del (erase) rm &

Remove-Item rm

borrar

directorios rmdir rmdir rmdir rmdir rd (rmdir) rmdir rmdir

crear directorio mkdir mkdir mkdir mkdir md (mkdir) mkdir mkdir

cambiar el

directorio actual cd cd cd cd cd (chdir) cd & Set-Location cd

ejecutar guión

shell en nuevo

shell

sh file.sh sh file.sh sh file.sh sh file.sh cmd /c file.cmd N/A

sh file.sh

matar procesos kill, killall killall, pkill, kill,

skill kill, killall kill, pkill taskkill taskkill kill

cambiar

prioridad de

procesos

nice nice, chrt nice nice start /low, start

/normal, start

/high, start

/realtime

N/A

nice

cambiar

prioridad i/o

[1] ionice [2] nice

N/A

N/A

N/A

N/A

crear nuevo

sistema de

archivos

newfs mkfs mkfs newfs format N/A

N/A

verificación y

recuperación

de sistemas de

archivos

fsck fsck fsck fsck chkdsk

N/A

N/A

crear software

raid atacontrol,

gmirror, zfs

create

(mdadm—create) diskutil

appleRAID metainit,

zfs create diskpart (mirror

only) diskpart (mirror

only)

N/A

montar

dispositivo mount mount mount, diskutil

mount mount mountvol mount &

New-PSDrive

N/A

desmontar

dispositivo umount umount umount, diskutil

unmount(disk) umount mountvol /d Remove-PSDrive

N/A

Page 95: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 94

montar archivo

como

dispositivo de

bloques

mdconfig +

mount mount -o loop hdid lofiadm +

mount

N/A

N/A

N/A

mostrar

configuración

de red

ifconfig ip addr, ifconfig ifconfig ifconfig ipconfig ipconfig N/A

mostrar ruta de

red route ip route route route route

N/A

N/A

rastrear ruta de

red traceroute traceroute traceroute traceroute tracert tracert

N/A

rastrear ruta de

red con ping traceroute -I traceroute -I &

mtr traceroute -I traceroute

-I pathping pathping

N/A

descripción FreeBSD Linux OS X Solaris Windows (cmd) Windows

(powershell) Windows

(cygwin, SFU

o MKS)

NOTA: Los sistemas Linux pueden variar por distribución en un programa específico, o incluso en cómo se

denomina un comando, mediante la función POSIX alias. Por ejemplo, si se desea utilizar el comando dir de

DOS para obtener una lista de directorios por línea, debe usarse alias dir='ls -lahF' (en un archivo de

configuración de sesión).

[1] Esta característica está en desarrollo, véase (http://unix.derkeiler.com/Mailing-Lists/FreeBSD/stable/2009-01/msg00316.html).

[2] El comando nice utiliza la llamada de sistema setpriority(), que afecta la prioridad I/O; véase (http://developer.apple.com/

library/mac/#documentation/Darwin/Reference/Manpages/man2/setpriority.2.html).

Page 96: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 95

3.3. Personalización el entorno

Shell de UNIX

Una Shell de Unix o también shell, es el término

usado en informática para referirse a un intérprete

de comandos, el cual consiste en la interfaz de

usuario tradicional de los sistemas operativos

basados en Unix y similares como GNU/Linux.

Mediante las instrucciones que aporta el intérprete,

el usuario puede comunicarse con el núcleo y por

extensión, ejecutar dichas órdenes, así como

herramientas que le permiten controlar el

funcionamiento de la computadora.

Los comandos que aportan los intérpretes, pueden

usarse a modo de guion si se escriben en ficheros

ejecutables denominados shell-scripts, de este

modo, cuando el usuario necesita hacer uso de

varios comandos o combinados de comandos con

herramientas, escribe en un fichero de texto

marcado como ejecutable, las operaciones que

posteriormente, línea por línea, el intérprete

traducirá al núcleo para que las realice. Sin ser un

shell estrictamente un lenguaje de programación, al

proceso de crear scripts de shell se le denomina

programación shell o en inglés, shell programming

o shell scripting.

Pantalla durante una sesión muestra Bash, tomada en Gentoo Linux.

Page 97: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 96

En el sentido más genérico del término, shell significa cualquier intérprete que los usuarios usen para escribir

comandos. Su etimología proviene del uso natural de consolas en computadores funcionando bajo unix antaño,

cuando los usuarios conectaban al computador central, lo hacían mediante consolas, (shells) por las cuales a través

de un intérprete, hacían inicio de sesión y manejaban la computadora principal. Posteriormente, con la proliferación

de los computadores personales y su filosofía monousuario, un computador por usuario (entiéndase lo contrario de la

filosofía inicial de Unix, un computador, muchos usuarios conectados por terminales), se desarrolló un software que

emulase las características principales de las consolas físicas, a modo de poder seguir usándolas como clientes en un

computador o núcleo que comprendiera la convención estándar usada para configurar y llevar a cabo tareas de

administración de emergencia con servidores basados en Unix.

Los usuarios de Unix y similares, pueden elegir entre distintos shells (programa que se debería ejecutar cuando

inician la sesión, véase bash, ash, csh, Zsh, ksh, tcsh). Las interfaces de usuario gráficas para Unix, como son

GNOME, KDE y Xfce pueden ser llamadas shells visuales o shells gráficas. Por sí mismo, el término shell es

asociado usualmente con la línea de comandos. En Unix, cualquier programa puede ser un shell de usuario. Los

usuarios que desean utilizar una sintaxis diferente para redactar comandos, pueden especificar un intérprete diferente

como su shell de usuario.

El término shell también hace referencia a un programa particular, tal como el Bourne shell, sh. El Bourne shell fue

el shell usado en las primeras versiones de Unix y se convirtió en un estándar de facto; todos los sistemas similares a

Unix tienen al menos un shell compatible con el Bourne shell. El programa Bourne shell se encuentra dentro de la

jerarquía de archivos de Unix en /bin/sh. En algunos sistemas, tal como BSD, /bin/sh es un Bourne shell o un

equivalente, pero en otros sistemas como muchas distribuciones de Linux, /bin/sh es un enlace simbólico a un

shell compatible con más características (como Bash). POSIX especifica su shell estándar como un subconjunto

estricto del Korn shell.

Categorías de shell

Pueden dividirse en cuatro categorías: tipo Bourne, tipo consola C, no tradicional e histórica.

Compatibles con Bourne shell

• Bourne shell (sh) -- Escrita por Steve Bourne, cuando estaba en Bell Labs. Se distribuyó por primera vez con la

Version 7 Unix, en 1978, y se mejoró con los años.

• Almquist shell (ash) -- Se escribió como reemplazo de la shell Bourne con licencia BSD; la sh de FreeBSD,

NetBSD (y sus derivados) están basados en ash y se han mejorado conforme a POSIX para la ocasión.

• Bourne-Again shell (bash) -- Se escribió como parte del proyecto GNU para proveerlo de un superconjunto de

funcionalidad con la shell Bourne.

• Debian Almquist shell (dash) -- Dash es un reemplazo moderno de ash en Debian.

• Korn shell (ksh) -- Escrita por David Korn, miestras estuvo en Bell Labs.

• Z shell (zsh) -- Considerada como la más completa: es lo más cercano que existe en abarcar un superconjunto de

sh, ash, bash, csh, ksh, y tcsh.

Compatibles con la shell de C

• C shell (csh) escrita por Bill Joy, mientras estuvo en la University of California, Berkeley. Se distribuyó por

primera vez con BSD en 1979.

• TENEX C shell (tcsh).

Page 98: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 97

Otros o exóticos

• fish, una shell amigable e interctiva , lanzada por primera vez en 2005.

• mudsh, una shell inteligente al estilo de los videojuegos que opera como un MUD.

• zoidberg, una shell modular escrita en Perl, configurada y de operación completamente en Perl.

• rc, el shell por defecto de Plan 9 from Bell Labs y Version 10 de Unix escrita por Tom Duff. Se han hecho ports

para Inferno y para sistemas operativos basados en Unix.

• es shell (es), una shell compatible con RC escrita a mediados de los 90.

• scsh (Scheme Shell)

Archivos de configuración para shells

Un shell lee archivos de configuración en múltiples circunstancias bajo diferentes dependencias de la shell. Esta

tabla muestra los achivos de configuración de las shells más populares:

sh ksh csh tcsh bash zsh

/etc/.login no no login login no no

/etc/csh.cshrc no no no yes no no

/etc/csh.login no no no login no no

~/.tcshrc no no no yes no no

~/.cshrc no no yes yes no no

~/.login no no login login no no

~/.logout no no login login no no

/etc/profile login login no no i.login no

~/.profile login login no no login no

~/.bash_profile no no no no login no

~/.bash_login no no no no login no

~/.bashrc no no no no n/login no

/etc/zshenv no no no no no yes

/etc/zprofile no no no no no login

/etc/zshrc no no no no no int.

/etc/zlogin no no no no no login

/etc/zlogout no no no no no login

~/.zshenv no no no no no yes

~/.zprofile no no no no no login

~/.zshrc no no no no no int.

~/.zlogin no no no no no login

~/.zlogout no no no no no login

Explicación:

• "no" significa que la shell no leerá el archivo en absoluto.

• "yes" significa que el archivo es siempre leído por el shell.

• "login" significa que el archivo es leído si la shell es una shell de sesión (loging shell).

• "n/login" significa que el archivo is leído si la shell no es una shell de sesión.

• "int." significa que un archivo es leído si es un shell interactivo.

• "i.login" significa que un archivo es leído si la shell es de sesión interactiva.

Page 99: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 98

Histórico

• Thompson shell (sh) -- La primel shell Unix fue escrita por Ken Thompson en Bell Labs. Distribuida con la

versión 1 hasta la 6 de Unix, desde 1971 a 1975. Es considerada muy rudimentaria por los estandarés modernos y

no es usada en sistemas actuales. Existen algunas partes disponibles de la misma: Ancient UNIX Systems.

• PWB shell o Mashey shell (sh) -- Una versión de la shell de Thompson, creada por John Mashey y otros, mientras

estuvieron en Bell Labs. Distribuida con el Programmer's Workbench UNIX, en 1976.

shells no Unix

Dentro del conjunto de sistemas operativos Microsoft Windows, el análogo son los programas command.com, o

cmd.exe para sistemas operativos basados en Windows NT, y Windows PowerShell introducido con Windows

Server 2008.

Bibliografía

• Ellie Quigley (2001). «Introduction to UNIX shells». Unix Shells by Example. Prentice Hall PTR. ISBN

0-13-066538-X. — Historia de varios shells, los usos y las responsabilidades de una shell en Unix.

Enlaces externos

• shell encyclopedia - history, types, definitions, technical information and resources [1]

• Linux Shell Scripting Tutorial - A Beginner's handbook [2]

• www.freebsd.org Lista de shells [3]

Referencias

[1] http://www.shell.ir

[2] http://www.freeos.com/guides/lsst/

[3] http://www.freebsd.org/ports/shells.html

Prácticas de laboratorio: Analizar el entorno de trabajo en sistemas operativos Linux/Windows

Page 100: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 99

Editores

gedit

Es el editor de textos oficial de Gnome. Gedit está bajo licencia GNU GPL.

- Soporta muchas codificaciones, lenguajes de programación y corrector ortográfico multi-idioma.

- Puede usar para crear y editar archivos de texto.

- puede utilizar plugins gedit para realizar una variedad de tareas relacionadas con edición de texto dentro

de la ventana de gedit.

Sintáxis

gedit [- help] [- debug [la sección]] [- nueva ventana] [- nuevo documento] [- quit] [archivo (s) ...]

Ejemplo

………$gedit archivo.ext

………$gedit ejemplo1.ext

nano

Ejemplo:

………$nano archivo.ext

………$nano comandos1.txt

Page 101: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 100

vi

Un editor de texto es simplemente un programa usado para la edición de archivos que contienen

texto, como una carta, un archivo en C o un archivo de configuración del sistema, mientras que hay

muchos editores de texto en Linux, el único editor que esta garantizado encontrar en cualquier sistema

UNIX y es el vi “visual editor” .

Este es el editor estándar usado por todos los sistemas UNIX, el cual sirve para escribir y modificar archivos.

La manera de entrar al editor es a través de la línea de comandos tecleando “vi” y después el nombre del

archivo o desde el menú de programas.

Modos del editor vi

A. MODO COMANDOS

B. MODO INSERCIÓN

C. MODO EJECUCIÓN DE COMANDO

Cada uno de los cuales cuenta con sus propios comandos, que ha continuación se explican:

A. Modo comando

Para activar este modo se presiona la tecla ESC, y entonces queda listo para recibir instrucciones las cuales

tienen categorías en base a la función que desempeñan, a continuación se muestra un listado de las categorías del

modo comando con sus comandos respectivos.

Movimientos del cursor

h Desplaza el cursor una localidad hacia la izquierda.

j Desplaza el cursor una localidad hacia abajo

k Desplaza el cursor una localidad hacia arriba.

l Desplaza el cursor una localidad hacia la derecha.

w ó e Desplaza el cursor una palabra a la derecha.

b Desplaza el cursor una palabra hacia la izquierda

$ Desplaza el cursor al final de la línea .

O Desplaza el cursor al principio de la línea.

G Desplaza el cursor al final del documento.

lG Desplaza el cursor al principio del documento.

nG Desplaza el cursor a la línea n dentro del documento.

ctrl.-f Una pantalla hacia delante.

ctrl.-b Una pantalla hacia atrás.

Page 102: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 101

Reemplazo de texto

r Reemplaza la letra sobre el cursor por la que sea presionada después de la letra

ns Cambia n letras partiendo de la posición del cursor.

R Reemplaza todo texto deseado a partir de la posición del cursor.

cw Cambia la palabra que se encuentra el cursor.

ncw Cambia n palabras empezando con la que se encuentra sobre el cursor

c$ Cambia todo el texto a partir del cursor y hasta el final de la línea.

cO Cambia todo el texto a partir del cursor y hasta el inicio de la línea.

cc Cambia el texto de una línea completa.

ncc Cambia el texto de n líneas completas.

Borrado de texto

x Borra el carácter que se encuentra sobre el cursor.

nx Borra n caracteres partiendo de la posición del cursor.

dw Borra una palabra que se encuentra sobre o a la derecha del cursor.

ndw Borra n palabras que se encuentran sobre o a la derecha del cursor.

d$ ó D Borra el texto de la posición del cursor al final de la línea.

d0 Borra el texto de la posición del cursor al inicio de la línea.

dd Borra la línea donde se encuentra el cursor.

ndd Borra n líneas a partir de donde se encuentra el cursor.

B. Modo de inserción

Para activar este modo se presiona cualquiera de las teclas que permiten introducir texto al documento las

cuales son:

I Entra al modo de inserción de texto.

I Inserta el texto al principio de la línea.

A Añade texto una posición delante de la del cursor.

A Añade texto al final de la línea.

O Abre una línea para inserción de texto bajo la posición del cursor.

O Abre una línea para inserción de texto sobre la posición del cursor.

C. Modo ejecución de comandos

Para activar este modo se presiona la tecla ESC y uno de los siguientes caracteres :,/,? ó !. Más adelante se

verá el uso de cada uno de ellos.

Una vez activado este modo se pueden realizar las siguientes funciones:

Búsqueda

/patrón Busca un patrón de caracteres a partir de la

posición el cursor hasta el final del archivo.

? patrón Busca un patrón de caracteres partiendo de

la posición del cursor hasta el inicio del archivo

n Repite la última búsqueda o busca la siguiente

ocurrencia.

N Repite la última búsqueda o busca la siguiente

Page 103: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 102

Ocurrencia en sentido contrario.

Reemplazo

:s/patrón/cadena/[g] Busca la cadena patrón en la línea actual y al

encontrarlo lo reemplaza por cadena. Si la

opción “g” esta puesta hará un reemplazo

global en la línea de los contrario solo

reemplazará la primera ocurrencia.

:N.Ms/patrón/cadena [g] Tiene el mismo efecto que la sintaxis anterior,

solo que este se aplica sobre un rango de

líneas , especificándolo en “N” y ”M” .

Utilizando “l” para denotar el inicio del y “$”

Para denotar el final. Cualquier otro valor para

Estas literales será el número de líneas

deseado.

Copiado

:inicio,final co posición Copia el texto a partir de la línea inicio hasta

la línea final y lo posiciona en el lugar posición

Movimiento

:inicio ,final m posición Mueve el texto que se encuentra entre las

líneas inicio y final posicionándolo a partir de

la línea posición.

Salvar

:w Salva el contenido actual del buffer (archivo)

y continua trabajando en el editor.

:w archivo l Salva el contenido actual del buffer (archivo)

en uno nuevo llamado archivo l.

:x Salva el contenido actual del sistema y sale

del editor.

:q! Sale del editor sin salvar el trabajo o

modificaciones recientes.

Ejecución de comandos UNIX

Page 104: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 103

:! Comando Una vez que le da la tecla de “!” sale del vi y

permite que el comando sea ejecutado

después de lo anterior retorna al editor.

Otros

:set number Activa la numeración de líneas.

:ser nonumber desactiva la numeración de líneas.

u Elimina el último comando que se realizó.

La sintaxis de vi es:

vi nombre del archivo

Por ejemplo inicie vi tecleando

/home/larry# vi test

inmediatamente aparecerá algo parecido a

~

~

“test” [New file]

La columna de caracteres “-“ indica que esta al final del archivo

Insertando texto

Orden “i”

Esta ahora en el modo ordenes, para poder insertar texto en el archivo, pulse <i> (lo que le hará

entrar en el modo de inserción), y empiece a escribir.

Now is the for all gob men to come to the aid of the party

~

~

Mientras inserta texto, puede escribir tantas líneas como desee (pulsando <return> después de cada una) y

puede corregir los errores con la tecla de borrado de carácter.

Para salir del modo de inserción y volver al modo de ordenes solo pulse <esc>. Mientras esta en modo

ordenes puede usara las teclas del cursor para moverse por el archivo. Cuando solo se tiene una línea e intenta

moverse hacia abajo muy probablemente vi emita un sonido.

Page 105: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 104

Orden “a” Insertar texto comenzando detrás de la posición actual del cursor, en lugar de la posición actual del cursor.

Por ejemplo, use la tecla de cursor a la izquierda para desplazar el cursor sobre las palabras “good” y

“men”

Now is the for all gob_men to come to the aid of the party

~

~

Pulse <a> para iniciar el modo de inserción y escriba

Now is the for all gob women to come to the aid of the party

~

~

orden “o” Para insertar texto en la línea de debajo de la actual

Por ejemplo, pulse <o> y teclee otra línea o dos:

Now is the for all gob women to come to the aid of the party

Afterwards, we’ ll go out for pizza and beer.

~

~

Borrando texto

Desde el modo de ordenes, la orden “x” borra el caracter debajo del cursor. Si pulsa “x” cinco veces

terminara con>

Now is the for all gob women to come to the aid of the party

Afterwards, we’ ll go out for pizza and_

~

~

Ahora pulse <a>, inserte algún texto seguido de <esc>:

Now is the for all gob women to come to the aid of the party

Afterwards, we’ ll go out for pizza and Diet coke.

~

~

orden dd Se utiliza para borrar líneas enteras.

Por ejemplo para borrar la segunda línea, mueva el cursor en la segunda línea y pulse la tecla d dos veces (dd).

Now is the for all gob women to come to the aid of the party

~

Page 106: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 105

~

orden dw Borra la palabra sobre la que se encuentra el cursor.

Por ejemplo, situé el cursor sobre la palabra “good” y pulse <dw>.

Now is the for all women to come to the aid of the party

~

~

Modificando texto

Orden R Se utiliza para sustituir sesiones de texto.

Por ejemplo, Situé el cursor en la primera letra de la palabra “party” y pulse <R>, y escriba la palabra “hungry”.

Now is the for all gob_men to come to the aid of the hungry

~

~

El uso de la orden R para editar texto es bastante parecido al uso de las ordenes “i” y “ a”, pero “R”

sobrescribe texto en lugar de insertarlo.

Orden r Sustituye un único carácter situado debajo del cursor

Por ejemplo, situé el cursor al comienzo de la palabra “now” y escriba “r” seguido c, obtendrá:

c_ow is the for all gob_men to come to the aid of the party

~

~

La orden “~” cambia de mayúsculas a minúsculas o viceversa la letra donde se encuentra el cursor. Por ejemplo, situé el cursor sobre la “o” de “Cow”, y repetidamente pulsa <~> .

Cow is the for all gob_men to come to the aid of the party

~

~

Ordenes de movimiento

Además de utilizar las teclas del cursor para moverse por el documento, en vi existen las ordenes h, j, k y l,

para mover el cursor a la izquierda, abajo, arriba y derecha respectivamente.

Orden w Mueve el cursor al comienzo de la siguiente palabra.

Orden b Lo lleva al comienzo de la palabra anterior

Page 107: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 106

Orden 0 (cero). Mueve el cursor al comienzo de la línea actual.

Orden $ Lo lleva al final de la línea.

Orden <ctrl-F> Avanza el cursor una pantalla hacia delante

Orden <ctrl-B> Regresa una pantalla atrás.

Orden G Lleva el cursor al final del archivo, puede también desplazarse una línea arbitraria; por ejemplo, pulsando

la orden 10G, llevara el cursor a la linea 10 del archivo, para desplazarse al comienzo pulse 1G.

Puede también asociar ordenes de desplazamiento con otras ordenes como es el borrado. Por ejemplo, la

orden d$ borrara todo desde la posición del cursor al final de la línea; dG borrara todo desde la posición del cursor al

final del archivo.

Guardando archivos y saliendo del editor vi

Orden :q! Al pulsar “:” , El cursor se desplazara a la ultima línea de la pantalla. (Esta en modo de ultima

línea).

Cow is the for all gob_men to come to the aid of the party

~

~

:

Orden :wq Salva el archivo y sale de vi

Orden ZZ (desde el modo de ordenes, sin “:”) Es equivalente a la orden :wq

Orden :w Salva los cambios sin salirse de vi.

Editando otro archivo

Orden :e

Se utiliza para abrir otro archivo. Por ejemplo, para dejar de editar el archivo test y en su lugar editar

el archivo test2

Cow is the for all gob_men to come to the aid of the party

~

~

:e test2

Si utiliza la orden :e sin salvar primero el archivo, obtendrá el mensaje de error

No write since last change (“:edit !” overrides)

Lo cual significa que vi no quiere editar otro archivo hasta que salve el primero

Page 108: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 107

Orden :e! Indica al editor que realmente se desea editar otro archivo sin salvar los cambios en el primero.

Incluyendo otro archivo

Orden :r Puede incluir el contenido de otro archivo en el archivo que esta editando.

Por ejemplo, para editar los archivos test y test2, estando editado el test

Cow is the for all gob_men to come to the aid of the party

~

~

:r test2

Ahora tendremos dos archivos, el archivo test2 se inserta en la posición actual del cursor.

Ejecutando comandos del intérprete

Se pueden ejecutar comandos del interprete desde editor vi con las siguientes ordenes:

Orden :r! Funciona como la orden :r, pero en lugar de leer un archivo, inserta la salida de un comando dado en el

archivo en la posición actual del cursor. Por ejemplo, la orden :r! ls –F . Muestra en el archivo el listado del

directorio donde se encuentra ubicado.

Orden :! Se utiliza para salir a un interprete de comandos desde vi, es decir, ejecutar desde dentro de vi y volver

al editor una vez finalice. Por ejemplo, si usa la orden:

:! ls –F

La orden ls –F sera ejecutada, y los resultados mostrados en la pantalla, pero no insertados en el

archivo de edición.

:shell. Con esta orden vi inicia una instancia de comandos, permitiéndole temporalmente dejar a vi “parado”

mientras ejecuta otras ordenes. Simplemente salga del interprete de comandos usando la orden exit, para

regresar a vi.

Prácticas de laboratorio: Utilizar diferentes editores para la configuración de servicios en sistemas

operativos Linux/Windows

Script

En informática un guión, archivo de órdenes o archivo de procesamiento por lotes, vulgarmente referidos con el

barbarismo script (del latín scriptum, escrito), es un programa usualmente simple, que por lo regular se almacena en

un archivo de texto plano. Los guiones son casi siempre interpretados, pero no todo programa interpretado es

considerado un guion. El uso habitual de los guiones es realizar diversas tareas como combinar componentes,

interactuar con el sistema operativo o con el usuario. Por este uso es frecuente que los shells sean a la vez intérpretes

de este tipo de programas.

En el sistema operativo

Los archivos script suelen ser identificados por el sistema a través de uno de los siguientes encabezamientos en el

contenido del archivo, conocido como shebang:

#!/bin/bash ; #!/bin/ksh ; !/bin/csh

Aunque en entornos UNIX la mayoría de los guiones son identificados por dicho encabezamiento, también pueden

Page 109: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 108

ser identificados a través de la extensión ".sh", siendo ésta quizá menos importante que el encabezamiento, ya que

casi todos los sistemas no necesitan dicha extensión para ejecutar el guion, por lo tanto, esta suele ser añadida por

tradición, o más bien, es útil para que el usuario pueda identificar estos archivos a través de una interfaz de línea de

comandos sin necesidad de abrirlo.

Difieren de los programas de aplicación, debido a que los últimos son más complejos; además, los guiones son más

bien un programa que le da instrucciones a otros más avanzados.

En Windows y DOS

En el sistema operativo DOS, a los guiones creados para ser interpretados por cmd.exe o el obsoleto

COMMAND.COM se les conoce como archivos "BATCH" (procesamiento por lotes) y acaban en .bat. En el

sistema operativo Windows, existen varios lenguajes interpretados como Visual Basic Script, JavaScript, WScript,

Batch Script, etc.

En diseño web

Los guiones en internet se pueden clasificar en guiones del lado del cliente y del lado del servidor.

Guiones del lado del cliente

Los guiones del lado del cliente se deben incluir con el tag <script>, incluyendo el atributo type con el tipo

MIME

Generalmente se usa JavaScript, pero se puede usar VBScript (solo Internet Explorer o Google Chrome). Tiene

como objetivo, por lo general, AJAX o manipulación del DOM.

Guiones del lado del servidor

No tienen los problemas de accesibilidad que pueden presentar los guiones en el cliente. También permiten

modificar las cabeceras http, u obtenerlas. Además, permiten acceso a bases de datos y otros archivos internos.

Traducción

El término inglés script se tomó del guion escrito de las artes escénicas, el cual es interpretado por una serie de

actores/actrices (o, en este caso, programas) siguiendo un orden establecido.

En algunos textos se traduce script como «guión». Esta traducción de momento está empezando a establecerse y es

bastante frecuente en el ámbito de algunas comunidades y publicaciones sobre software libre, como el equipo de

traducción de KDE, que traduce en la mayoría de las aplicaciones para este escritorio script como «guión», o

diversas guías y manuales de software[1]. No obstante su uso es aún minoritario a nivel general, pero junto con la

expresión "archivo de órdenes" empleada en América es la castellanización más difundida.

Enlaces externos

• ¿Qué es un guion (script)? [2]

• Curso de programación de guiones en bash [3]

• Conversaciones de Bar - Un libro libre de bash scripting [4]

Referencias

[1] http://www.gentoo.org/doc/es/handbook/handbook-amd64.xml?part=2&chap=4#doc_chap4

[2] http://www.demiurgo.org/doc/shell/shell-2.html

[3] http://www.etxea.net/docu/taller_bash/bash.html [4] http://apoie.org/JulioNeves/ConversaIII.htm

Prácticas de laboratorio: Manejo de Scripts para la configuración del entorno y servicios en

sistemas operativos Linux/Windows

Page 110: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 109

3.4. Administración de cuentas y grupos de usuarios

Comandos para el manejo de Usuarios y Grupos

Tipos de usuarios

Los usuarios en Unix/Linux se identifican por un número único de usuario, User ID, UID. Y pertenecen a un grupo principal de usuario, identificado también por un número único de grupo, Group ID, GID. El usuario puede pertenecer a más grupos además del principal. Se pueden identificar tres tipos de usuarios en Linux:

•Usuario root

•Usuarios especiales

•Usuarios normales

Usuario root

También llamado superusuario o administrador.

Su UID (User ID) es 0 (cero).

Es la única cuenta de usuario con privilegios sobre todo el sistema.

Acceso total a todos los archivos y directorios con independencia de propietarios y permisos.

Controla la administración de cuentas de usuarios.

Ejecuta tareas de mantenimiento del sistema.

Puede detener el sistema.

Instala software en el sistema.

Puede modificar o reconfigurar el kernel, controladores, etc.

Usuarios especiales

Ejemplos: bin, daemon, adm, lp, sync, shutdown, mail, operator, squid, apache, etc.

Se les llama también cuentas del sistema. Se crean (generalmente) automáticamente en la instalación de Linux o de la aplicación.

No tiene todos los privilegios del usuario root, pero dependiendo de la cuenta asumen distintos privilegios de root, para proteger al sistema de posibles formas de vulnerar la seguridad.

Se les conoce como cuentas de "no inicio de sesión" (nologin). No tienen contraseñas.

Generalmente se les asigna un UID entre 1 y 100 (definido en /etc/login.defs)

Usuarios normales

Se usan para usuarios individuales.

Cada usuario dispone de un directorio de trabajo, ubicado generalmente en /home.

Cada usuario puede personalizar su entorno de trabajo.

Tienen solo privilegios completos en su directorio de trabajo o home.

Por seguridad, es siempre mejor trabajar como un usuario normal en vez del usuario root, y cuando se requiera hacer uso de comandos solo de root, utilizar el comando su.

En las distribuciones actuales de Linux se les asigna generalmente un UID superior a 500.

Directorios donde se guarda la información de usuarios y grupos

/etc/passwd -- información de los usuarios. /etc/shadow - almacenamiento de contraseñas cifradas /etc/group -- información de grupos /etc/login.defs -- están definidas las variables que controlan los aspectos de la creación de usuarios y de los

campos de shadow usadas por defecto.

Page 111: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 110

Comandos para el manejo de usuarios

adduser – useradd

useradd o adduser es el comando que permite añadir nuevos usuarios al sistema desde la línea de

comandos.

adduser [opciones] nombreusuario

useradd [opciones] nombreusuario

Nota: Se creará el usuario y su grupo, asi como las entradas correspondientes en /etc/passwd, /etc/shadow y /etc/group.

También se creará el directorio de inicio o de trabajo: /home/tic y los archivos de configuración que van dentro de este

directorio y que más adelante se detallan. Las fechas de expiración de contraseña, etc

Sus opciones más comunes o importantes son las siguientes:

-c añade un comentario al momento de crear al usuario, campo 5 de /etc/passwd

-d directorio de trabajo o home del usuario, campo 6 de /etc/passwd

-e fecha de expiración de la cuenta, formato AAAA-MM-DD, campo 8 de /etc/shadow

-g número de grupo principal del usuario (GID), campo 4 de /etc/passwd

-G otros grupos a los que puede pertenecer el usuario, separados por comas

-r crea una cuenta del sistema o especial, su UID será menor al definido en /etc/login.defs en la variable

UID_MIN, además no se crea el directorio de inicio

-s shell por defecto del usuario cuando ingrese al sistema. Si no se especifica, bash, es el que queda

establecido

-u UID del usuario, si no se indica esta opción, automáticamente se establece el siguiente número disponible

a partir del último usuario creado.

Ejemplo:

Primera forma

#adduser tic1

tic1:x:1002:1002:TIC,1,9,9,9:/home/tic1:/bin/bash

Page 112: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 111

Segunda forma #useradd tic

tic:x:1001:1001::/home/tic:/bin/sh #passwd tic escribir contraseña:

#useradd -c “Alumnos TIC" tic #adduser -c “grupo TIC33“ tic33a

#useradd -d /usr/tic -s /bin/csh -u 800 -c " Alumnos TIC " tic

#adduser tic1

tic1:x:1002:1002:TIC,1,9,9,9:/home/tic1:/bin/bash

Manejo de permisos

El Permiso de Archivo se da a usuarios, grupos y otros son:

-rwxrw-r- La línea anterior indica que se trata de un fichero normal, con permisos de lectura, escritura y ejecución para el usuario propietario, lectura y escritura para el grupo propietario y lectura para el resto de usuarios.

r (lectura): Permite ver el contenido del directorio

Page 113: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 112

w (escritura): Permite modificar el contenido de un directorios, es decir, añadir y/o eliminar ficheros y directorios (para poder modificar un directorio es imprescindible, tener además, permiso de ejecución) x (ejecución): Permite convertir el directorio en el directorio activo

chmod

Permite alterar / cambiar los derechos de acceso a archivos y directorios.

Sintaxis: chmod [options] [MODE] FileName

Opciones:

•Sintáxis no numérica

u Permisos de usuarios. g Permisos de grupo. o Permisos de otros. + agregar permiso - eliminar permiso Ejemplos: #ls –l -rw-r--r-- 1 norma norma 120 jun 19 22:41 comandos.txt # chmod u+rwx comandos.txt #ls –l -rwxr--r-- 1 norma norma 120 jun 19 22:41 comandos.txt #chmod g+rwx comandos.txt #ls –l -rwxrwxr-- 1 norma norma 120 jun 19 22:41 comandos.txt # chmod o+rwx comandos.txt #ls –l -rwxrwxrwx 1 norma norma 120 jun 19 22:41 comandos.txt

•Sintáxis numérica chmod [-R] XYZ fichero1 [ fichero2 ...] XYZ: son tres dígitos que se deben activar con 1 para especificar los permisos que deseamos establecer para el archivo. –R se utiliza para forzar recursivamente el cambio de permisos para los ficheros especificados que sean directorios.

#chmod permisos nombre Indica los permisos a cambiar fichero o directorio afectado Supongamos que queremos poner los permisos rwxr—r-- es decir, 111 100 100, con lo que el número será 744. Para poner todos los permisos será 777 y para poner solo permisos para el propietario será 700. Ejemplos: root@tic32#chmod 700 var root@tic32#chmod 770 var root@tic32#chmod 777 var

Page 114: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 113

Programación desde el Shell con el manejo de scripts

Los .sh son scripts que ejecutas directamente en la consola. La ventaja de instalar un programa con estos formatos es que funciona bien casi en todas las distribuciones, en tanto que los formados precompilados para instalar programas como los .deb o .rpm están más limitados.

* Revisar cuál es el shell que estamos usando y en que directorio esta instalado Shell de tipo bash

Prácticas de laboratorio: analizar y ejecutar comandos para el manejo de usuarios de

sistemas operativos Linux/Windows

Page 115: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 114

Comandos para el manejo de Grupos de Usuarios

chgrp

Formato: chgrp [opciones] grupo archivos

Descripción: Permite el cambio del grupo propietario de un archivo o directorio. Para cambiar la

propiedad de grupo de un archivo o directorio hay que ser el propietario de dicho archivo o ser el usuario

root.

Las opciones son:

-c

-f

-v

-R

grupo

archivos

Muestra detalladamente la acción de cambio de grupo propietario para archivo o directorio en el

que se realice la acción.

Anula los mensajes de error de los archivos o directorios a los que no puede cambiar el grupo

propietario.

Muestra detalladamente los cambios de grupo propietario.

Cambia recursivamente la propiedad de grupo en los directorios y sus contenidos.

En grupo se indica cuál será el nuevo propietario.

En archivos se indica la lista de archivos y directorios a los que se le quiere cambiar el grupo

propietario.

Ejemplo:

chgrp invitados p*

Cambia el grupo propietario a invitados de todos los archivos que comiencen por la letra p

dentro del directorio actual.

Page 116: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 115

Comando: chown

Formato: chown [opciones] usuario archivos

Descripción: Permite el cambio de usuario propietario de un archivo o directorio. Para cambiar el

propietario de un archivo o directorios hay que ser el propietario de dicho archivo o ser el usuario root. Si

se cambia la propiedad de un archivo sin ser el root ya no se podrá volver a obtener dicha propiedad, esta

acción la tendrá que hacer el nuevo propietario o el root.

Las opciones son:

-c

-f

-v

-R

usuario

archivos

Muestra detalladamente la acción de cambio de propietario para cada archivo o directorio en el

que se realice la acción.

Anula los mensajes de error de los archivos o directorio a los que no puede cambiar el

propietario.

Muestra detalladamente los cambios de propietario.

Cambia recursivamente el usuario propietario en los directorios y sus contenidos.

En usuario se indica cuál va a ser el nuevo propietario.

En archivos se indica la lista de archivos y directorios a los que se quiere cambiar el propietario.

Ejemplos:

chown psanchez tabla.txt

Cambia el propietario de tabal.txt al usuario psanchez.

Prácticas de laboratorio: analizar y ejecutar comandos para el manejo de grupos de usuarios

de sistemas operativos Linux/Windows

Page 117: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 116

IV. Instalación y configuración de servicios de los sistemas operativos

(Windows y basado en UNIX).

Objetivo: El alumno administrará los sistemas operativos para la instalación y configuración de los servicios.

4.1. Servicio de correo electrónico

Seleccionar un programa de correo

La selección de un programa de correo es principalmente una cuestión de preferencias; algunos son muy

fáciles de usar, mientras que otros puede que ofrezcan funciones más complejas, como las libretas de direcciones o

los datos adjuntos de archivos. En esta sección veremos varios programas sencillos y conocidos de correo que

funcionan con Linux.

Comando mail

El programa de correo más sencillo que hay se denomina mail y se suele hallar en el directorio / bin. Este

programa no tiene un editor a pantalla completa y no requiere el sistema X Window. El comando mail, parecido al

programa mailx que se distribuye con otras versiones de UNIX , soporta las características básicas necesarias para

redactar, enviar, enumerar y leer mensajes.

¡ATENCIÓN AL ENVIAR CORREO DESDE LA LÍNEA DE COMANDOS!

Utilice el redireccionamiento con prudencia. ¡No es una idea muy buena que digamos enviar a alguien el

contenido del diccionario del sistema !

Para crear y enviar correo con mail, siga estos pasos:

1. En la línea de comandos, introduzca la palabra mail seguida de la dirección de correo electrónico de destino, de este modo :

# mail

2. El comando mail responderá con la indicación Subject. Introduzca una breve línea relativa al asunto: Subject: Proyecto de Programación Nexus.

3. Pulse Intro y escriba el texto de su mensaje: ¡Tengo una oportunidad inmejorable! La empresa con la que hablamos el miércoles está interesada en

contratar tu equipo de programación. Por favor, llámame para confirmar si puedes atenderles.

4. Cuando haya terminado de escribir el texto, introduzca un punto (.) en una línea sola para enviar el mensaje: EOT

5. El programa mail responde imprimiendo las letras EOT (fin de texto) y enviando el mensaje. Utilice el comando mail para recuperar el correo del directorio /var/spool/mail.

Para leer el correo, utilice el comando mail en la línea de comandos, así:

# mail

Cuando utiliza el comando mail, éste imprime una versión corta del mensaje y luego enumera los mensajes.

El signo & es una indicación de la línea de comandos. Utilice in comando de una sola letra (véase la Tabla 17.2)

para leer, eliminar, guardar o responder al mensaje de correo en curso, lo cual se sabe por un signo mayor que (>).

Por defecto, los mensajes guardados se almacenan en un archivo llamado mbox del directorio de inicio. La siguiente

tabla enumera los comandos más habituales del programa mail ; para obtener una lista completa de los comandos

mail , remítase a la página man correo.

Page 118: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 117

Comandos habituales del programa mail

Comando talk

El comando talk permite una conversación entre dos usuarios al mismo tiempo, en pantalla. El formato del

comando talk es el siguiente:

Talk username [ttyname]

Este programa que te permite tener una comunicación de manera visual, el cual copia las líneas que se

escriben en la pantalla del usuario con el que ha establecido la conversación.

Si desea platicar con alguien que está en le mismo sistema, entonces como username se pone el login de

esa persona. Pero si se desea platicar con alguien que se encuentra en otra máquina, entonces el username de esa

persona debe llevar información adicional, indicando el host en el que se encuentra:

user@host

Para mandar un mensaje a una persona que está trabajando en varias sesiones, debemos utilizar el

argumento tíñame para indicar la terminal apropiada en que debe aparecer el mensaje.

Cuando alguien hace la primera llamada, se envía el siguiente mensaje:

Message from talk _Daemon@goya at 21:24...

talk : connection requested by [email protected]

talk : respond with: talk [email protected]

Y el que recibe el mensaje , para poder iniciar la conversación debe contestar de la siguiente manera:

goya% talk [email protected] .udg.mx

Una vez que se establece la comunicación, ambos usuarios pueden teclear mensajes al mismo tiempo, es

decir, de manera simultánea. En el momento del establecimiento de la conversación la pantalla de ambos usuarios

se divide en dos partes.

Tecla Específica

+ Moverse al siguiente mensaje y enumerarlo

- Moverse al mensaje anterior y enumerarlo

? Imprimir una lista de los comandos mail

R Responde al remitente

d Eliminar mensaje en curso

h Volver a imprimir la lista de mensajes (después de enumerar

un mensaje)

n Ir al mensaje siguiente y enumerarlo

q Salir y guardar los mensajes en el buzón predeterminado,

mbox.

r Responder al remitente y a todos los destinatarios.

t Escribir o enumerar el mensaje en curso.

x Salir y no guardar los mensajes de mbox.

Page 119: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 118

Con CTRL-L puedes reestablecer la imagen de la pantalla, esto se utiliza cuando los caracteres no se borran, o se

ven incompletas o cortadas los mensajes que se envían los usuarios. Cuando se llena la pantalla de caracteres con

la conversación o cuando los caracteres no aparecen en la pantalla de manera normal.

Para terminar la comunicación se teclea CTRL.-C.

Correo electrónico

Talk permite comunicaciones en tiempo real; sin embargo, muchas veces es necesario enviar un mensaje a

un usuario que no se encuentra actualmente conectado. Para ello puede utilizarse el correo electrónico.

El comando talk es un programa de comunicaciones terminal-a-terminal.talk anuncia al otro usuario que se

desea hablar con él. Si el nombre del otro usuario es alu123 y se teclea:

$ talk alu123

El comando talk notifica a alu123 que se desea hablar con él y le solicita el visto bueno, alu123 ve en la

pantalla un mensaje que le indica quien desea hablar con él , desde donde y qué debe teclear para iniciar la

conversación. Si alu123 responde, talk divide la pantalla de cada terminal en una mitad superior y otra inferior. Las

líneas que el usuario teclea en su terminal, aparecen en la mitad superior, y las que teclea la otra persona aparecen

en la mitad inferior.

Los dos pueden teclear simultáneamente y ver cada uno la salida del otro sobre su pantalla. Para finalizar la

conversación basta con pulsar CTRL-C.

Para mandarle un mensaje a una persona que está trabajando en varias sesiones, se debe utilizar el

argumento tíñame para indicar la terminal apropiada en que debe aparecer el mensaje.

Dos personas pueden establecer una conversación escribiéndose uno al otro. Cuando la otra persona recibe

el mensaje de aviso de que alguien le va a enviar un mensaje, puede contestarle si es que lo desea. Ahora, desde

que los dos se están mandando mensajes de manera simultánea, deben establecer una manera para saber cuándo

terminó de escribir un mensaje cada quien . Ya sea algún carácter como por ejemplo -o- para indicar que ya

terminaron esa frase y con –oo- para indicar que ya es el fin de la conversación.

Una vez que se ha terminado de teclear el mensaje, se teclea CTRL.-D para enviarlo.

4.2. Servicio web

Servidor HTTP Apache

Apache

Desarrollador

Apache Software Foundation

httpd.apache.org [1]

Información general

Diseñador Robert

[]

McCool Lanzamiento inicial []

1995

Page 120: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 119

Última versión estable 2.4.4 (info

[2] )

25 de febrero de 2013

Género Servidor web

Programado en C

Sistema operativo Multiplataforma

Licencia Licencia Apache 2.0

En español ?

El servidor HTTP Apache es un servidor web HTTP de código abierto, para plataformas Unix (BSD,

GNU/Linux, etc.), Microsoft Windows, Macintosh y otras, que implementa el protocolo HTTP/1.1[3] y la

noción de sitio virtual.

Cuando comenzó su desarrollo en 1995 se basó inicialmente en código del popular NCSA HTTPd 1.3,

pero más tarde fue reescrito por completo. Su nombre se debe a que Behelendorf quería que tuviese la

connotación de algo que es firme y enérgico pero no agresivo, y la tribu Apache fue la última en rendirse

al que pronto se convertiría en gobierno de EEUU, y en esos momentos la preocupación de su grupo

era que llegasen las empresas y "civilizasen" el paisaje que habían creado los primeros ingenieros de

internet. Además Apache consistía solamente en un conjunto de parches a aplicar al servidor de NCSA.

En inglés, a patchy server (un servidor "parcheado") suena igual que Apache Server.

El servidor Apache se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache Software Foundation.

Apache presenta entre otras características altamente configurables, bases de datos de autenticación y

negociado de contenido, pero fue criticado por la falta de una interfaz gráfica que ayude en su

configuración.

Apache tiene amplia aceptación en la red: desde 1996, Apache, es el servidor HTTP más usado. Alcanzó

su máxima cuota de mercado en 2005 siendo el servidor empleado en el 70% de los sitios web en el

mundo, sin embargo ha sufrido un descenso en su cuota de mercado en los últimos años. (Estadísticas

históricas y de uso diario proporcionadas por Netcraft[4]).

La mayoría de las vulnerabilidades de la seguridad descubiertas y resueltas tan sólo pueden ser

aprovechadas por usuarios locales y no remotamente. Sin embargo, algunas se pueden accionar

remotamente en ciertas situaciones, o explotar por los usuarios locales malévolos en las disposiciones de

recibimiento compartidas que utilizan PHP como módulo de Apache.

Ventajas

• Modular

• Código abierto

• Multi-plataforma

• Extensible

• Popular (fácil conseguir ayuda/soporte)

Módulos

La arquitectura del servidor Apache es muy modular. El servidor consta de una sección core y diversos módulos que

aportan mucha de la funcionalidad que podría considerarse básica para un servidor web. Algunos de estos módulos

son:

• mod_ssl [5]

- Comunicaciones Seguras vía TLS.

• mod_rewrite [6]

- reescritura de direcciones (generalmente utilizado para transformar páginas dinámicas como php

en páginas estáticas html para así engañar a los navegantes o a los motores de búsqueda en cuanto a cómo fueron

desarrolladas estas páginas).

Page 121: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 120

• mod_dav [7]

- Soporte del protocolo WebDAV (RFC 2518).

• mod_deflate [8]

- Compresión transparente con el algoritmo deflate del contenido enviado al cliente.

• mod_auth_ldap [9]

- Permite autentificar usuarios contra un servidor LDAP.

• mod_proxy_ajp [10]

- Conector para enlazar con el servidor Jakarta Tomcat de páginas dinámicas en Java (servlets

y JSP).

• mod_cfml [11]

- Conector CFML usado por Railo [12]

.

El servidor de base puede ser extendido con la inclusión de módulos externos entre los cuales se encuentran:

• mod_cband [13]

- Control de tráfico y limitador de ancho de banda.

• mod_perl [14]

- Páginas dinámicas en Perl.

• mod_php [15]

- Páginas dinámicas en PHP.

• mod_python [16]

- Páginas dinámicas en Python.

• mod_rexx [17]

- Páginas dinámicas en REXX y Object REXX.

• mod_ruby [18]

- Páginas dinámicas en Ruby.

• mod_aspdotnet [19]

- Páginas dinámicas en .NET de Microsoft (Módulo retirado).

• mod_mono [20]

- Páginas dinámicas en Mono

• mod_security - Filtrado a nivel de aplicación, para seguridad.

Uso

Apache es usado principalmente para enviar páginas web estáticas y dinámicas en la World Wide Web. Muchas

aplicaciones web están diseñadas asumiendo como ambiente de implantación a Apache, o que utilizarán

características propias de este servidor web.

Apache es el componente de servidor web en la popular plataforma de aplicaciones LAMP, junto a MySQL y los

lenguajes de programación PHP/Perl/Python (y ahora también Ruby).

Este servidor web es redistribuido como parte de varios paquetes propietarios de software, incluyendo la base de

datos Oracle y el IBM WebSphere application server. Mac OS X integra apache como parte de su propio servidor

web y como soporte de su servidor de aplicaciones WebObjects. Es soportado de alguna manera por Borland en las

herramientas de desarrollo Kylix y Delphi. Apache es incluido con Novell NetWare 6.5, donde es el servidor web

por defecto, y en muchas distribuciones Linux.

Apache es usado para muchas otras tareas donde el contenido necesita ser puesto a disposición en una forma segura

y confiable. Un ejemplo es al momento de compartir archivos desde una computadora personal hacia Internet. Un

usuario que tiene Apache instalado en su escritorio puede colocar arbitrariamente archivos en la raíz de documentos

de Apache, desde donde pueden ser compartidos.

Los programadores de aplicaciones web a veces utilizan una versión local de Apache con el fin de previsualizar y

probar código mientras éste es desarrollado.

Microsoft Internet Information Services (IIS) es el principal competidor de Apache, así como Sun Java System Web

Server de Sun Microsystems y un anfitrión de otras aplicaciones como Zeus Web Server. Algunos de los más

grandes sitios web del mundo están ejecutándose sobre Apache. La capa frontal (front end) del motor de búsqueda

Google está basado en una versión modificada de Apache, denominada Google Web Server (GWS). Muchos

proyectos de Wikimedia también se ejecutan sobre servidores web Apache.

Configuración

La mayor parte de la configuración se realiza en el fichero apache2.conf o httpd.conf, según el sistema donde esté

corriendo. Cualquier cambio en este archivo requiere reiniciar el servidor, o forzar la lectura de los archivos de

configuración nuevamente.

Licencia

Page 122: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 121

La licencia de software bajo la cual el software de la fundación Apache es distribuido es una parte distintiva de la

historia de Apache HTTP Server y de la comunidad de código abierto. La Licencia Apache permite la distribución de

derivados de código abierto y cerrado a partir de su código fuente original.

La Free Software Foundation no considera a la Licencia Apache como compatible con la versión 2 de la GNU

General Public License (GPL), en la cual el software licenciado bajo la Apache License no puede ser integrado con

software distribuido bajo la GPL:

Este es software libre pero es incompatible con la GPL. La Apache Software License es incompatible

con la GPL porque tiene un requerimiento específico que no está incluido en la GPL: tiene ciertos casos

de terminación de patentes que la GPL no requiere. No consideramos que dichos casos de terminación

de patentes son inherentemente una mala idea, pero a pesar de ello son incompatibles con la GNU

GPL.[21]

Sin embargo, la versión 3 de la GPL incluye una provisión (Sección 7e) que le permite ser compatible con licencias

que tienen cláusulas de represalia de patentes, incluyendo a la Licencia Apache.

El nombre Apache es una marca registrada y puede ser sólo utilizada con el permiso expreso del dueño de la

marca.[22]

Referencias

[1] http://httpd.apache.org

[2] http://www.apache.org/dist/httpd/Announcement2.4.txt

[3] RFC 2616 (http://www.ietf.org/rfc/rfc2616.txt)

[4] Netcraft (http://news.netcraft.com/)

[5] http://httpd.apache.org/docs/2.2/mod/mod_ssl.html

[6] http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html

[7] http://httpd.apache.org/docs/2.2/mod/mod_dav.html

[8] http://httpd.apache.org/docs/2.2/mod/mod_deflate.html

[9] http://httpd.apache.org/docs/2.2/mod/mod_auth_ldap.html

[10] http://httpd.apache.org/docs/2.2/mod/mod_proxy_ajp.html

[11] http://www.modcfml.org

[12] http://en.wikipedia.org/wiki/Railo

[13] http://www.howtoforge.com/mod_cband_apache2_bandwidth_quota_throttling

[14] http://perl.apache.org/

[15] http://www.php.net/manual/es/security.apache.php

[16] http://www.modpython.org/

[17] http://sourceforge.net/projects/modrexx/

[18] http://www.modruby.net/en/

[19] http://httpd.apache.org/cli/

[20] http://www.mono-project.com/ASP.NET

[21] Various Licenses and Comments about Them (http://www.gnu.org/philosophy/license-list.html) from GNU

Enlaces externos

• Sitio web del Proyecto Apache (http://httpd.apache.org)

• Sitio web de Apache Software Foundation (http://www.apache.org)

PHP

Page 123: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 122

PHP

Desarrollador(es)

PHP Group

php.net/ [1]

Información general

Extensiones comunes .php, .phtml .php4 .php3 .php5 .phps

Paradigma multiparadigma: imperativo, orientado a objetos, procedural, reflexivo

Apareció en 1995

Diseñado por Rasmus Lerdorf

Última versión estable 5.5.0

[2] (20 de junio de 2013)

Tipo de dato dinámico

Influido por C, C++, Perl, Java, Python

Sistema operativo Multiplataforma

Licencia Licencia PHP

PHP es un lenguaje de programación de uso general de código del lado del servidor originalmente diseñado para el

desarrollo web de contenido dinámico. Fue uno de los primeros lenguajes de programación del lado del servidor que

se podían incorporar directamente en el documento HTML en lugar de llamar a un archivo externo que procese los

datos. El código es interpretado por un servidor web con un módulo de procesador de PHP que genera la página Web

resultante. PHP ha evolucionado por lo que ahora incluye también una interfaz de línea de comandos que puede ser

usada en aplicaciones gráficas independientes. PHP puede ser usado en la mayoría de los servidores web al igual que

en casi todos los sistemas operativos y plataformas sin ningún costo.

PHP fue creado originalmente por Rasmus Lerdorf en 1995. Actualmente el lenguaje sigue siendo desarrollado con

nuevas funciones por el grupo PHP.[]

Este lenguaje forma parte del software libre publicado bajo la licencia PHP que

es incompatible con la Licencia Pública General de GNU debido a las restricciones del uso del término PHP.[3]

Visión general

PHP es un acrónimo recursivo que significa PHP Hypertext Pre-processor (inicialmente PHP Tools, o, Personal

Home Page Tools).[4]

Fue creado originalmente por Rasmus Lerdorf; sin embargo la implementación principal de

PHP es producida ahora por The PHP Group y sirve como el estándar de facto para PHP al no haber una

especificación formal. Publicado bajo la PHP License, la Free Software Foundation considera esta licencia como

software libre.

Puede ser desplegado en la mayoría de los servidores web y en casi todos los sistemas operativos y plataformas sin

costo alguno. El lenguaje PHP se encuentra instalado en más de 20 millones de sitios web y en un millón de

servidores, el número de sitios en PHP ha compartido algo de su preponderante dominio con otros nuevos lenguajes

no tan poderosos desde agosto de 2005. El sitio web de Wikipedia está desarrollado en PHP. Es también el módulo

Apache más popular entre las computadoras que utilizan Apache como servidor web.

El gran parecido que posee PHP con los lenguajes más comunes de programación estructurada, como C y Perl,

permiten a la mayoría de los programadores crear aplicaciones complejas con una curva de aprendizaje muy corta.

También les permite involucrarse con aplicaciones de contenido dinámico sin tener que aprender todo un nuevo

grupo de funciones.

Page 124: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 123

Aunque todo en su diseño está orientado a facilitar la creación de sitios webs, es posible crear aplicaciones con una

interfaz gráfica para el usuario, utilizando la extensión PHP-Qt o PHP-GTK. También puede ser usado desde la línea

de órdenes, de la misma manera como Perl o Python pueden hacerlo; a esta versión de PHP se la llama PHP-CLI

(Command Line Interface).

Cuando el cliente hace una petición al servidor para que le envíe una página web, el servidor ejecuta el intérprete de

PHP. Éste procesa el script solicitado que generará el contenido de manera dinámica (por ejemplo obteniendo

información de una base de datos). El resultado es enviado por el intérprete al servidor, quien a su vez se lo envía al

cliente. Mediante extensiones es también posible la generación de archivos PDF, Flash, así como imágenes en

diferentes formatos.

Permite la conexión a diferentes tipos de servidores de bases de datos tales como MySQL, PostgreSQL, Oracle,

ODBC, DB2, Microsoft SQL Server, Firebird y SQLite.

PHP también tiene la capacidad de ser ejecutado en la mayoría de los sistemas operativos, tales como Unix (y de ese

tipo, como Linux o Mac OS X) y Microsoft Windows, y puede interactuar con los servidores de web más populares

ya que existe en versión CGI, módulo para Apache, e ISAPI.

PHP es una alternativa a las tecnologías de Microsoft ASP y ASP.NET (que utiliza C# y Visual Basic .NET como

lenguajes), a ColdFusion de la empresa Adobe, a JSP/Java y a CGI/Perl. Aunque su creación y desarrollo se da en el

ámbito de los sistemas libres, bajo la licencia GNU, existe además un entorno de desarrollo integrado comercial

llamado Zend Studio. CodeGear (la división de lenguajes de programación de Borland) ha sacado al mercado un

entorno de desarrollo integrado para PHP, denominado 'Delphi for PHP. También existen al menos un par de

módulos para Eclipse, uno de los entornos más populares.[5]

Historia

Fue originalmente diseñado en Perl, con base en la escritura de un grupo de CGI binarios escritos en el lenguaje C

por el programador danés-canadiense Rasmus Lerdorf en el año 1994 para mostrar su currículum vítae y guardar

ciertos datos, como la cantidad de tráfico que su página web recibía. El 8 de junio de 1995 fue publicado "Personal

Home Page Tools" después de que Lerdorf lo combinara con su propio Form Interpreter para crear PHP/FI.

Dos programadores israelíes del Technion, Zeev Suraski y Andi Gutmans, reescribieron el analizador sintáctico

(parser en inglés) en el año 1997 y crearon la base del PHP3, cambiando el nombre del lenguaje por PHP: Hypertext

Preprocessor.[]

Inmediatamente comenzaron experimentaciones públicas de PHP3 y fue publicado oficialmente en

junio de 1998. Para 1999, Suraski y Gutmans reescribieron el código de PHP, produciendo lo que hoy se conoce

como motor Zend. También fundaron Zend Technologies en Ramat Gan, Israel.[]

En mayo de 2000 PHP 4 fue lanzado bajo el poder del motor Zend Engine 1.0. El día 13 de julio de 2007 se anunció

la suspensión del soporte y desarrollo de la versión 4 de PHP,[6]

a pesar de lo anunciado se ha liberado una nueva

versión con mejoras de seguridad, la 4.4.8 publicada el 13 de enero del 2008 y posteriormente la versión 4.4.9

publicada el 7 de agosto de 2008.[7]

Según esta noticia[8]

se le dio soporte a fallos críticos hasta el 9 de agosto de

2008.

El 13 de julio de 2004, fue lanzado PHP 5, utilizando el motor Zend Engine 2.0 (o Zend Engine 2).[]

Incluye todas

las ventajas que provee el nuevo Zend Engine 2 como:

• Mejor soporte para la programación orientada a objetos, que en versiones anteriores era extremadamente

rudimentario.

• Mejoras de rendimiento.

• Mejor soporte para MySQL con extensión completamente reescrita.

• Mejor soporte a XML (XPath, DOM, etc.).

• Soporte nativo para SQLite.

• Soporte integrado para SOAP.

• Iteradores de datos.

Page 125: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 124

• Manejo de excepciones.

• Mejoras con la implementación con Oracle.

Historial de lanzamiento

Significado

Rojo Sin soporte

Verde Con soporte

Azul Lanzamiento futuro

Versión

mayor Versión

menor Fecha de

lanzamiento Notas

1 1.0.0 08-06-1995

Llamada oficialmente "Personal Home Page Tools (PHP Tools)". Es la primera versión en usar el nombre []

"PHP".

2 2.0.0 01-11-1997 Considerada por sus creadores la "herramienta más rápida y sencilla" para crear páginas web

[] dinámicas.

3 3.0.0 06-06-1998 Zeev Suraski y Andi Gutmans reescribieron la base para esta

[] versión.

4 4.0.0 22-05-2000 Se añadió un sistema de parsing de dos fases llamado motor

[] Zend.

4.1.0 10-12-2001 Se introducen 'superglobales' ($_GET, $_POST, $_SESSION,

[] etc.)

4.2.0 22-04-2002 Se deshabilitan register_globals por defecto. Datos recibidos por la red no son insertados en el

espacio de nombres global, cerrando posibles agujeros de seguridad en las []

aplicaciones. 4.3.0 27-12-2002

Se introduce CLI, y CGI [][] .

4.4.0 11-07-2005 Se añaden páginas man para phpize y php-config

[] .

4.4.9 07-08-2008 Mejoras de seguridad y arreglo de bugs. Último lanzamiento de la serie PHP

[9][10] 4.4.

5 5.0.0 13-07-2004 Motor Zend II con un nuevo modelo de

[] objetos.

5.1.0 24-11-2005 Mejoras de rendimiento con la introducción de variables de compilador para el nuevo motor de

[] PHP.

5.2.0 02-11-2006 Activida extensión de filtro por defecto. Soporte JSON

[] nativo.

5.2.17 06-01-2011 Arreglo de vulnerabilidad crítica conectada a punto flotante.

5.3.0 30-06-2009 Soporte para espacios de nombres, enlace estático en tiempo de ejecución, etiqueta de salto (goto limitada),

Clausuras nativas, Soporte nativo para archivos PHP (phar), recolección de basura para referencias

circulares, soporte mejorado para Windows, sqlite3, mysqlnd como reemplazo a libmysql como biblioteca

para extensiones que funcionan con MySQL, fileinfo como reemplzado de mime_magic para mejor soporte

MIME, extensión de Internacionalización, y etiqueta ereg obsoleta.

5.3.1 19-11-2009 Cerca de 100 bug fixes

[11] .

5.3.2 04-03-2010 Gran número de bug fixes.

5.3.3 22-07-2010 Mayoritariamente arreglo de errores; FPM SAPI.

5.3.4 10-12-2010 Mejoras a FPM SAPI.

5.3.5 06-01-2011 Arreglo de vulnerabilidad crítica relacionada a punto flotante.

5.3.6 10-03-2011 Cerca de 60 bug fixes.

Page 126: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 125

5.3.7 18-08-2011 Esta versión se enfoca en la estabilidad con cerca de 90 bug fixes, algunos de los cuales tienen implicaciones

a la seguridad.

5.3.8 23-08-2011 Esta versión arregla dos errores introducidos por la versión 5.3.7.

5.3.9 10-01-2012 Esta versión se enfoca en la estabilidad con cerca de 90 bug fixes, algunos de los cuales tienen implicaciones

a la seguridad.

5.3.10 02-02-2012 Arreglo de vulnerabilidad de ejecución de código arbitrario reportada por Stefan Esser, CVE-2012-0830.

5.3.11 26-04-2012 ..

5.3.12 03-05-2012 ..

5.3.13 08-05-2012 Arreglo de vulnerabilidad para instalaciones basadas en CGI.

5.3.14 14-06-2012 ...

5.3.15 19-07-2012 ...

5.3.16 16-08-2012 ...

5.3.17 13-09-2012 ...

5.3.18 18-10-2012 ...

5.3.19 22-11-2012 ...

5.3.20 20-12-2012 ...

5.3.21 17-01-2013 ...

5.3.22 21-02-2013 ...

5.3.23 14-03-2013 ...

5.3.24 11-04-2013 ...

5.3.25 [12]

09-05-2013 ...

5.3.26 [13]

06-06-2013 ...

5.3.27 [14]

11-07-2013 ...

5.4.0 01-03-2012 Soporte para Trait y sintaxis abreviada de array. Elementos removidos: register_globals,

safe_mode, allow_call_time_pass_reference, session_register(),

session_unregister() y session_is_registered(). Servidor web [15]

Varias

incorporado.

mejoras a características existentes y al rendimiento, y requerimientos de memoria menores.

Page 127: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 126

5.4.1 26-04-2012 Varios bug fixes y mejoras de seguridad.

5.4.2 03-05-2012 Parche de seguridad para arreglar vulnerabilidad del parámetro query string de PHP-CGI.

5.4.3 08-05-2012 Arreglo de vulnerabilidad para instalaciones basadas en CGI y también para la vulnerabilidad de

desbordamiento de búfer para apache_request_headers()

5.4.4 14-06-2012 ...

5.4.5 19-07-2012 ...

5.4.6 16-08-2012 ...

5.4.7 13-09-2012 ...

5.4.8 18-10-2012 ...

5.4.9 22-11-2012 ...

5.4.10 20-12-2012 ...

5.4.11 17-01-2013 ...

5.4.12 21-02-2013 ...

5.4.13 14-03-2013 ...

5.4.14 11-04-2013 ...

5.4.15 [16]

09-05-2013 ...

5.4.16 [17]

06-06-2013 ...

5.4.17 [18]

04-07-2013 ...

5.5.0

beta3 11-04-2013 ...

5.5.0

beta4 [19]

25-04-2013 ...

5.5.0

RC1 [20]

09-05-2013 ...

5.5.0

RC2 [21]

23-05-2013 ...

5.5.0

RC3 [22]

09-05-2013 ...

5.5.0 20-06-2013

Nuevos generadores para bucles, empty() soporta expresiones. Se pierde el soporte para Windows XP y

Windows Server [23]

2003.

6 6.0.0 Sin fecha El desarrollo de PHP 6 ha sido retrasado porque los desarrolladores decidieron que el enfoque actual para

tratar cadenas Unicode no es correcto, y están considerando formas alternas para la siguiente [24]

versión.

Las mejoras planeadas para PHP 6 fueron añadidas en su lugar en PHP 5.3.0 (Soporte para espacios de

nombre, enlace estático en tiempo de ejecución, funciones lambda, clausuras, goto) y 5.4.0 (traits,

revinculación de clausura).

Page 128: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 127

Sintaxis

Programa Hola mundo con PHP embebido en código HTML:

<!DOCTYPE html>

<html lang="es">

<head>

<meta charset="UTF-8" />

<title> Ejemplo básico PHP</title>

</head>

<body>

<?php

echo 'Hola mundo';

?>

</body>

</html>

El intérprete de PHP solo ejecuta el código que se encuentra entre sus delimitadores. Los delimitadores más comunes

son <?php para abrir una sección PHP y ?> para cerrarla. El propósito de estos delimitadores es separar el código

PHP del resto de código, como por ejemplo el HTML.[25]

Las variables se prefijan con el símbolo del dólar ($) y no es necesario indicar su tipo. Las variables, a diferencia de

las funciones, distinguen entre mayúsculas y minúsculas. Las cadenas de caracteres pueden ser encapsuladas tanto en

dobles comillas como en comillas simples, aunque en el caso de las primeras, se pueden insertar variables en la

cadena directamente, sin necesidad de concatenación.

Los comentarios se pueden escribir bien con dos barras al principio de la línea, o con una almoadilla. También

permite comentarios multi-línea encapsulados en /* */.

En cuanto a las palabras clave, PHP comparte con la mayoría de otros lenguajes con sintaxis C las condiciones con

if, los bucles con for y while y los retornos de funciones. Como es habitual en este tipo de lenguajes, las

sentencias deben acabar con punto y coma (;).

Características de PHP

Características

• Orientado al desarrollo de aplicaciones web dinámicas con acceso a información almacenada en una base de

datos.

• Es considerado un lenguaje fácil de aprender, ya que en su desarrollo se simplificaron distintas especificaciones,

como es el caso de la definición de las variables primitivas, ejemplo que se hace evidente en el uso de php arrays.

• El código fuente escrito en PHP es invisible al navegador web y al cliente, ya que es el servidor el que se encarga

de ejecutar el código y enviar su resultado HTML al navegador. Esto hace que la programación en PHP sea segura

y confiable.

• Capacidad de conexión con la mayoría de los motores de base de datos que se utilizan en la actualidad, destaca su

conectividad con MySQL y PostgreSQL.

• Capacidad de expandir su potencial utilizando módulos (llamados ext's o extensiones).

• Posee una amplia documentación en su sitio web oficial, entre la cual se destaca que todas las funciones del

sistema están explicadas y ejemplificadas en un único archivo de ayuda.

• Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.

• Permite aplicar técnicas de programación orientada a objetos. Incluso aplicaciones como Zend framework,

empresa que desarrolla PHP, están totalmente desarrolladas mediante esta metodología.

Page 129: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 128

• No requiere definición de tipos de variables aunque sus variables se pueden evaluar también por el tipo que estén

manejando en tiempo de ejecución.

• Tiene manejo de excepciones (desde PHP5).

• Si bien PHP no obliga a quien lo usa a seguir una determinada metodología a la hora de programar, aún

haciéndolo, el programador puede aplicar en su trabajo cualquier técnica de programación o de desarrollo que le

permita escribir código ordenado, estructurado y manejable. Un ejemplo de esto son los desarrollos que en PHP

se han hecho del patrón de diseño Modelo Vista Controlador (MVC), que permiten separar el tratamiento y

acceso a los datos, la lógica de control y la interfaz de usuario en tres componentes independientes.

• Debido a su flexibilidad ha tenido una gran acogida como lenguaje base para las aplicaciones WEB de manejo de

contenido, y es su uso principal.

Inconvenientes

• Como es un lenguaje que se interpreta en ejecución, para ciertos usos puede resultar un inconveniente que el

código fuente no pueda ser ocultado. La ofuscación es una técnica que puede dificultar la lectura del código pero

no necesariamente impide que el código sea examinado.

• Debido a que es un lenguaje interpretado, un script en PHP suele funcionar considerablemente más lento que su

equivalente en un lenguaje de bajo nivel, sin embargo este inconveniente se puede minimizar con técnicas de

cache tanto en archivos como en memoria.

• Las variables al no ser tipificadas dificulta a los diferentes IDEs para ofrecer asistencias para el tipificado del

código, aunque esto no es realmente un inconveniente del lenguaje en sí. Esto es solventado por Zend Studio

añadiendo un comentario con el tipo a la declaración de la variable.

XAMPP, LAMP, WAMP, MAMP, UWAMP

XAMPP es un servidor independiente de plataforma, software libre, que consiste principalmente en la base de datos

MySQL, el servidor Web Apache y los intérpretes para lenguajes de script: PHP y Perl. El nombre proviene del

acrónimo de X (para cualquiera de los diferentes sistemas operativos), Apache, MySQL, PHP, Perl. El programa está

liberado bajo la licencia GNU y actúa como un servidor Web libre, fácil de usar y capaz de interpretar páginas

dinámicas. Actualmente XAMPP esta disponible para Microsoft Windows, GNU/Linux, Solaris, y MacOS X.

LAMP presenta una funcionalidad parecida a XAMPP, pero enfocada en Linux, y WAMP lo hace enfocado en

Windows.

Principales sitios desarrollados con PHP

PHP es utilizado en millones de sitios, entre los más destacados se encuentran Wikipedia.org, Facebook.com y

Wordpress.com.

Referencias

[1] http://www.php.net/

[4] FAQ General (http://us.php.net/manual/en/faq.general.php) PHP.net.

[5] Existen tanto PHPEclipse como PDT for Eclipse. Véanse http://www.phpeclipse.com y http://www.eclipse.org/pdt

[6] PHP: News Archives 2007 (http://www.php.net/archive/2007.php) (en inglés) Consultado 9 de diciembre de 2007

[7] PHP: News Archives 2008 (http://www.php.net/archive/2008.php#id2008-08-07-1) (en inglés)

[8] Archivo: 13 Julio de 2007 (http://www.php.net/archive/2007.php#2007-07-13-1) PHP.net.

[11] http://www.php.net/ChangeLog-5.php#5.3.1

Page 130: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 129

Enlaces externos

Wikilibros

• Wikilibros alberga un libro o manual sobre Programación en PHP.

• Sitio web oficial de PHP (http://www.php.net) (en inglés)

• Tutorial de PHP y Mysql (http://paginaweb2.com/cat-php-y-mysql-6)

• Manual oficial en español (http://docs.php.net/manual/es)

SQL

SQL

Desarrollador(es)

IBM

ISO/IEC 9075-1:2012 [1]

Información general

Paradigma Multiparadigma

Apareció en 1974

Diseñado por Donald D. Chamberlin

Raymond F. Boyce

Última versión estable SQL:2012 (2012)

Tipo de dato Estático, Fuerte

Implementaciones Varias

Dialectos SQL-86, SQL-89, SQL-92, SQL:1999, SQL:2003, SQL:2008, SQL:2012

Influido por Datalog

Ha influido a Agena, CQL, LINQ, Windows PowerShell

[cita requerida]

Sistema operativo multiplataforma

SQL

Desarrollador

IBM

ISO/IEC 9075-1:2008 [1]

Información general

Extensión de archivo .sql

Tipo de MIME application/x-sql

Lanzamiento inicial 1986

Última versión SQL:2012

2012

Tipo de formato Base de datos

Estándar(es) ISO/IEC 9075

Formato abierto

Page 131: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 130

El lenguaje de consulta estructurados o SQL (por sus siglas en inglés structured query language) es un lenguaje

declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en ellas.

Una de sus características es el manejo del álgebra y el cálculo relacional que permiten efectuar consultas con el fin

de recuperar de forma sencilla información de interés de bases de datos, así como hacer cambios en ella.

Orígenes y evolución

Los orígenes del SQL están ligados a los de las bases de datos relacionales. En 1970 E. F. Codd propone el modelo

relacional y asociado a este un sublenguaje de acceso a los datos basado en el cálculo de predicados. Basándose en

estas ideas, los laboratorios de IBM definen el lenguaje SEQUEL (Structured English Query Language) que más

tarde sería ampliamente implementado por el sistema de gestión de bases de datos (SGBD) experimental System R,

desarrollado en 1977 también por IBM. Sin embargo, fue Oracle quien lo introdujo por primera vez en 1979 en un

programa comercial.

El SEQUEL terminaría siendo el predecesor de SQL, siendo este una versión evolucionada del primero. El SQL pasa

a ser el lenguaje por excelencia de los diversos sistemas de gestión de bases de datos relacionales surgidos en los

años siguientes y es por fin estandarizado en 1986 por el ANSI, dando lugar a la primera versión estándar de este

lenguaje, el "SQL-86" o "SQL1". Al año siguiente este estándar es también adoptado por la ISO.

Sin embargo, este primer estándar no cubre todas las necesidades de los desarrolladores e incluye funcionalidades de

definición de almacenamiento que se consideró suprimirlas. Así que, en 1992, se lanzó un nuevo estándar ampliado

y revisado del SQL llamado "SQL-92" o "SQL2".

En la actualidad el SQL es el estándar de facto de la inmensa mayoría de los SGBD comerciales. Y, aunque la

diversidad de añadidos particulares que incluyen las distintas implementaciones comerciales del lenguaje es amplia,

el soporte al estándar SQL-92 es general y muy amplio.

El ANSI SQL sufrió varias revisiones y agregados a lo largo del tiempo:

Año Nombre Alias Comentarios

1986 SQL-86 SQL-87 Primera publicación hecha por ANSI. Confirmada por ISO en 1987.

1989 SQL-89 Revisión menor.

1992 SQL-92 SQL2 Revisión mayor.

1999 SQL:1999 SQL2000 Se agregaron expresiones regulares, consultas recursivas (para relaciones jerárquicas), triggers y algunas

características orientadas a objetos.

2003 SQL:2003 Introduce algunas características de XML, cambios en las funciones, estandarización del objeto sequence y de las

columnas autonumericas. (Ver Eisenberg et al.: SQL:2003 Has Been Published [2]

.) 2006 SQL:2006 ISO/IEC 9075-14:2006 Define las maneras en las cuales el SQL se puede utilizar conjuntamente con XML. Define

maneras de importar y guardar datos XML en una base de datos SQL, manipulándolos dentro de la base de datos y

publicando el XML y los datos SQL convencionales en forma XML. Además, proporciona facilidades que permiten a

las aplicaciones integrar dentro de su código SQL el uso de XQuery, lenguaje de consulta XML publicado por el

W3C (World Wide Web Consortium) para acceso concurrente a datos ordinarios SQL y documentos XML.

2008 SQL:2008

Permite el uso de la cláusula ORDER BY fuera de las definiciones de los cursores. Incluye los disparadores del tipo

INSTEAD OF. Añade la sentencia TRUNCATE. (Ver [3].)

Page 132: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 131

Características generales del SQL

El SQL es un lenguaje de acceso a bases de datos que explota la flexibilidad y potencia de los sistemas relacionales y

permite así gran variedad de operaciones.

Es un lenguaje declarativo de "alto nivel" o "de no procedimiento" que, gracias a su fuerte base teórica y su

orientación al manejo de conjuntos de registros —y no a registros individuales— permite una alta productividad en

codificación y la orientación a objetos. De esta forma, una sola sentencia puede equivaler a uno o más programas que

se utilizarían en un lenguaje de bajo nivel orientado a registros. SQL también tiene las siguientes características:

• Lenguaje de definición de datos: El LDD de SQL proporciona comandos para la definición de esquemas de

relación, borrado de relaciones y modificaciones de los esquemas de relación.

• Lenguaje interactivo de manipulación de datos: El LMD de SQL incluye lenguajes de consultas basado tanto

en álgebra relacional como en cálculo relacional de tuplas.

• Integridad: El LDD de SQL incluye comandos para especificar las restricciones de integridad que deben cumplir

los datos almacenados en la base de datos.

• Definición de vistas: El LDD incluye comandos para definir las vistas.

• Control de transacciones: SQL tiene comandos para especificar el comienzo y el final de una transacción.

• SQL incorporado y dinámico: Esto quiere decir que se pueden incorporar instrucciones de SQL en lenguajes de

programación como: C++, C, Java, Cobol, Pascal y Fortran.

• Autorización: El LDD incluye comandos para especificar los derechos de acceso a las relaciones y a las vistas.

Tipos de Datos

Los tipos de datos básicos de SQL son:

• Date: una fecha de calendario que contiene el año (de cuatro cifras), el mes y el día.

• Time: La hora del día en horas minutos segundos (el valor predeterminado es 0).

• Timestamp: la combinación de Date y Time.

Optimización

Como ya se dijo antes, y suele ser común en los lenguajes de acceso a bases de datos de alto nivel, el SQL es un

lenguaje declarativo. O sea, que especifica qué es lo que se quiere y no cómo conseguirlo, por lo que una sentencia

no establece explícitamente un orden de ejecución.

El orden de ejecución interno de una sentencia puede afectar gravemente a la eficiencia del SGBD, por lo que se

hace necesario que éste lleve a cabo una optimización antes de su ejecución. Muchas veces, el uso de índices acelera

una instrucción de consulta, pero ralentiza la actualización de los datos. Dependiendo del uso de la aplicación, se

priorizará el acceso indexado o una rápida actualización de la información. La optimización difiere sensiblemente en

cada motor de base de datos y depende de muchos factores.

Existe una ampliación de SQL conocida como FSQL (Fuzzy SQL, SQL difuso) que permite el acceso a bases de

datos difusas, usando la lógica difusa. Este lenguaje ha sido implementado a nivel experimental y está evolucionando

rápidamente.

Page 133: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 132

Lenguaje de definición de datos (DDL)

El lenguaje de definición de datos (en inglés Data Definition Language, o DDL), es el que se encarga de la

modificación de la estructura de los objetos de la base de datos. Incluye órdenes para modificar, borrar o definir las

tablas en las que se almacenan los datos de la base de datos. Existen cuatro operaciones básicas: CREATE, ALTER,

DROP y TRUNCATE.

ALTER | MODIFICAR

Este comando permite modificar la estructura de un objeto. Se pueden agregar/quitar campos a una tabla, modificar

el tipo de un campo, agregar/quitar índices a una tabla, modificar un trigger, etc.

Ejemplo (agregar columna a una tabla)

ALTER TABLE 'NOMBRE_TABLA' ADD NUEVO_CAMPO INT UNSIGNED;

DROP | ELIMINAR

Este comando elimina un objeto de la base de datos. Puede ser una tabla, vista, índice, trigger, función,

procedimiento o cualquier otro objeto que el motor de la base de datos soporte. Se puede combinar con la sentencia

ALTER.

Ejemplo

DROP TABLE 'NOMBRE_TABLA';.

TRUNCATE | BORRAR TABLA

Este comando trunca todo el contenido de una tabla. La ventaja sobre el comando DROP, es que si se quiere borrar

todo el contenido de la tabla, es mucho más rápido, especialmente si la tabla es muy grande. La desventaja es que

TRUNCATE sólo sirve cuando se quiere eliminar absolutamente todos los registros, ya que no se permite la cláusula

WHERE. Si bien, en un principio, esta sentencia parecería ser DML (Lenguaje de Manipulación de Datos), es en

realidad una DDL, ya que internamente, el comando TRUNCATE borra la tabla y la vuelve a crear y no ejecuta

ninguna transacción.

Ejemplo

TRUNCATE TABLE 'NOMBRE_TABLA';

Lenguaje de manipulación de datos DML(Data Manipulation Language)

Definición

Un lenguaje de manipulación de datos (Data Manipulation Language, o DML en inglés) es un lenguaje

proporcionado por el sistema de gestión de base de datos que permite a los usuarios llevar a cabo las tareas de

consulta o manipulación de los datos, organizados por el modelo de datos adecuado.

El lenguaje de manipulación de datos más popular hoy día es SQL, usado para recuperar y manipular datos en una

base de datos relacional.

Page 134: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 133

INSERT | INSERTAR

Una sentencia INSERT de SQL agrega uno o más registros a una (y sólo una) tabla en una base de datos relacional.

Forma básica

INSERT INTO 'tabla' ('columna1',['columna2,... '])

VALUES ('valor1', ['valor2,...'])

Las cantidades de columnas y valores deben ser iguales. Si una columna no se especifica, le será asignado el valor

por omisión. Los valores especificados (o implícitos) por la sentencia INSERT deberán satisfacer todas las

restricciones aplicables. Si ocurre un error de sintaxis o si alguna de las restricciones es violada, no se agrega la fila y

se devuelve un error.

Ejemplo

INSERT INTO agenda_telefonica (nombre, numero)

VALUES ('Roberto Jeldrez', 4886850);

Cuando se especifican todos los valores de una tabla, se puede utilizar la sentencia acortada:

INSERT INTO nombreTabla VALUES ('valor1', ['valor2,...'])

Ejemplo (asumiendo que 'nombre' y 'número' son las únicas columnas de la tabla 'agenda_telefonica'):

INSERT INTO agenda_telefonica

VALUES ('Jhonny Aguiar', 080473968);

Formas avanzadas

Una característica de SQL (desde SQL-92) es el uso de constructores de filas para insertar múltiples filas a la vez,

con una sola sentencia SQL:

INSERT INTO ''tabla'' (''columna1'', [''columna2,... ''])

VALUES (''valor1a'', [''valor1b,...'']),

(''value2a'', [''value2b,...'']),...;

Esta característica es soportada por DB2, PostgreSQL (desde la versión 8.2), MySQL, y H2.

Ejemplo (asumiendo que 'nombre' y 'número' son las únicas columnas en la tabla 'agenda_telefonica'):

INSERT INTO agenda_telefonica VALUES ('Roberto Fernández', '4886850'),

('Alejandro Sosa', '4556550');

Que podía haber sido realizado por las sentencias

INSERT INTO agenda_telefonica VALUES ('Roberto Fernández', '4886850');

INSERT INTO agenda_telefonica VALUES ('Alejandro Sosa', '4556550');

Notar que las sentencias separadas pueden tener semántica diferente (especialmente con respecto a los triggers), y

puede tener diferente rendimiento que la sentencia de inserción múltiple.

Para insertar varias filas en MS SQL puede utilizar esa construcción:

INSERT INTO phone_book

SELECT 'John Doe', '555-1212'

UNION ALL

SELECT 'Peter Doe', '555-2323';

Page 135: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 134

Tenga en cuenta que no se trata de una sentencia SQL válida de acuerdo con el estándar SQL (SQL: 2003), debido a

la cláusula subselect incompleta.

Para hacer lo mismo en Oracle se usa DUAL TABLE, siempre que se trate de solo una simple fila:

INSERT INTO phone_book

SELECT 'John Doe', '555-1212' FROM DUAL

UNION ALL

SELECT 'Peter Doe','555-2323' FROM DUAL

Una implementación conforme al estándar de esta lógica se muestra el siguiente ejemplo, o como se muestra arriba

(no aplica en Oracle):

INSERT INTO phone_book

SELECT 'John Doe', '555-1212' FROM LATERAL ( VALUES (1) ) AS t(c)

UNION ALL

SELECT 'Peter Doe','555-2323' FROM LATERAL ( VALUES (1) ) AS t(c)

Copia de filas de otras tablas

Un INSERT también puede utilizarse para recuperar datos de otros, modificarla si es necesario e insertarla

directamente en la tabla. Todo esto se hace en una sola sentencia SQL que no implica ningún procesamiento

intermedio en la aplicación cliente. Un SUBSELECT se utiliza en lugar de la cláusula VALUES. El SUBSELECT

puede contener JOIN, llamadas a funciones, y puede incluso consultar en la misma TABLA los datos que se inserta.

Lógicamente, el SELECT se evalúa antes que la operación INSERT esté iniciada. Un ejemplo se da a continuación.

INSERT INTO phone_book2

SELECT *

FROM phone_book

WHERE name IN ('John Doe', 'Peter Doe')

Una variación es necesaria cuando algunos de los datos de la tabla fuente se está insertando en la nueva tabla, pero

no todo el registro. (O cuando los esquemas de las tablas no son iguales.)

INSERT INTO phone_book2 ( [name], [phoneNumber] )

SELECT [name], [phoneNumber]

FROM phone_book

WHERE name IN ('John Doe', 'Peter Doe')

El SELECT produce una tabla (temporal), y el esquema de la tabla temporal debe coincidir con el esquema de la

tabla donde los datos son insertados.

Page 136: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 135

UPDATE

Una sentencia UPDATE de SQL es utilizada para modificar los valores de un conjunto de registros existentes en una

tabla.

Ejemplo

UPDATE My_table SET field1 = 'updated value asd' WHERE field2 = 'N';

DELETE

Una sentencia DELETE de SQL borra uno o más registros existentes en una tabla.

Forma básica

DELETE FROM tabla WHERE columna1 = 'valor1'

Ejemplo

DELETE FROM My_table WHERE field2 = 'N';

Recuperación de clave

Los diseñadores de base de datos que usan una clave suplente como la clave principal para cada tabla, se ejecutará en

el ocasional escenario en el que es necesario recuperar automáticamente la base de datos, generando una clave

primaria de una sentencia SQL INSERT para su uso en otras sentencias SQL. La mayoría de los sistemas no

permiten sentencias SQL INSERT para retornar fila de datos. Por lo tanto, se hace necesario aplicar una solución en

tales escenarios.

Implementaciones comunes incluyen:

• Utilizando un procedimiento almacenado específico de base de datos que genera la clave suplente, realice la

operación INSERT, y finalmente devuelve la clave generada.

• Utilizando una sentencia SELECT específica de base de datos, sobre una tabla temporal que contiene la última

fila insertada. DB2 implementa esta característica de la siguiente manera:

SELECT *

FROM NEW TABLE ( INSERT INTO phone_book VALUES ( 'Cristobal

Jeldrez','0426.817.10.30' ) ) AS t

• Utilizando una sentencia SELECT después de la sentencia INSERT con función específica de base de datos, que

devuelve la clave primaria generada por el registro insertado más recientemente.

• Utilizando una combinación única de elementos del original SQL INSERT en una posterior sentencia SELECT.

• Utilizando un GUID en la sentencia SQL INSERT y la recupera en una sentencia SELECT.

• Utilizando la función de PHP mysql_insert_id() de MySQL después de la sentencia INSERT.

• Utilizando un INSERT con la cláusula RETURNING para Oracle, que sólo se puede utilizar dentro de un

PL/SQL bloque, en el caso de PostgreSQL se puede usar también tanto con SQL como con PL/SQL.

INSERT INTO phone_book VALUES ( 'Cristobal Jeldrez','0426.817.10.30' )

RETURNING phone_book_id INTO v_pb_id

• En el caso de MS SQL se puede utilizar la siguiente instrucción:

Set NoCount On;

INSERT INTO phone_book VALUES ( 'Cristobal Jeldrez','0426.817.10.30' );

Select @@Identity as ID

Page 137: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 136

Disparadores

Los disparadores, también conocidos como desencadenantes (triggers en inglés) son definidos sobre la tabla en la

que opera la sentencia INSERT, los desencadenantes son evaluados en el contexto de la operación. Desencadenantes

BEFORE INSERT permiten la modificación de los valores que se insertará en la tabla. Desencadenantes AFTER

INSERT no puede modificar los datos de ahora en adelante, pero se puede utilizar para iniciar acciones en otras

tablas, por ejemplo para aplicar mecanismos de auditoría.

Sistemas de gestión de base de datos

Los sistemas de gestión de base de datos con soporte SQL más utilizados son, por orden alfabético:

• DB2

• Firebird

• HSQL

• Informix

• Interbase

• MariaDB

• Microsoft SQL Server

• MySQL

• Oracle

• PostgreSQL

• PervasiveSQL

• SQLite

• Sybase ASE

Referencias

[1] http://www.iso.org/iso/catalogue_detail.htm?csnumber=45498

[2] http://www.acm.org/sigmod/record/issues/0403/index.html#standards

[3] http://iablog.sybase.com/paulley/2008/07/sql2008-now-an-approved-iso-international-standard/

Links externos

• Tutorial de SQL usando MsSQLServer (https://www.youtube.com/watch?v=WGja87_isbo&

list=PLA298FFE8D125FE75) por Jesús Ambriz Meza.

Page 138: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 137

4.3. Servicios de impresión

Common Unix Printing System

Common Unix Printing System

Desarrollador

Easy Software Products

www.cups.org [1]

Información general

Diseñador Michael Sweet (Easy Software Products)

Lanzamiento inicial 9 de junio de 1999

Última versión estable 1.6.1

27 de julio de 2012

Género Servidor de impresión

Sistema operativo tipo-Unix

Licencia GNU GPL

GNU LGPL

En español ?

Common Unix Printing System (Sistema de impresión común de Unix, abreviado CUPS) es un sistema de

impresión modular para sistemas operativos de tipo Unix que permite que un computador actúe como servidor de

impresión. Un computador que ejecuta CUPS actúa como un servidor que puede aceptar tareas de impresión desde

otros computadores clientes, los procesa y los envía al servidor de impresión apropiado.

CUPS está compuesto por una cola de impresión con su planificador, un sistema de filtros que convierte datos para

imprimir hacia formatos que la impresora conozca, y un sistema de soporte que envía los datos al dispositivo de

impresión. CUPS utiliza el protocolo IPP (Internet Printing Protocol) como base para el manejo de tareas de

impresión y de colas de impresión. También provee los comandos tradicionales de línea de comandos de impresión

de los sistemas Unix, junto a un soporte limitado de operaciones bajo el protocolo server message block (SMB). Los

controladores de dipositivos de impresión que CUPS provee pueden ser configurados utilizando archivos de texto

con formato PostScript Printer Description (PPD) de Adobe Systems. Existen varias interfaces de usuario para

diferentes plataformas para configurar CUPS; cuenta también con una interfaz como aplicación Web. CUPS es

software libre y se distribuye bajo licencia GNU General Public License y GNU Lesser General Public License,

versión 2.

Page 139: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 138

Historia

Michael Sweet, dueño de Easy Software Products, comenzó a desarrollar CUPS en 1997. Las primeras versiones

públicas beta aparecieron en 1999.[2]

El diseño original de CUPS usaba el protocolo Line Printer Daemon protocol

(LPD), pero debido a limitaciones en el protocolo e incompatibilidades entre marcas, se optó cambiar por el

protocolo Internet Printing Protocol (IPP). Cups fue rápidamente adoptado como el sistema de impresión por defecto

en varias distribuciones Linux. En marzo de 2002, la empresa Apple Inc. adoptó CUPS como el sistema de

impresión en el sistema operativo Mac OS X 10.2.[3]

En febrero de 2007, Apple Inc. empleó al desarrollador Michael

Sweet y compró el código fuente de CUPS.[4]

Visión general

CUPS provee un mecanismo que permite que los trabajos de impresión sean

enviados a impresoras de manera estandarizada. La información es enviada

planificador[5]

quien envía el trabajo a un sistema de filtros que convierte el trabajo

a un formato que la impresora comprende.[6]

El sistema de filtros luego envía los

datos a un backend —un filtro especial que envía datos de impresora a un

periférico o una conexión de red.[7]

El sistema hace un uso extensivo del lenguaje

PostScript y de rasterización de los datos, para convertir los datos recibidos a un

formato aceptado por la impresora.

CUPS tiene como ventaja principal ser un sistema de impresión estandarizado y

modularizado, capaz de procesar diferentes formatos de datos en el servidor de

impresión. Antes de CUPS, era difícil encontrar un sistema de impresión

estandarizado capaz de adaptarse a la gran gama de variedades de impresoras

existentes en el mercado, utilizando cada una su propio lenguaje de impresión y

formatos. Como ejemplo: los sistemas de impresión de System V y de Berkeley

fueron durante mucho tiempo incompatibles uno con el otro, requiriendo scripts

complicados y arreglos varios para lograr convertir el formato de datos desde el

programa a un formato imprimible. Normalmente no se lograba detectar el formato

de archivo que estaba siendo enviado a la impresora, con lo que no se podía

corregir y convertir automáticamente el flujo de datos. Además se ejecutaba la

conversión de datos en cada estación de trabajo y no en un servidor central.

CUPS permite más fácilmente, a los fabricantes de impresoras y a los

desarrolladores de controladores, crear controladores que funcionen nativamente en

el servidor de impresión. El procesamiento ocurre en el servidor, permitiendo

sistemas de impresión basadas en red mucho más sencillas que con otros sistemas de impresión Unix. Cuando es

utilizado con Samba, pueden ser utilizados las impresoras en computadoras Windows remotas y controladores

genéricos PostScript pueden ser utilizados para imprimir a través de la red.

Planificador

EL planificador de CUPS implementa Internet Printing Protocol (IPP) sobre HTTP/1.1. Una aplicación de ayuda

(cups-lpd) convierte peticiones de LPD a IPP. El planificador también provee una interfaz web para administrar los

trabajos de impresión, la configuración del servidor y para brindar documentación de CUPS mismo.[5]

• Un módulo de autorización controla cuáles mensajes de IPP y HTTP pueden pasar a través del sistema.[8]

• Una vez que los paquetes IPP/HTTP han sido autorizados son enviados al módulo cliente, quién escucha y atiende

conexiones entrantes. El módulo cliente es también responsable de ejecutar programas CGI externos, según sea

necesario para soportar impresoras web, clases y el monitoreo y administración de estado de los trabajos de

impresión.[9]

Page 140: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 139

• Una vez que éste módulo ha procesado sus solicitudes, las envía al módulo IPP quién ejecuta una validación de

Uniform Resource Identifier (URI) previniendo que un cliente esquivar algún control de acceso o de autenticación

en el servidor HTTP.[10]

El URI es una cadena de caracteres que indica un nombre o dirección que puede ser

utilizada para referir un recurso -abstracto o físico- en una red.

El planificador permite la utilización de clases de impresoras. Las aplicaciones pueden enviar peticiones a grupos de

impresoras en una clase, permitiendo al planficador redirigir el trabajo a la primer impresora libre de ésa clase.[11]

• Un módulo de trabajos (jobs en inglés) gestiona los trabajos de impresión, enviándolos al filtro y proceso

backend para conversión final e impresión, monitoreando además los mensajes de estado provenientes de éstos

procesos.[12]

• El planificador de CUPS utiliza un módulo configuración, quien analiza archivos de configuración, inicializa las

estructuras de datos de CUPS, y es quien inicia y detiene el programa CUPS. Este módulo de configuración

detendrá el servicio de CUPS durante el procesamiento del archivo de configuración para luego reiniciar el

servicio al finalizar el procesamiento.[13]

• Un módulo de bitácora (logging module en inglés) se encarga de registrar los eventos de acceso, error y registros

de páginas.

• El módulo principal (main en inglés) se encarga de servir las peticiones de entrada/salida a tiempo por parte de

las conexiones clientes, vigilar si hay señales, manejar errores y finalizaciones de procesos hijos, y de recargar los

archivos de configuración del servidor según sea necesario.[14]

Otros módulos utilizados por el planificador son:

• el módulo Mime, encargado de una base de datos de tipos y de conversión Multipurpose Internet Mail Extensions

(MIME), utilizado en el proceso de filtrado que convierte los datos recibidos a un formato adecuado para la

impresora[15]

• el módulo PPD encargado de manejar una lista de archivos PPD PostScript Printer Description[16]

• el módulo periféricos quien administra una lista de periféricos disponibles en el sistema[17]

• y un módulo impresoras encargado de las impresoras y PPDs dentro de CUPS.[18]

Sistema de filtrado

Una de de las principales ventajas de CUPS es que puede procesar

una variedad de formatos de datos en el servidor de impresiones.

Convierte la información del trabajo de impresión al

lenguaje/formato destino de la impresora a través de una serie de

filtros.[19][20]

Lo hace utilizando tipos de MIME, siendo éste un

estándar web para el formato de correo electrónico, pero muy útil

para permitir que CUPS determine el tipo del archivo que está

siendo procesado.

Base de datos MIME

Luego de que un trabajo de impresión ha sido asignado al

planificador, es reenviado al sistema de filtrados de CUPS. Éste

convierte los datos a un formato adecuado para la impresora. El

demonio CUPS carga durante el inicio dos Bases de datos MIME:

• mime.types define los tipos de archivos conocidos, de los

cuales CUPS acepta datos

• mime.convs define las aplicaciones que deben procesar cada

tipo MIME en particular.

CUPS permite que diferentes datos sean enviados al

servidor CUPS y ser convertidos a un formato que la

impresora entienda y sea capaz de imprimir.

[21]

Page 141: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 140

El archivo mime.types utiliza la siguiente sintaxis:

mimetype { [file-extensions] | [pattern-match] }

Por ejemplo, para detectar un archivo HTML se utilizaría la siguiente entrada:

text/html html htm \

printable(0,1024) + (string(0,"<HTML>") string(0,"<!DOCTYPE"))

La segunda línea une el contenido del archivo al tipo MIME especificado, determinando que el primero kilobyte de

texto en el archivo contiene caracteres imprimibles y que éstos incluyen html. Si el pattern de arriba es coincidente,

será tildado el archivo como de tipo MIME text/html.[22]

El archivo mime.convs utiliza la siguiente sintaxis:

source destination cost program

El campo source es el tipo MIME determinado al revisar el archivo mime.types, mientras que el campo

destination lista el tipo de salida solicitada y determina qué aplicación debe ser utilizada. Esto también es obtenido

desde mime.types. El campo cost asiste en la selección del conjunto de filtros al convertir el archivo. El último

campo, program, determina los programas de filtros a ser utilizados para ejecutar la conversión de datos.[23]

Algunos ejemplos:

text/plain application/postscript 50 texttops

application/vnd.cups-postscript application/vnd.cups-raster 50 pstoraster

image/* application/vnd.cups-postscript 50 imagetops

image/* application/vnd.cups-raster 50 imagetoraster

Page 142: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 141

Procesos de filtrados

El proceso de filtrado se ejecuta tomando como entrada datos preformateados con seis argumentos: nombre de la

cola de impresión, job ID del trabajo de impresión, nombre de usuario, nombre del trabajo, número de copias,

opciones de impresión, y nombre de archivo (aunque éste no es necesario si ha sido redireccionado desde entrada

estándar.[20]

Luego determina el tipo de dato de la entrada y el filtro a ser usado a través del uso de la base de datos

MIME. Por ejemplo datos de imagen que será detectada y procesada a través de un filtro particular y datos HTML

detectados y procesados a través de otro filtro.

Ésta información puede ser o bien convertido en datos PostScript o directamente en datos rasterizados. Si es

convertido a PostScript, entonces es aplicado un filtro adicional llamado prefiltro, quien corre los datos PostScript a

través de otro conversor PostScript para poder incluir opciones específicas de la impresora - por ejemplo rango de

páginas a imprimirse, modo n-up y otras opciones específicas del periférico.[24]

Luego del pre-filtrado pueden ser

enviados los datos directamente al backend de CUPS si es utilizada una impresora PostScript, o puede ser desviado a

algún otro filtro como Foomatic de linuxprinting.org. Alternativamente puede ser pasado a Ghostscript, quien

convierte el PostScript en un formato intermedio CUPS-raster[25]

Éste formato rasterizado intermedio es luego

pasado a un filtro final quien convierte los datos rasterizados en un formato específico de la impresora. Los filtro por

defecto incluidos en CUPS son:

• rasterizado a PCL

• rasterizado a ESC/P o ESC/P2 (un lenguaje de impresoras Epson, ahora ampliamente superado por su nuevo

formato ESC/P-Raster)

• rasterizado a Dymo (otro fabricante de impresoras)

• otros lenguajes propietarios como GDI o SPL (Samsung Printer Language) tienen soporte bajo Splix, un traductor

de rasterizado a SPL.[26]

Igualmente, hay varias otras alternativas que pueden ser utilizadas junto con CUPS. Easy Software Products (ESP),

creadores de CUPS, han publicado sus propios filtros CUPS; Gutenprint (anteriormente conocido como Gimp-Print)

es un una gama de controladores de impresoras de alta calidad para una gran mayoría de las impresoras de chorro de

tinta (inkjet), y Turbo-Print para Linux tiene otra gama de controladores de alta calidad.

Backends

Los "backends" son las maneras en que la información es enviada a la impresora. Hay varios backends disponibles

para CUPS: Puertos paralelo, serial y USB, como también a través de la red mediante los protocolos IPP, Jet Direct

(AppSocket), Line Printer Daemon (LPD) y SMB.

Compatibilidad

CUPS provee comandos de impresión de System V y de Berkley, para poder utilizar los comandos tradicionales con

CUPS. Escucha en el puerto 515, puerto tradicional de LPD (lo trata como un 'backend'). Cuando CUPS está

instalado, se instalan los comandos lp del sistema de impresión de System V y lpr de Berkeley printing system

como aplicaciones compatibles. Esto permite tener una interfaz estándar con CUPS mientras se permite máxima

compatibilidad con las aplicaciones existentes que se basan en éstos sistemas de impresión.

Apple Computer está utilizando CUPS como sistema de impresión en su sistema operativo Mac OS X a partir de la

versión:10.2 (Jaguar)

Page 143: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 142

Herramientas de Interfaz de Usuario

Hay varias herramientas para ayudar en la configuración de CUPS.

Interfaz web para administrar CUPS

Para administrar CUPS se cuenta con una interfaz web corriendo sobre

puerto 631.[27]

Extremadamente útil en organizaciones que deben

monitorear trabajos de impresión y crear colas de impresión e

impresoras remotamente.

CUPS 1.0 proveía una interfaz web sencilla para monitorear clases,

trabajos e impresoras. CUPS 1.1 sustituyó esta interfaz con una

interfaz de administración que permite agregar, modificar, eliminar,

configurar y controlar clases, trabajos e impresoras.

CUPS 1.2 tiene una interfaz web modernizada, caracterizada por

mejorada legibilidad y diseño, soporte a descubrimiento automático de

impresoras y un mejor acceso a las bitácoras del sistema y a seteos avanzados.

Interfaz web de CUPS 1.4 b2.

CUPS 1.4 actualiza la interfaz web con un diseño mas atractivo e intuitivo, agregando nuevas funciones como la

capacidad de limpiar cabezales.

GNOME

El GNOME CUPS Manager puede ser utilizado para agregar nuevas

impresoras, y para administrar las impresoras CUPS con sus colas.

Existen además otras aplicaciones (de terceras partes) para administrar

las impresiones, por ejemplo GtkLP [28]

y su herramineta asociada

GtkLPQ, o GtkPSproc [29]

.

EL grupo de bibliotecas para desarrollar interfaces gráficas de usuario

(widget toolkit) llamado GTK+, sobre los cuales GNOME está basado,

incluye soporte integrado de impresiones basadas en CUPS a partir de

su versión 2.10, introducida en 2006.

GNOME CUPS Manager.

KDE

KDEPrint [30]

, para KDE, es un marco que contiene varias herramientas de interfaces gráficas de usuarios que actúa

comom un front-end de CUPS y permite la administración de clases, colas de impresión y trabajos. Incluye un

asistente para agregar nuevas impresoras, entre otras características. Fue agregado en KDE 2.2.

KDEPrint soporta varias plataformas diferentes, entre las cuales CUPS es una de las mejores soportada. Reemplazó

una versión previa de soporte de impresión en KDE, qtcups y es compatible con éste módulo de KDE. kprinter, una

aplicación de cuadro de diálogo, es ahora la herramienta principal para enviar trabajos a la impresora; también puede

ser arrancado desde la línea de comandos. KDEPrint incluye un sistema de prefiltrado de cualquier trabajo antes de

enviarlo a CUPS; o de manejar los trabajos completamente solor (por ejemplo convertir archivos en PDF); estos

filtros son descritos por una pareja de Escritorio / Archivos XML.

La primera versión es de 1999, la más reciente es la 1.2.8 de 14 de febrero de 2007

El 12 de julio de 2007, Apple Computer anunció que compró en febrero de ese año CUPS "Common Unix Printing

System".

Desde Linux al propio OSX dependen de la biblioteca para imprimir. Apple ha contratado a Michael Rose para que

continúe con el desarrollo y ha dicho que mantendrá la actual licencia GPL v2.

Page 144: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 143

Referencias

[1] http://www.cups.org/

[2] Michael Sweet (June 9, 1999), "A Bright New Future for Printing on Linux" (http://linuxtoday.com/news_story.

php3?ltsn=1999-06-09-014-10-NW-SM), Linux Today & followup from Michael Sweet (June 11, 1999), "The Future Brightens for Linux

Printing" (http://linuxtoday.com/news_story.php3?ltsn=1999-06-11-018-10-NW-SM), Linux Today.

[3] Easy Software Products, CUPS Licensed for Use in Apple Operating Systems! (http://www.cups.org/articles.php?L68+I10+T+P1+

Qapple), March 1, 2002.

[4] "CUPS", CUPS Purchased by Apple Inc. (http://www.cups.org/articles.php?L475), July 11,2007.

[5] Easy Software Products, CUPS Design Description (http://www.cups.org/documentation.php/spec-design.html), sección "Scheduler".

Último acceso enero de 2007

[6] Easy Software Products, CUPS Design Description (http://www.cups.org/documentation.php/spec-design.html), sección "Filters".

Último acceso enero de 2007

[7] Easy Software Products, CUPS Design Description (http://www.cups.org/documentation.php/spec-design.html), ver sección "Backend".

Último acceso enero de 2007

[8] Easy Software Products. CUPS Software Design, Authorization (http://www.cups.org/doc-1.1/sdd.html#3_8_1). último acceso enero de

2007.

[9] Easy Software Products. CUPS Software Administrators Manual, Authorisation (http://www.cups.org/doc-1.1/sdd.html#3_8_3). Last

accessed January 9th, 2007.

[10] Easy Software Products. CUPS Software Design, IPP (http://www.cups.org/doc-1.1/sdd.html#3_8_7). Último acceso enero de 2007.

[11] Easy Software Products. CUPS Software Administrators Manual, Classes (http://www.cups.org/doc-1.1/sam.html#2_4). Último acceso

enero de 2007.

[12] Easy Software Products. CUPS Software Administrators Manual, Jobs (http://www.cups.org/doc-1.1/sam.html#2_3). Último acceso

enero de 2007.

[13] Easy Software Products. CUPS Software Design, Configuration (http://www.cups.org/doc-1.1/sdd.html#3_8_4). Último acceso enero

de 2007.

[14] Easy Software Products. CUPS Software Design, Logging (http://www.cups.org/doc-1.1/sdd.html#3_8_9). ültimo acceso enero de

2007.

[15] Easy Software Products. CUPS Software Design, MIME (http://www.cups.org/doc-1.1/sdd.html#3_8_11). Último acceso enero de

2007.

[16] Easy Software Products. CUPS Software Design, PPD (http://www.cups.org/doc-1.1/sdd.html#3_8_12). Último acceso enero de 2007.

[17] Easy Software Products. CUPS Software Design, Devices (http://www.cups.org/doc-1.1/sdd.html#3_8_5). Último acceso enero de

2007.

[18] Easy Software Products. CUPS Software Design, Printers (http://www.cups.org/doc-1.1/sdd.html#3_8_13). Último acceso enero de

2007.

[19] Easy Software Products. CUPS Software Administrators Manual, Filters (http://www.cups.org/doc-1.1/sam.html#2_5). Último acceso

enero de 2007.

[20] Easy Software Products. CUPS Software Design, Filters (http://www.cups.org/doc-1.1/sdd.html#3_7). Último acceso enero de 2007.

[21] Easy Software Products. CUPS Software Administrators Manual, File Typing and Filtering (http://www.cups.org/doc-1.1/sam.

html#FILE_TYPING_FILTERING). Último acceso enero de 2007.

[22] Easy Software Products. CUPS Software Administrators Manual, mime.types (http://www.cups.org/doc-1.1/sam.html#7_13_1). Último

acceso enero de 2007.

[23] Easy Software Products. CUPS Software Administrators Manual, mime.convs (http://www.cups.org/doc-1.1/sam.html#7_13_é).

Último acceso enero de 2007.

[24] Easy Software Products. CUPS Software Administrators Manual, pstops (http://www.cups.org/doc-1.1/sdd.html#3_7_5). Último

acceso enero de 2007.

[25] El tipo MIME del formato rasterizado de CUPS es application/vnd.cups-raster.

[26] Splix home page (http://splix.ap2c.org/)

[27] CUPS Software Administrators Manual (http://www.cups.org/sam.html#4_4), "Managing Printers from the Web"

[28] http://gtklp.sourceforge.net

[29] http://www.rastersoft.com/gtkpsproc.html

[30] http://printing.kde.org/

• Easy Software Products CUPS HTTP GET Denial Of Service Vulnerability (http://www.securityfocus.com/

bid/12200) (January 13, 2005). SecurityFocus.

• Mandriva Linux. Mandrivalinux general features — printing (http://www1.mandrivalinux.com/en/10.1/

features/9.php3). Company webpage detailing Mandriva Linux features. Retrieved January 14, 2005.

• Multiple security vulnerabilities in Common UNIX Printing System (CUPS) (http://www.derkeiler.com/

Page 145: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 144

Mailing-Lists/Securiteam/2002-12/0063.html) (December 19, 2002). SecuriTeam.

• ThreatAlert > CUPS HTTP GET Denial Of Service Vulnerability (http://www.packetalarm.de/sec_notices/

index.php?id=683&delimit=1#detail) (January 8, 2005). PacketAlarm.

• Sweet, Michael (July 10, 2000). CUPS overview (http://www.cups.org/overview.html). Easy Software

Products.

• CUPS software administration manual: Managing printers from the web (http://www.cups.org/sam.html#4_4)

(versión 1.1.21, 2004). Easy Software Products. Retrieved January 5, 2005.

• http://www.cups.org/articles.php How-to articles and FAQs about using CUPS

• Design of CUPS Filtering System — including the context for Mac OS X ("Jaguar") (http://www.linuxprinting.

org/CUPS-Filter-Chart.html). LinuxPrinting.org. Retrieved January 5, 2005.

• KDE. KDEPrint information (http://printing.kde.org/info/). KDE-printing website. Retrieved January 14,

2005.

• Pfeifle, Kurt; Vizitiu, Ciprian; Vernooij, Jelmer R. (June 3, 2003) CUPS Printing Support: The CUPS Filtering

Architecture (http://info.ccone.at/INFO/Samba/CUPS-printing.html#id2933709) from SAMBA Project

Documentation (http://info.ccone.at/INFO/Samba/).

• Raymond, Eric (July 3, 2004). The luxury of ignorance: an Open-Source horror story (http://www.catb.org/

~esr/writings/cups-horror.html). Eric S. Raymond's Home Page. Essay.

• "zen-parse" (December 23, 2002). iDEFENSE Security Advisory 12.23.02: Integer Overflow in pdftops (http://

lists.netsys.com/pipermail/full-disclosure/2002-December/003052.html). iDefense.

• "Planeta mac" (Julio 12, 2007). Apple compra CUPS (http://www.planetamac.es/apple-compra-cups/).

Planeta Mac.

Enlaces externos

• Página oficial (http://www.cups.org/)

• localhost:631 (http://localhost:631/) Página de configuración web (local) de CUPS.

• Productos de Easy Software (creadores de CUPS) (http://www.easysw.com)

• Página de CUPS en Freshmeat.net (http://freshmeat.net/projects/cups/)

• LinuxPrinting.org (http://www.linuxprinting.org/)

• Universal Plug and Play - Printer Device V 1.0 and Printer Basic Service V 1.0 (http://www.upnp.org/

standardizeddcps/printer.asp)

• Configuración de CUPS bajo Debian GNU/Linux (http://mumford1.dyndns.org/~bs7452/linuxhelp/cups.

html)

• pequeño Manual de Configuración de Impresoras en Linux y otros UNIX (http://okltsmash.blogspot.com/

2007/07/bueno-les-voy-dejar-algun-pequeo.html)

Page 146: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 145

4.4. Servicio de acceso remoto

Secure Shell

Secure Shell (SSH)

Familia Internet

Función Administración remota a través de una red.

Ubicación en la pila de protocolos

Aplicación SSH

Transporte TCP

Red IP (IPv4 y IPv6)

Estándares

RFC 4250, RFC 4251, RFC 4252, RFC 4253, RFC 4254, RFC 4255, RFC 4256, RFC 4335, RFC 4344, RFC 4345, RFC 4419, RFC 4432, RFC

4462, RFC 4716, RFC 4819

SSH (Secure SHell, en español: intérprete de órdenes segura) es el nombre de un protocolo y del programa que lo

implementa, y sirve para acceder a máquinas remotas a través de una red. Permite manejar por completo la

computadora mediante un intérprete de comandos, y también puede redirigir el tráfico de X para poder ejecutar

programas gráficos si tenemos un Servidor X (en sistemas Unix y Windows) corriendo.

Además de la conexión a otros dispositivos, SSH nos permite copiar datos de forma segura (tanto ficheros sueltos

como simular sesiones FTP cifradas), gestionar claves RSA para no escribir claves al conectar a los dispositivos y

pasar los datos de cualquier otra aplicación por un canal seguro tunelizado mediante SSH.

Seguridad

SSH trabaja de forma similar a como se hace con telnet. La diferencia principal es que SSH usa técnicas de cifrado

que hacen que la información que viaja por el medio de comunicación vaya de manera no legible, evitando que

terceras personas puedan descubrir el usuario y contraseña de la conexión ni lo que se escribe durante toda la sesión;

aunque es posible atacar este tipo de sistemas por medio de ataques de REPLAY y manipular así la información

entre destinos.

Historia

Al principio sólo existían los r-commands, que eran los basados en el programa rlogin, el cual funciona de una forma

similar a telnet.

La primera versión del protocolo y el programa eran libres y los creó un finlandés llamado Tatu Ylönen, pero su

licencia fue cambiando y terminó apareciendo la compañía SSH Communications Security, que lo ofrecía

gratuitamente para uso doméstico y académico, pero exigía el pago a otras empresas. En el año 1997 (dos años

después de que se creara la primera versión) se propuso como borrador en la IETF.

A principios de 1999 se empezó a escribir una versión que se convertiría en la implementación libre por excelencia,

la de OpenBSD, llamada OpenSSH.

Page 147: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 146

Versiones

Existen 2 versiones de SSH, la versión 1 de SSH hace uso de muchos algoritmos de cifrado patentados (sin embargo,

algunas de estas patentes han expirado) y es vulnerable a un agujero de seguridad que potencialmente permite a un

intruso insertar datos en la corriente de comunicación. La suite OpenSSH bajo Red Hat Enterprise Linux utiliza por

defecto la versión 2 de SSH, la cual tiene un algoritmo de intercambio de claves mejorado que no es vulnerable al

agujero de seguridad en la versión 1. Sin embargo, la suite OpenSSH también soporta las conexiones de la versión 1.

Aplicaciones Cliente SSH

• Comparación de clientes SSH

Aplicaciones Servidor SSH

• Comparación de servidores SSH

Enlaces externos

• Sitio Oficial de OpenSSH [1]

(en inglés)

• OpenSSH [2]

(en español)

• Seguridad de Debian [3]

Sitio oficial. (en inglés)

• Guía documentada para Ubuntu [4]

(en español)

• Securing the connection between MySQL and MySQL Administrator using an SSH tunnel [5]

Crear un túnel SSH

al servidor MySQL. (en inglés)

• Cliente SSH en un sitio web [6]

(en inglés)

• SSH y SCP sin contraseña [7]

(en español)

Referencias

[1] http://www.openssh.org

[2] http://www.openssh.com/es/index.html

[3] http://security.debian.org

[4] http://www.guia-ubuntu.org/index.php?title=Servidor_ssh

[5] http://www.howtoforge.com/secure_mysql_connection_ssh_tunnel

[6] http://webssh.uni.me

[7] http://crysol.org/es/ssh-public-key

Page 148: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 147

Network File System (NFS)

Network File System

(NFS)

Familia Protocolos de sistema de archivos en red

Función Acceso a sistema de archivos vía red.

Última versión NFSv4

Ubicación en la pila de protocolos*

Aplicación NFS

Presentación XDR

Sesión ONC RPC

Transporte TCP o UDP

Red IP

* según el Modelo OSI

Estándares

RFC 1094 (versión 2)

RFC 1813 (versión 3)

RFC 3530 (versión 4)

El Network File System (Sistema de archivos de red), o NFS, es un protocolo de nivel de aplicación, según el

Modelo OSI. Es utilizado para sistemas de archivos distribuido en un entorno de red de computadoras de área

local. Posibilita que distintos sistemas conectados a una misma red accedan a ficheros remotos como si se

tratara de locales. Originalmente fue desarrollado en 1984 por Sun Microsystems, con el objetivo de que sea

independiente de la máquina, el sistema operativo y el protocolo de transporte, esto fue posible gracias a que está

implementado sobre

los protocolos XDR (presentación) y ONC RPC (sesión).[]

El protocolo NFS está incluido por defecto en los

Sistemas Operativos UNIX y la mayoría de distribuciones Linux.

Características

• El sistema NFS está dividido al menos en dos partes principales: un servidor y uno o más clientes. Los

clientes acceden de forma remota a los datos que se encuentran almacenados en el servidor.

• Las estaciones de trabajo locales utilizan menos espacio de disco debido a que los datos se encuentran

centralizados en un único lugar pero pueden ser accedidos y modificados por varios usuarios, de tal forma que no

es necesario replicar la información.

• Los usuarios no necesitan disponer de un directorio “home” en cada una de las máquinas de la organización. Los

directorios “home” pueden crearse en el servidor de NFS para posteriormente poder acceder a ellos desde

Page 149: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 148

cualquier máquina a través de la infraestructura de red.

• También se pueden compartir a través de la red dispositivos de almacenamiento como disqueteras, CD-ROM y

unidades ZIP. Esto puede reducir la inversión en dichos dispositivos y mejorar el aprovechamiento del

hardware existente en la organización.

Todas las operaciones sobre ficheros son síncronas. Esto significa que la operación sólo retorna cuando el

servidor ha completado todo el trabajo asociado para esa operación. En caso de una solicitud de escritura, el

servidor escribirá físicamente los datos en el disco, y si es necesario, actualizará la estructura de directorios,

antes de devolver una respuesta al cliente. Esto garantiza la integridad de los ficheros.

Operaciones

Inicialmente NFS soportaba 18 procedimientos para todas las operaciones básicas de E/S.[]

Los comandos de la

versión 2 del protocolo son los siguientes:[1]

• NULL: no hace nada, pero sirve para hacer ping al server y medir tiempos.

• CREATE: crea un nuevo archivo.

• LOOKUP: busca un fichero en el directorio actual y si lo encuentra, devuelve un descriptor a ese fichero

más información sobre los atributos del fichero.

• READ y WRITE: primitivas básicas para acceder el fichero.

• RENAME: renombra un fichero.

• REMOVE: borra un fichero.

• MKDIR y RMDIR: creación/borrado de subdirectorios.

• READDIR: para leer la lista de directorios.

• GETATTR y SETATTR: devuelve conjuntos de atributos de ficheros.

• LINK: crea un archivo, el cual es un enlace a un archivo en un directorio, especificado.

• SYMLINK y READLINK: para la creación y lectura, respectivamente, de enlaces simbólicos (en un "string") a

un archivo en un directorio.

• STATFS: devuelve información del sistema de archivos.

• ROOT, para ir a la raíz (obsoleta en la versión 2).

• WRITECACHE: reservado para un uso futuro.

En la versión 3 del protocolo se eliminan los comandos se STATFS, ROOT y WRITECACHE; y se agregaron los

siguientes:[2]

• ACCESS: Para verificar permisos de acceso.

• MKNOD: Crea un dispositivo especial.

• READDIRPLUS: una versión mejorada de READDIR.

• FSSTAT: devuelve información del sistema de archivos en forma dinámica.

• FSINFO: devuelve información del sistema de archivos en forma estática.

• PATHCONF: Recupera información POSIX.

• COMMIT: Enviar datos de caché sobre un servidor un sistema de almacenamiento estable.

Se corresponden con la mayoría de primitivas de E/S usadas en el sistema operativo local para acceder a

Page 150: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 149

ficheros locales. De hecho, una vez que se ha montado el directorio remoto, el sistema operativo local

tiene que "reencaminar" las primitivas de E/S al host remoto. Esto hace que todas las operaciones de E/S sobre

ficheros tengan el mismo aspecto, independientemente de si el fichero es local o remoto. El usuario puede trabajar

con los comandos y programas habituales en ambos tipos de ficheros; en otras palabras, el protocolo NFS

es completamente transparente al usuario.

La versión 4 fue publicada en abril de 2003 y no es compatible con las versiones anteriores. Soporta 41 comandos:

NULL, COMPOUND, ACCESS, CLOSE, COMMIT, CREATE, DELEGPURGE, DELEGRETURN, GETATTR,

GETFH, LINK, LOCK, LOCKT, LOCKU, LOOKUP, LOOKUPP, NVERIFY, OPEN, OPENATTR,

OPEN_CONFIRM, OPEN_DOWNGRADE, PUTFH, PUTPUBFH, PUTROOTFH, READ, READDIR,

READLINK, REMOVE, RENAME, RENEW, RESTOREFH, SAVEFH, SECINFO, SETATTR, SETCLIENTID,

SETCLIENTID_CONFIRM, VERIFY, WRITE, RELEASE_LOCKOWNER, ILLEGAL.[3]

Versiones

Hay tres versiones de NFS actualmente en uso:

• La versión 2 de NFS (NFSv2),[1]

es la más antigua y está ampliamente soportada por muchos sistemas operativos.

• La versión 3 de NFS (NFSv3)[2]

tiene más características, incluyendo manejo de archivos de tamaño variable y

mejores facilidades de informes de errores, pero no es completamente compatible con los clientes NFSv2.

• NFS versión 4 (NFSv4)[3]

incluye seguridad Kerberos, trabaja con cortafuegos, permite ACLs y utiliza

operaciones con descripción del estado.

Referencias

[1] RFC 1094 Especificación del protocolo versión 2. (en inglés)

[2] RFC 1813 Especificación del protocolo versión 3. (en inglés)

[3] RFC 3530 Especificación del protocolo versión 4. (en inglés)

Enlaces externos

• Sitio oficial de NFS Version 4 (http://www.nfsv4.org) (en inglés)

• Linux NFS (http://nfs.sourceforge.net) (en inglés)

• El Sistema de Ficheros de Red (http://es.tldp.org/Manuales-LuCAS/GARL2/garl2/x-087-2-nfs.html)

Proyecto de Documentación de Linux. Guía de Administración de Redes con Linux, Capítulo 14.

• Microsoft financia un cliente Open Source de NFS v4 para Windows (http://www.vivalinux.com.ar/soft/

cliente-nfs-v4-para-windows.html)

Page 151: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 150

4.5. Compartir recursos entre diferentes sistemas operativos

Samba (programa)

Samba

Desarrollador

Equipo de Samba

http://www.samba.org/''

Información general

Última versión estable 4.0.6 (info

[1] )

21 de mayo de 2013

Género Acceso Remoto

Sistema operativo Multiplataforma

Licencia GPL

En español ?

Samba es una implementación libre del protocolo de archivos compartidos de Microsoft Windows

(antiguamente llamado SMB, renombrado recientemente a CIFS) para sistemas de tipo UNIX. De esta forma,

es posible que computadoras con GNU/Linux, Mac OS X o Unix en general se vean como servidores o actúen

como clientes en redes de Windows. Samba también permite validar usuarios haciendo de Controlador Principal

de Dominio (PDC), como miembro de dominio e incluso como un dominio Active Directory para redes basadas en

Windows; aparte de ser capaz de servir colas de impresión, directorios compartidos y autentificar con su propio

archivo de usuarios.

Entre los sistemas tipo Unix en los que se puede ejecutar Samba, están las distribuciones GNU/Linux, Solaris y las

diferentes variantes BSD entre las que podemos encontrar el Mac OS X Server de Apple.

Samba fue desarrollado originalmente para Unix por Andrew Tridgell utilizando un sniffer o capturador de

tráfico para entender el protocolo usando ingeniería inversa. El nombre viene de insertar dos vocales al protocolo

estándar que Microsoft usa para sus redes, el SMB o server message block. En un principio Samba tomó el

nombre de smbserver pero tuvieron que cambiarlo por problemas con una marca registrada. Tridgell buscó en el

diccionario de su máquina Unix alguna palabra que incluyera las letras.

Samba es una implementación de una docena de servicios y una docena de protocolos, entre los que están:

NetBIOS sobre TCP/IP (NetBT), SMB (también conocido como CIFS), DCE/RPC o más concretamente, MSRPC,

el servidor WINS también conocido como el servidor de nombres NetBIOS (NBNS), la suite de protocolos del

dominio NT, con su Logon de entrada a dominio, la base de datos del gestor de cuentas seguras (SAM), el

servicio Local Security Authority (LSA) o autoridad de seguridad local, el servicio de impresoras de NT y

recientemente el Logon de entrada de Active Directory, que incluye una versión modificada de Kerberos y una

versión modificada de LDAP. Todos estos servicios y protocolos son frecuentemente referidos de un modo

Page 152: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas Operativos

MSC. NMP / M en C. FGR 151

incorrecto como NetBIOS o SMB.

Samba configura directorios Unix y GNU/Linux (incluyendo sus subdirectorios) como recursos para compartir a

través de la red. Para los usuarios de Microsoft Windows, estos recursos aparecen como carpetas normales de

red. Los usuarios de GNU/Linux pueden montar en sus sistemas de archivos estas unidades de red como si

fueran dispositivos locales, o utilizar la orden smbclient para conectarse a ellas muy al estilo del cliente de la

línea de órdenes ftp. Cada directorio puede tener diferentes permisos de acceso sobrepuestos a las protecciones del

sistema de archivos que se esté usando en GNU/Linux. Por ejemplo, las carpetas home pueden tener permisos

de lectura y escritura para cada usuario, permitiendo que cada uno acceda a sus propios archivos; sin

embargo, deberemos cambiar los permisos de los archivos localmente para dejar al resto ver nuestros archivos, ya

que con dar permisos de escritura en el recurso no será suficiente.

La configuración de Samba se logra editando un solo archivo, ubicado en /etc/smb.conf o

en /etc/samba/smb.conf.

Ejemplo de configuración básica

Archivo de configuración /etc/samba/smb.conf

[global]

workgroup = nombreGrupoTrabajo

[compartido]

comment = Archivos Compartidos

path = /home/nombreUsuario/compartido

browseable = yes

read only = no

guest ok = yes

writable = yes

valid users = @nombreUsuario

Enlaces externos

• Sitio web oficial de Samba [2]

(en inglés)

• SAMBA: Linux y Windows en Red [3]

Referencias

[1] http://www.samba.org/samba/history/samba-4.0.6.html

[2] http://www.samba.org

[3] http://estaciondetransito.com.ar/estaciondetransito/?p=18

Prácticas de laboratorio: Instalar y configurar servicios en sistemas operativos

Linux/Windows

Page 153: DIRECCIÓN DE TECNOLOGÍAS DE LA …proyectoticsmn.com/VirtSO/manual/manualso.pdfdispositivos periféricos, como lectoras de tarjetas, perforadoras de tarjetas, impresoras, unidades

DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Sistemas

Operativos

MSC. NMP / M en C. FGR 152

Bibliografía

Andrew S. Tanenbaum m , (2009) , Sistemas Operativos Modernos , México ,

México, Prentice Hall.

Andrew S. Tanenbaum , (2010) , Sistemas Operativos , México , México ,

Prentice Hall.

Brian W. Kernighan , (2006) , El entorno de Programación en UNIX. , Madrid ,

España , Prentice Hall.

Harley Hahn , (2009) , Guía del Estudiante de UNIX , Estados Unidos , Estados

Unidos , Harley Hahn Books.

Tom Adelstein, Bill Lubonavic, (2004), Administration de Sistemas Linux , España

, España , O´relly.

Gómez, J. y Padilla, N. y Gil, J. A. , (2006) , Administración de Sistemas

Operativos Windows y Linux: Un Enfoque Práctico , D.F., México, Ra-Ma.

Gómez Lopez, J, (2011), Administración de Sistemas Operativos: Un Enfoque

Práctico. 2ª. Edición, D.F., México, Alfaomega, Ra-Ma.

Molina, Francisco y Peramato, Iván, (2011), Enciclopedia de GNU/Linux para

Usuarios y Administrador, D.F., México, Alfaomega, Ra-Ma.

Mark G. Sobell. (2010). Manual práctico de Linux. Comandos, editores y

programación Shell. Para usuarios de distribuciones GNU/Linux: Ubuntu,

Fedora, openSUSE, Red Hat, Debian, Mandriva, Mint y Mac OS X. Ediciones

Anaya Multimedia.