Download Manual - Didáctica Digítal Sistemas Operativos

Document related concepts

Historia de los sistemas operativos wikipedia , lookup

Linux International wikipedia , lookup

Multiusuario wikipedia , lookup

Sistema operativo móvil wikipedia , lookup

Linux Lite wikipedia , lookup

Transcript
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
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas
Operativos
Í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
MSC. NMP / M en C. FGR
1
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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.
MSC. NMP / M en C. FGR
2
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
I.
Sistemas Operativos
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.
Resuelven problemas o realizan trabajos para los usuarios.
Programas de
(Por ejemplo: hojas de cálculo, editores de texto,
graficadores, etc.).
aplicación
Clasificación
General del
Software
Programas de
sistema.
Controlan la operación de la computadora.
(Sistema Operativo)
¿Cuál es el programa fundamental de una computadora? El Sistema Operativo.
Clientes (Simultáneos)
Despachador de tienda
1
(Encargado)
Atención a clientes tomando en
2
3
Artículos de papelería.

Servicio de copiado.

Venta de regalos.
cuenta:




4
Reglas.
Políticas.
Estrategias.
Criterios.
o

MSC. NMP / M en C. FGR

De manera trivializada.
3
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
Tienda
Usuarios (Peticiones)
Sistema Operativo (S.O.)
1
(Gestor)
Rutinas de control (software)
considerando:
2
3



Reglas.
Políticas.
Estrategias.

Hardware

Software
4
Sistema de cómputo
Procesador
Memoria
Archivos
Datos
S.O
.
Usuarios
Software
Dispositivos de
Dispositivos de
Medios de
E/S
comunicación
almacenamiento
secundario
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
MSC. NMP / M en C. FGR
4
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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.
Tarea 1
Tarea 2
COMPUTADORA
Salida 1
Salida 2
Tarea 3
Salida 3
Tarea 4
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).
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
MSC. NMP / M en C. FGR
5
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
ejecutar una combinación de diversas tareas, así que los diseñadores de S.O.
Sistemas Operativos
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.
S.O. con mayor
S.O. más
Equipo de
Mayor costo del
poder de
robusto (más
cómputo más
sistema
administración.
rutinas de
“poderoso” (más
informático.
control).
recursos de
cómputo).
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:
MSC. NMP / M en C. FGR
6
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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.
MSC. NMP / M en C. FGR
7
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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:
Los

Procesadores

Almacenamiento

Dispositivos de e/s

Datos e Información.
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
MSC. NMP / M en C. FGR
8
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
1.3.
Sistemas Operativos
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.


SO de red.
SO distribuidos.


Monotareas.
Multitareas.
c) Número de procesadores.



Uniproceso.
Multiproceso.
 Simétricos.
 Asimétricos.
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.
MSC. NMP / M en C. FGR
9
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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.
MSC. NMP / M en C. FGR
10
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS

Sistemas Operativos
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.
MSC. NMP / M en C. FGR
11
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
MSC. NMP / M en C. FGR
12
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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




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.

DESVENTAJAS
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


Las estaciones de trabajo suelen ser más 
baratas que UNIX, excepto clones como LINUX.
Fácil de administrar y de usar.


DESVENTAJAS
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 Nace de la necesidad de crear software de control para
tareas en orden no satisfactorio e improductivo para las nuevas computadoras personales.
grandes computadoras.
Se diseño con mucho cuidado, con una meta clara en Se diseño “a vapor”, con la única meta de brindar
la mente, y, a pesar de su edad, sigue siendo moderno acceso a las computadoras personales.
y elegante.
Ilustra mucho de los principios de diseño más Fue basado en la forma de trabajo que adopto UNIX.
importantes para la construcción de SO.
Trabaja con software de aplicación que requiere Trabaja básicamente, con una vasta colección de
protección y seguridad.
software de aplicación de costo relativamente barato
(no seguro).
Se puede ejecutar en más tipos de computadoras que Sólo se puede ejecutar sobre una variedad de
cualquier otro SO.
computadoras personales de modelos IBM.
Permite el trabajo con una gama amplia de hardware Solo se emplean dispositivos compatibles o fabricados
(SO se adapta al hardware).
para la computadora personal (hardware adaptado al
SO).
MSC. NMP / M en C. FGR
13
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
La creación de un sistema informático depende de las
Sus capacidades y herramientas (banco de trabajo) especificaciones que otorgue el fabricante del SO.
permiten la adaptación y creación de diversos sistemas
de computo.
La fácil portabilidad entre diferentes sistemas de Su utilización y popularidad se debió a la siguiente
computo, contribuyo a la creación de varias versiones evolución:
(hijos, clones) de UNIX.
 Permitiendo la compatibilidad con programas
anteriores.
 Pasar del modo texto a interfaz gráfica
(WINDOWS).
 Mejorando la protección y seguridad.
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.
MSC. NMP / M en C. FGR
14
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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.
MSC. NMP / M en C. FGR
15
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos

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.
MSC. NMP / M en C. FGR
16
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
SO basado en UNIX
SO de distribución
Popular y altamente
más joven de todos.
gratuita o barata.
difundido.
Altamente
Colaboración de
Constante
compatible con
muchos usuarios.
crecimiento.
UNIX.
Versión de UNIX
No depende de
Rápida
para INTEL PC.
ninguna empresa
evolución.
comercial.
Aprovecha toda la
Ahorro en tiempo,
Flexible a
capacidad de la PC.
de actualizaciones y
modificaciones o
de dinero.
ampliaciones..
Aporta velocidad,
eficiencia y
flexibilidad.
Distribuciones de LINUX
MSC. NMP / M en C. FGR
17
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
Producto de software
Producto de software
(SO) muy específico.
(SO) diversificado.
Todo.
Núcleo
Conjunto de
diversas
(LINUX).
aplicaciones.
Distribuciones
Desarrollado y
Diseño de
distribuido por
distribuciones con base
empresas comerciales.
al núcleo.
No hay lugar para
Facilidad de
cambios de software.
compatibilidad.
Ejemplos: Windows 98, ME, XP, NT, Mac OS, SOLARIS, HPUX
Ejemplos: UNIX, LINUX, MINIX
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.
MSC. NMP / M en C. FGR
18
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos

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
Guía completa.
www.linux.org
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
MSC. NMP / M en C. FGR
19
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
Sabayon
Puppy linux
SLAX
http://www. ubuntu.com
http://www. sabayonlinux.org
http://www. puppy linux.org
http://www.slax.org
Linux Mint
http://www. linuxmint.org
PC LinuxOS
Mandriva
CentOS
Red Hat Enterprise
Suse Linux Enterprise
http://www. pclinuxos.org
http://www. mandriva.org
http://www.centos.org
http://www.redhat.com/
https://www.suse.com/
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




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).
MSC. NMP / M en C. FGR
Desventajas




Falta de asistencia técnica.
Problemas con el hardware.
Imposibilidad de utilizar el programa actual
(no compatibles).
Falta de experiencia.
20
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
MSC. NMP / M en C. FGR
21
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
II.
Sistemas Operativos
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.
MSC. NMP / M en C. FGR
22
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
MSC. NMP / M en C. FGR
23
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
Última versión estable
Última versión en pruebas
[2]
)
Windows RT, Windows Server 2012
[3]
(Núcleo NT 6.2 Build 9200) (info
)
26 de octubre de 2012
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
[4]
(info )
↓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.
MSC. NMP / M en C. FGR
24
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
Historia
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
Árbol genealógico de Windows.
(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.
MSC. NMP / M en C. FGR
25
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
MSC. NMP / M en C. FGR
26
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
agosto de 1995
Windows 95
4.03.1214 (OSR Sin soporte desde 31 de diciembre de 2001
2.5 ó 4.00.950C)
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
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
Windows Vista
2006 (licencias por
volumen)
Enero de 2007
(retail)
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
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
[5] Windows 7 y
octubre de 2009
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
Ú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
6.0.6002 con el Service Pack 2 (28 de abril de 2009).
Línea de tiempo de versiones
MSC. NMP / M en C. FGR
27
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
Versiones más utilizadas
[6]
[7]
[8]
Net Market Share
W3Counter
Global Stats
Fuente
Dato
Septiembre 2013
Julio 2013
Septiembre 2013
[9]
W3 Schools
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
[10][11][12][13]
con la que la empresa reacciona ante un problema de seguridad que pueden llegar a meses
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
arreglan problemas de seguridad hechos por terceros.
[16][17]
ha provocado que se desarrollen parches que
[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
MSC. NMP / M en C. FGR
28
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
•
•
Vídeo
•
•
Música (Xbox Music) •
Mapas
•
•
Calendario
•
Cámara
•
Mensajes
•
SkyDrive App
•
Noticias
Windows Store •
Deportes
Viajes
Bing App
• 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.
MSC. NMP / M en C. FGR
29
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
Críticas y polémicas
Microsoft fue demandado por el Gobierno de Estados Unidos en 1998 por competencia desleal, y especialmente por
[20]
la inclusión del navegador Internet Explorer en su versión Windows 95.
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,
[22]
aunque la cerró poco después, en 2007.
[21]
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
[23]
que servidores basados en Windows.
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
MSC. NMP / M en C. FGR
30
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
Lanzamiento inicial
Última versión estable
Software propietario; Shared Source
4 de febrero de 2008 ([[2] info])
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.
MSC. NMP / M en C. FGR
31
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
• 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
[5]
• Windows Essential Business Server 2008 (Nombre clave "Centro") (x86-64) para empresas de tamaño medio
• 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.
MSC. NMP / M en C. FGR
32
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
[]
Windows Server 2008 R2 Edition comparison chart
Features
Foundation
Standard
Maximum physical
memory (RAM) (64-bit)
Web
HPC
Enterprise
Datacenter
Itanium
Parcial
Parcial
Parcial
2 TB
2 TB
2 TB
Parcial
Parcial
Parcial
Parcial
64
64
Sí
Sí
Sí
16
16
Parcial
Sí
Sí
Sí
Sí
Sí
Sí
Sí
Sí
Sí
Sí
Sí
Sí
8 GB
Maximum physical
CPUs supported
1
Cross-File Replication
(DFS-R)
No
No
No
No
Failover Cluster Nodes
(Nodes)
No
No
No
No
Fault Tolerant Memory
Sync
No
No
No
No
Hot Add Memory
No
No
No
No
Hot Add Processors
No
No
No
No
No
Hot Replace Memory
No
No
No
No
No
Hot Replace Processors
No
Network Access
Connections (IAS)
No
Parcial
No
Parcial
No
Unlimited
Parcial
Unlimited
No
MSC. NMP / M en C. FGR
No
No
33
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Network Access
Connections (RRAS)
Parcial
Parcial
Sistemas Operativos
Parcial
Unlimited
Unlimited
No
No
Remote Desktop Admin
Connections
2
Remote Desktop
Services Gateway
Parcial
Parcial
Unlimited
Unlimited
No
Virtual Image Use
Rights
Parcial
No
Parcial
No
Parcial
Parcial
Unlimited
Unlimited
No
USD Pricing
[]
Features
N/A
$1,029 (5
CAL)
$1,229 (10
CAL)
$469 (No
CAL)
N/A
$3,999 (25
CAL)
$2,999
$2,999
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
MSC. NMP / M en C. FGR
34
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
[9]
Los requerimientos mínimos para Windows Server 2008 son los siguientes:
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
MSC. NMP / M en C. FGR
Monitor Super VGA (800 x 600) o con resolución mayor, teclado y ratón
35
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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.
MSC. NMP / M en C. FGR
36
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
[1]
ProyectoDebian
[2]
debian.org
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.
MSC. NMP / M en C. FGR
37
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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ó
desarrollador Ean
a Ian Murdock como el líder de proyecto. En la sugerencia del
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
Captura de Debian lenny con awesome 3.4.1 Mercury como gestor
de ventanas y con varias consolas en marcha.
distribución eran las primeras de muchas distribuciones
basadas en Debian.
MSC. NMP / M en C. FGR
38
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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.
MSC. NMP / M en C. FGR
39
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
Árbol de la familia Debian GNU/Linux
escritorio Xfce 4.4.2, LXDE 0.3.2.1, el
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
Rojo
Significado
Versión antigua; no soportada
Amarillo Versión antigua; aun soportada
MSC. NMP / M en C. FGR
Verde
Versión actual
Azul
Versión futura
40
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Versión Nombre
en clave
Fecha
Arquitecturas Paquetes Soporte
Sistemas Operativos
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
2.1
slink
9 de marzo
de 1999
4
≈ 2.250
2000-12 APT, nuevas arquitecturas: alpha, sparc.
2.2
potato
15 de agosto 6
de 2000
≈ 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 11
2007
≈ 18.000
2009-09 Instalador gráfico, transición a udev.
5.0
lenny
14 de
febrero de
12
[] TBA
≈ 23.000
6 de febrero
de 2011
9+2
≈ 29.000
Transición a glibc, nueva arquitectura m68k.
Nueva arquitectura: armel.
2009
6.0
squeeze
TBA
7.0
wheezy
4 de mayo
de 2013
11+2
≈ 37.000
TBA
8.0
jessie
TBA
TBA
TBA
TBA
Nuevas arquitecturas/núcleos: kfreebsd-i386,
kfreebsd-amd64, arquitecturas abandonadas: alpha, hppa,
[5]
[]
[6]
OABI
arm eglibc en vez de glibc
Inicio del sistema en
.
.
[7]
[8]
paralelo. Eliminación de bibliotecas antiguas como GTK 1.
[]
Firmware no libre eliminado de su kernel.
[9]
Eliminación de bibliotecas antiguas como Qt 3.
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.
MSC. NMP / M en C. FGR
41
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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.
MSC. NMP / M en C. FGR
42
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
•
Sistemas Operativos
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 2
28
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.
MSC. NMP / M en C. FGR
43
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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:
MSC. NMP / M en C. FGR
44
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
•
Sistemas Operativos
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.
MSC. NMP / M en C. FGR
45
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
MSC. NMP / M en C. FGR
46
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
III.
Sistemas Operativos
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
MSC. NMP / M en C. FGR
47
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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.
MSC. NMP / M en C. FGR
48
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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.
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.
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
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.
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.
MSC. NMP / M en C. FGR
49
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
Árbol.
hormig
zorro
a
gato
vaca
perro
gallina
o
chivo
ibis
cochin
león
búho
pony
rata
gusano
borreg
o
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.
MSC. NMP / M en C. FGR
50
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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.
MSC. NMP / M en C. FGR
51
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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.
MSC. NMP / M en C. FGR
52
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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:
juegos
atributos
correo
atributos
noticias
atributos
trabajo
atributos
Atributos en la entrada del directorio
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:
juegos
correo
noticias
trabajo
Estructura de datos que contiene los atributos
Atributos en otro lugar
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:
Directorio raíz
Directorio
Archivo
Un solo directorio compartido por todos los usuarios.
MSC. NMP / M en C. FGR
53
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
*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:
Directorio raíz
Directorio
Directorio del usuario
Archivo
Archivos
Un directorio por usuario.
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:
Directorio raíz
Directorio del usuario
Directorio
Archivo
Subdirectorios del usuario
Un árbol arbitrario por usuario.
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
MSC. NMP / M en C. FGR
54
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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ó.
MSC. NMP / M en C. FGR
55
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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.
MSC. NMP / M en C. FGR
56
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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.
MSC. NMP / M en C. FGR
57
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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.
MSC. NMP / M en C. FGR
58
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
Directorios del Sistema LINUX
MSC. NMP / M en C. FGR
59
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
MSC. NMP / M en C. FGR
60
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
3.2.
Sistemas Operativos
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”
MSC. NMP / M en C. FGR
61
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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.
MSC. NMP / M en C. FGR
62
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
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.
Sistemas Operativos
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.
MSC. NMP / M en C. FGR
63
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
-n
Sistemas Operativos
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
MSC. NMP / M en C. FGR
64
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
……
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.
MSC. NMP / M en C. FGR
65
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
MSC. NMP / M en C. FGR
66
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
Muestra sólo el identificador de usuario.
-n
Muestra sólo el nombre de usuario o de grupo, es necesario en combinación con –u o –g.
-r
Muestra UID y GID reales en lugar de efectivos, es necesario en combinación con –u o –g.
-q
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
Las fechas se muestran en formato juliano enumerando los días de forma consecutiva desde el
1 de enero.
-y
Muestra el calendario del año actual.
mes 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.
año 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.
MSC. NMP / M en C. FGR
67
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
Da diversa información sobre los usuarios.
-l
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
-p
del usuario.
usuarios 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
MSC. NMP / M en C. FGR
68
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
Establece los permisos facilitados en modo del directorio en su creación.
-p
Crea los directorios padres necesarios si no existen.
directorio
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:
MSC. NMP / M en C. FGR
69
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
-a
Sistemas Operativos
Muestra todos los archivos del directorio actual incluyendo los archivos ocultos, que en
LINUX son los que comienza su nombre por punto.
-C
Muestra la lista de archivos en formato de columnas.
--color
Muestra la lista de archivos en colores según el tipo de archivo.
-x
Muestra la lista de archivos en formato de columnas ordenada por columnas.
-d
Muestra los directorios como archivos en lugar de mostrar sus contenidos.
-k
Muestra los tamaños de los archivos en kilobytes.
-l
Lista de forma extensa los archivos, con información como derechos propietarios, fecha
de creación y tamaño.
-t
Muestra ordenando por la fecha de la última modificación.
-u
Muestra ordenando por la fecha del último acceso.
-r
Muestra ordenando pero de forma inversa.
-R
Lista el contenido de los subdirectorios recursivamente.
-i
Muestra el numero de inodo de cada archivo.
-F
Formatea la salida poniendo símbolos para diferenciar entre los distintos tipos de
archivos
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.
MSC. NMP / M en C. FGR
70
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
MSC. NMP / M en C. FGR
71
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
Lista de archivos a concatenar.
-b
Numera las líneas que no estén en blanco.
-n
Numera todas las líneas aunque estén en blanco.
-s
Elimina varias líneas en blanco consecutivas sustituyéndolas por una sola.
-V
Muestra los caracteres de control excepto final de línea y tabuladores.
-E
Muestra el carácter $ al final de cada línea.
-T
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
Por defecto rm pide confirmación antes de borrar, con esta opción forzamos la operación
sin pedir confirmación.
-i
Activa el modo interactivo para solicitar confirmación antes de borrar, este modo esta por
-r
defecto.
-v
Opción para borrar los directorios y su contenido, es necesaria para borrarlos.
archivos
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.
MSC. NMP / M en C. FGR
72
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Comando:
cp
Formato:
cp [opciones] fuente destino
Sistemas Operativos
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
Conserva los atributos y estructuras del origen en la copia.
-b
Hace copias de seguridad de archivos que van a ser sobrescritos o borrados.
-d
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
-f
copias.
-i
Borrar archivos destino existentes.
-l
Interroga sobre si sobrescribir ficheros destino existentes.
-p
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
-r
conserva el tiempo de última modificación y de último acceso.
-R
Copia directorios recursivamente descendiendo en su árbol de directorios hijos. Es la opción
-s
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
-u
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
-v
o más reciente.
-x
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.
MSC. NMP / M en C. FGR
73
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Comando:
mv
Formato:
mv [opciones] origen destino
Sistemas Operativos
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
Por defecto mv pregunta antes de borrar algo, con esta opción eliminamos esta
-i
confirmación.
origen
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
destino
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
Crea un enlace simbólico.
origen
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á
destino 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.
MSC. NMP / M en C. FGR
74
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Comando:
more
Formato:
more [opciones] archivos
Sistemas Operativos
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
Establece el tamaño de las páginas que muestra a n líneas.
-c
Cambia el formato en que muestra las páginas en la pantalla, escribiendo las líneas una a una y
desplazando.
-q
Cambia el aviso por omisión para el desplazamiento de las páginas.
-s
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.
MSC. NMP / M en C. FGR
75
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Comando:
pg
Formato:
pg [-acefnst] [-p indicador] [-n] [+n] [+/patrón] [archivo ...]
Sistemas Operativos
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.
MSC. NMP / M en C. FGR
76
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
MSC. NMP / M en C. FGR
77
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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.
MSC. NMP / M en C. FGR
78
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
Descripción
básicos
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.
MSC. NMP / M en C. FGR
79
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
Muestra para cada archivo su tamaño.
-b
Muestra los tamaños en bytes.
-k
Muestra los tamaños en kilobytes.
-x
Muestra sólo la información referente a los sistemas de archivos actualmente montados.
-L
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í.
-s
Muestra el tamaño que ocupa cada subdirectorio en conjunto con la suma de todo lo que
ocupa su contenido.
archivos 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.
MSC. NMP / M en C. FGR
80
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
Las opciones son:
-c
Muestra para cada archivo su tamaño.
-z
Muestra los tamaños en bytes.
-L
Muestra los tamaños en kilobytes.
-f archilista
Muestra sólo la información referente a los sistemas de archivos actualmente
-m
montados.
Muestra la información del espacio ocupado por el archivo al que apunta una
archivos
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
Cantidad de líneas que queremos que se muestre.
archivos
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
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
-f
número de últimas líneas.
archivo
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
MSC. NMP / M en C. FGR
81
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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,
USER TTY
FROM LOGIN@ IDLE
load average: 0.01,
0.09, 0.09
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
Comando:
su
Formato:
su [–] [usuario]
w
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
MSC. NMP / M en C. FGR
82
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
MSC. NMP / M en C. FGR
83
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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()
MSC. NMP / M en C. FGR
84
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
/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.
MSC. NMP / M en C. FGR
85
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
igx
67320 Jan 22 19:02 todo.tar.gz
$ gzip todo.tar
$ls -l todo.tar.gz
-rw-r—r--
1 chan
$
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
MSC. NMP / M en C. FGR
tar -xf 86
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
$
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
MSC. NMP / M en C. FGR
87
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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.
MSC. NMP / M en C. FGR
88
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
-a
Unión y logia de opciones de selección.
-o
Unión O lógica de opciones de selección
Sistemas Operativos
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
MSC. NMP / M en C. FGR
89
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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/
adams:-$ ls | grep “hams$”
abraham
zebraham
adams:-$
zebraham
El comando grep
Caracteres especiales existentes con su significado correspondiente:
MSC. NMP / M en C. FGR
90
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Carácter especial
Sistemas Operativos
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.
2.
\{número} Numero exacto
\{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
MSC. NMP / M en C. FGR
91
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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.
MSC. NMP / M en C. FGR
92
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
matar procesos
kill, killall
killall, pkill, kill,
skill
kill, killall
kill, pkill
taskkill
cambiar
prioridad de
procesos
nice
nice, chrt
nice
nice
start /low, start
/normal, start
/high, start
/realtime
N/A
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
N/A
N/A
crear software
raid
atacontrol,
gmirror, zfs
create
(mdadm—create)
N/A
montar
dispositivo
mount
desmontar
dispositivo
umount
MSC. NMP / M en C. FGR
sh file.sh
N/A
fsck
fsck
fsck
taskkill
kill
nice
chkdsk
diskutil
appleRAID
metainit,
zfs create
diskpart (mirror
only)
diskpart (mirror
only)
mount
mount, diskutil
mount
mount
mountvol
mount &
New-PSDrive
umount
umount, diskutil
unmount(disk)
umount
mountvol /d
Remove-PSDrive
N/A
N/A
93
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
montar archivo
como
dispositivo de
bloques
mdconfig +
mount
mount -o loop
mostrar
configuración
de red
ifconfig
ip addr, ifconfig
mostrar ruta de
red
route
ip route
route
route
route
rastrear ruta de
red
traceroute
traceroute
traceroute
traceroute
tracert
tracert
rastrear ruta de
red con ping
traceroute -I
traceroute -I &
mtr
traceroute -I
traceroute
-I
pathping
pathping
descripción
FreeBSD
Linux
OS X
Solaris
Windows (cmd)
Windows
(powershell)
hdid
ifconfig
lofiadm +
mount
ifconfig
N/A
N/A
ipconfig
ipconfig
N/A
N/A
N/A
N/A
N/A
N/A
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).
MSC. NMP / M en C. FGR
94
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
3.3.
Sistemas Operativos
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.
MSC. NMP / M en C. FGR
Pantalla durante una sesión muestra Bash, tomada en Gentoo Linux.
95
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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).
MSC. NMP / M en C. FGR
96
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
/etc/.login
no
no
/etc/csh.cshrc
no
no
no
/etc/csh.login
no
no
~/.tcshrc
no
~/.cshrc
tcsh
bash
zsh
no
no
yes
no
no
no
login
no
no
no
no
yes
no
no
no
no
yes
yes
no
no
~/.login
no
no
login login
no
no
~/.logout
no
no
login login
no
no
login login
/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
/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
n/login no
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.
MSC. NMP / M en C. FGR
97
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
• Linux Shell Scripting Tutorial - A Beginner's handbook
• www.freebsd.org Lista de shells
[1]
[2]
[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
MSC. NMP / M en C. FGR
98
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
MSC. NMP / M en C. FGR
99
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS

Sistemas Operativos
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.
MSC. NMP / M en C. FGR
100
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
B.
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.
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
MSC. NMP / M en C. FGR
Repite la última búsqueda o busca la siguiente
101
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
MSC. NMP / M en C. FGR
102
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
:! Comando
Sistemas Operativos
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.
MSC. NMP / M en C. FGR
103
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS

Sistemas Operativos
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
~
MSC. NMP / M en C. FGR
104
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
~

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
MSC. NMP / M en C. FGR
105
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos

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
MSC. NMP / M en C. FGR
106
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS

Sistemas Operativos
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
MSC. NMP / M en C. FGR
107
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
[2]
• ¿Qué es un guion (script)?
[3]
• Curso de programación de guiones en bash
• Conversaciones de Bar - Un libro libre de bash scripting
[4]
Referencias
[1]
[2]
[3]
[4]
http://www.gentoo.org/doc/es/handbook/handbook-amd64.xml?part=2&chap=4#doc_chap4
http://www.demiurgo.org/doc/shell/shell-2.html
http://www.etxea.net/docu/taller_bash/bash.html
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
MSC. NMP / M en C. FGR
108
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
3.4.
Sistemas Operativos
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.
MSC. NMP / M en C. FGR
109
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
MSC. NMP / M en C. FGR
110
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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-rLa 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
MSC. NMP / M en C. FGR
111
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
MSC. NMP / M en C. FGR
112
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
MSC. NMP / M en C. FGR
113
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
Muestra detalladamente la acción de cambio de grupo propietario para archivo o directorio en el
que se realice la acción.
-f
Anula los mensajes de error de los archivos o directorios a los que no puede cambiar el grupo
propietario.
-v
Muestra detalladamente los cambios de grupo propietario.
-R
Cambia recursivamente la propiedad de grupo en los directorios y sus contenidos.
grupo
En grupo se indica cuál será el nuevo propietario.
archivos 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.
MSC. NMP / M en C. FGR
114
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Comando:
chown
Formato:
chown [opciones] usuario archivos
Sistemas Operativos
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
Muestra detalladamente la acción de cambio de propietario para cada archivo o directorio en el
que se realice la acción.
-f
Anula los mensajes de error de los archivos o directorio a los que no puede cambiar el
-v
propietario.
-R
Muestra detalladamente los cambios de propietario.
usuario
Cambia recursivamente el usuario propietario en los directorios y sus contenidos.
archivos 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
MSC. NMP / M en C. FGR
115
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
IV.
Sistemas Operativos
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.
MSC. NMP / M en C. FGR
116
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
Comandos habituales del programa mail
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.
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.
MSC. NMP / M en C. FGR
117
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
[1]
httpd.apache.org
Información general
Diseñador
Lanzamiento inicial
MSC. NMP / M en C. FGR
Robert
[]
McCool
[]
1995
118
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
Ú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.
[6]
• mod_rewrite - 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).
MSC. NMP / M en C. FGR
119
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
[7]
• mod_dav - Soporte del protocolo WebDAV (RFC 2518).
[8]
• mod_deflate - Compresión transparente con el algoritmo deflate del contenido enviado al cliente.
• mod_auth_ldap
[9]
• mod_proxy_ajp
y JSP).
[10]
• mod_cfml
[11]
- Permite autentificar usuarios contra un servidor LDAP.
- Conector para enlazar con el servidor Jakarta Tomcat de páginas dinámicas en Java (servlets
- 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]
[14]
• mod_perl
- Control de tráfico y limitador de ancho de banda.
- Páginas dinámicas en Perl.
[15]
• mod_php
- Páginas dinámicas en PHP.
[16]
• mod_python
- Páginas dinámicas en Python.
• mod_rexx
[17]
- Páginas dinámicas en REXX y Object REXX.
[18]
• mod_ruby
- Páginas dinámicas en Ruby.
[19]
• mod_aspdotnet
- 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
MSC. NMP / M en C. FGR
120
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
[21]
GPL.
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
[22]
marca.
Referencias
[1]
[2]
[3]
[4]
http://httpd.apache.org
http://www.apache.org/dist/httpd/Announcement2.4.txt
RFC 2616 (http://www.ietf.org/rfc/rfc2616.txt)
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
MSC. NMP / M en C. FGR
121
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
PHP
Desarrollador(es)
PHP Group
[1]
php.net/
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
[3]
es incompatible con la Licencia Pública General de GNU debido a las restricciones del uso del término PHP.
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.
MSC. NMP / M en C. FGR
122
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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.
2008.
[7]
Según esta noticia
[8]
se le dio soporte a fallos críticos hasta el 9 de agosto de
[]
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.
MSC. NMP / M en C. FGR
123
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
• Manejo de excepciones.
• Mejoras con la implementación con Oracle.
Historial de lanzamiento
Significado
Rojo
Sin soporte
Verde Con soporte
Azul
Versión
mayor
Lanzamiento futuro
Versión
menor
Fecha de
lanzamiento
1
1.0.0
08-06-1995
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
4.3.0
27-12-2002
4.4.0
11-07-2005
[]
Se añaden páginas man para phpize y php-config .
4.4.9
07-08-2008
[9][10]
Mejoras de seguridad y arreglo de bugs. Último lanzamiento de la serie PHP 4.4.
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
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.
5
MSC. NMP / M en C. FGR
Notas
Llamada oficialmente "Personal Home Page Tools (PHP Tools)". Es la primera versión en usar el nombre
[]
"PHP".
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.
[][]
Se introduce CLI, y CGI.
[11]
.
124
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
...
09-05-2013
...
06-06-2013
...
11-07-2013
...
5.3.25
[12]
5.3.26
[13]
5.3.27
[14]
5.4.0
MSC. NMP / M en C. FGR
01-03-2012
Soporte para Trait y sintaxis abreviada de array. Elementos removidos: register_globals,
safe_mode, allow_call_time_pass_reference, session_register(),
[15]
session_unregister() y session_is_registered(). Servidor web
Varias
incorporado.
mejoras a características existentes y al rendimiento, y requerimientos de memoria menores.
125
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
...
09-05-2013
...
06-06-2013
...
04-07-2013
...
5.5.0
beta3
11-04-2013
...
5.5.0
25-04-2013
...
09-05-2013
...
23-05-2013
...
09-05-2013
...
5.4.15
[16]
5.4.16
[17]
5.4.17
[18]
beta4
[19]
5.5.0
[20]
RC1
5.5.0
[21]
RC2
5.5.0
[22]
RC3
6
5.5.0
20-06-2013
6.0.0
Sin fecha
MSC. NMP / M en C. FGR
Nuevos generadores para bucles, empty() soporta expresiones. Se pierde el soporte para Windows XP y
[23]
Windows Server2003.
El desarrollo de PHP 6 ha sido retrasado porque los desarrolladores decidieron que el enfoque actual para
[24]
tratar cadenas Unicode no es correcto, y están considerando formas alternas para la siguiente
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).
126
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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.
MSC. NMP / M en C. FGR
127
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
• 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
MSC. NMP / M en C. FGR
128
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
MSC. NMP / M en C. FGR
129
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
1986 SQL-86
Alias
SQL-87
1989 SQL-89
1992 SQL-92
Comentarios
Primera publicación hecha por ANSI. Confirmada por ISO en 1987.
Revisión menor.
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
2006 SQL:2006
Introduce algunas características de XML, cambios en las funciones, estandarización del objeto sequence y de las
[2]
columnas autonumericas. (Ver Eisenberg et al.: SQL:2003 Has Been Published
.)
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
MSC. NMP / M en C. FGR
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].)
130
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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.
MSC. NMP / M en C. FGR
131
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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.
MSC. NMP / M en C. FGR
132
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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';
MSC. NMP / M en C. FGR
133
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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.
MSC. NMP / M en C. FGR
134
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
MSC. NMP / M en C. FGR
135
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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.
MSC. NMP / M en C. FGR
136
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
4.3.
Sistemas Operativos
Servicios de impresión
Common Unix Printing System
Common Unix Printing System
Desarrollador
Easy Software Products
[1]
www.cups.org
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.
MSC. NMP / M en C. FGR
137
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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.
Sweet y compró el código fuente de CUPS.
[3]
En febrero de 2007, Apple Inc. empleó al desarrollador Michael
[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
[6]
a un formato que la impresora comprende. 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]
[8]
• Un módulo de autorización controla cuáles mensajes de IPP y HTTP pueden pasar a través del sistema.
• 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]
MSC. NMP / M en C. FGR
138
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
• 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
[11]
impresoras en una clase, permitiendo al planficador redirigir el trabajo a la primer impresora libre de ésa clase.
• 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
[12]
procesos.
• 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
[13]
servicio al finalizar el procesamiento.
• 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
[15]
impresora
[16]
• el módulo PPD encargado de manejar una lista de archivos PPD PostScript Printer Description
• el módulo periféricos quien administra una lista de periféricos disponibles en el sistema
[18]
• y un módulo impresoras encargado de las impresoras y PPDs dentro de CUPS.
[17]
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
[19][20]
filtros.
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
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.
• mime.convs define las aplicaciones que deben procesar cada
tipo MIME en particular.
[21]
MSC. NMP / M en C. FGR
139
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
MSC. NMP / M en C. FGR
140
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
[24]
páginas a imprimirse, modo n-up y otras opciones específicas del periférico.
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
[25]
convierte el PostScript en un formato intermedio CUPS-raster
É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
[26]
de rasterizado a SPL.
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)
MSC. NMP / M en C. FGR
141
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
[27]
puerto 631.
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
Interfaz web de CUPS 1.4 b2.
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.
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
GtkLPQ, o GtkPSproc
[29]
[28]
y su herramineta asociada
.
EL grupo de bibliotecas para desarrollar interfaces gráficas de usuario
(widget toolkit) llamado GTK+, sobre los cuales GNOME está basado,
GNOME CUPS Manager.
incluye soporte integrado de impresiones basadas en CUPS a partir de
su versión 2.10, introducida en 2006.
KDE
[30]
KDEPrint
, 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.
MSC. NMP / M en C. FGR
142
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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]
[26]
[27]
[28]
[29]
[30]
El tipo MIME del formato rasterizado de CUPS es application/vnd.cups-raster.
Splix home page (http://splix.ap2c.org/)
CUPS Software Administrators Manual (http://www.cups.org/sam.html#4_4), "Managing Printers from the Web"
http://gtklp.sourceforge.net
http://www.rastersoft.com/gtkpsproc.html
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/
MSC. NMP / M en C. FGR
143
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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)
MSC. NMP / M en C. FGR
144
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
4.4.
Sistemas Operativos
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.
MSC. NMP / M en C. FGR
145
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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)
[2]
• OpenSSH (en español)
[3]
• Seguridad de Debian
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
• SSH y SCP sin contraseña
[6]
[7]
(en inglés)
(en español)
Referencias
[1]
[2]
[3]
[4]
[5]
[6]
[7]
http://www.openssh.org
http://www.openssh.com/es/index.html
http://security.debian.org
http://www.guia-ubuntu.org/index.php?title=Servidor_ssh
http://www.howtoforge.com/secure_mysql_connection_ssh_tunnel
http://webssh.uni.me
http://crysol.org/es/ssh-public-key
MSC. NMP / M en C. FGR
146
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
MSC. NMP / M en C. FGR
147
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
[1]
versión 2 del protocolo son los siguientes:
• 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
MSC. NMP / M en C. FGR
con la mayoría de primitivas de E/S usadas en el sistema operativo local para acceder a
148
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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.
[2]
• La versión 3 de NFS (NFSv3) 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.
[3]
• NFS versión 4 (NFSv4) 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)
MSC. NMP / M en C. FGR
149
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
4.5.
Sistemas Operativos
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
Samba es una implementación
Género
Acceso Remoto
Sistema operativo
Multiplataforma
Licencia
GPL
En español
?
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
MSC. NMP / M en C. FGR
de LDAP. Todos estos servicios y protocolos son frecuentemente referidos de un modo
150
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas Operativos
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
[2]
• Sitio web oficial de Samba (en inglés)
[3]
• SAMBA: Linux y Windows en Red
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
MSC. NMP / M en C. FGR
151
DIRECCIÓN DE TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS
Sistemas
Operativos
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 ,

Gómez Lopez, J, (2011), Administración de Sistemas Operativos: Un Enfoque
Práctico. 2ª. Edición,

D.F., México, Ra-Ma.
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.
MSC. NMP / M en C. FGR
152