Laboratorio02.doc

9
IS- 344 Lab Sistemas Opeartivos Ingeniería de Sistemas OBJETIVOS: Conocer el sistema operativo Linux, las opciones de instalación Aprender a instalar Linux en un ordenador usando una máquina virtual Introducir y afianzar los conceptos de los sistemas operativos tales como: sistemas de archivos, particiones, puntos de montaje, entre otros. i. Un poco de historia UNIX surgió alrededor de 1970 como proyecto personal de Ken Thompson que trabajaba para Bell Labs de AT&T, pronto se le unió Dennos Ritchie y más tarde el resto de miembros de su departamento. En 1974 Ritchie y Thompson escribieron un artículo relativo a UNIX cuya publicación estimuló a muchas universidades a pedir a Bell Labs una copia de UNIX, incluido el código fuente. Una de las primeras universidades que adquirió pronto la Versión 6 de UNIX fue la Universidad de California en Berkeley. Puesto que disponía de todo el código fuente, Berkeley hizo substanciales mejoras y produjo sus propias versiones denominadas BSD. Entre las mejoras realizadas estaban la paginación, un sistema de ficheros más rápido y con nombres de fichero más largos, una pila de protocolos de red (TCP/IP) y numerosas utilidades. A finales de la década de los ochenta, se utilizaban dos versiones de UNIX distintas e incompatibles en ciertos aspectos: 4.3BSD y la versión 3 del Sistema V. El primer intento serio de reconciliar las dos versiones de UNIX, bajo los auspicios del IEEE Standards Board dio lugar al proyecto POSIX (POS por Portable Operating System y IX por unIX). El comité POSIX produjo una serie de estándares (del 1003.0 al 1003.10) siendo el 1003.1 (también denominado POSIX.1) el más importante de ellos y que definía el conjunto de llamadas al sistema que cualquier sistema UNIX debía proporcionar. En 1991, surgió Linux. Linux es la idea original de Linus Torvalds, un estudiante de informática de la universidad de Helsinki. Su idea era mejorar Minix, una versión de UNIX creada por Andrew S. Tanenbaum con fines educativos. A partir de Minix, creó un sistema operativo rudimentario y puso el código fuente a disposición de cualquiera. Pronto se le unieron diversos programadores de todo el mundo a través de Internet que desinteresadamente aportaban su trabajo para mejorar Linux. En muy poco tiempo, Linux adquirió todas las características de cualquier UNIX comercial. No obstante, un sistema operativo no es sólo un núcleo. Se necesita un conjunto de aplicaciones con las que llevar a cabo un trabajo útil. Estas aplicaciones las aportó el proyecto GNU de la Free Software Foundation (FSF). El proyecto GNU pretende crear una versión completa de UNIX gratuita. Tenía ya varias aplicaciones como un compilador de C (gcc), un potente editor de texto (emacs) y un shell (bash), pero carecía de un sistema operativo, y Linux vino a llenar ese hueco. En este caso, las aplicaciones no se adaptaron al sistema operativo sino que Linux se adaptó para que dichas aplicaciones funcionaran sobre él. Esta decisión pragmática hizo que de la noche a la mañana surgieran gran número de aplicaciones que funcionaban en Linux como, por ejemplo, un sistema X-Windows proporcionado por el proyecto XFree86. UNSCH/QECM Página 1 de 9 GNU/Linux 2 Laborator io

Transcript of Laboratorio02.doc

Page 1: Laboratorio02.doc

IS-344Lab 02

Sistemas Opeartivos Ingeniería de Sistemas

OBJETIVOS: Conocer el sistema operativo Linux, las opciones de instalación Aprender a instalar Linux en un ordenador usando una máquina virtual Introducir y afianzar los conceptos de los sistemas operativos tales como: sistemas de

archivos, particiones, puntos de montaje, entre otros.

i. Un poco de historia

UNIX surgió alrededor de 1970 como proyecto personal de Ken Thompson que trabajaba para Bell Labs de AT&T, pronto se le unió Dennos Ritchie y más tarde el resto de miembros de su departamento. En 1974 Ritchie y Thompson escribieron un artículo relativo a UNIX cuya publicación estimuló a muchas universidades a pedir a Bell Labs una copia de UNIX, incluido el código fuente.

Una de las primeras universidades que adquirió pronto la Versión 6 de UNIX fue la Universidad de California en Berkeley. Puesto que disponía de todo el código fuente, Berkeley hizo substanciales mejoras y produjo sus propias versiones denominadas BSD. Entre las mejoras realizadas estaban la paginación, un sistema de ficheros más rápido y con nombres de fichero más largos, una pila de protocolos de red (TCP/IP) y numerosas utilidades.

A finales de la década de los ochenta, se utilizaban dos versiones de UNIX distintas e incompatibles en ciertos aspectos: 4.3BSD y la versión 3 del Sistema V. El primer intento serio de reconciliar las dos versiones de UNIX, bajo los auspicios del IEEE Standards Board dio lugar al proyecto POSIX (POS por Portable Operating System y IX por unIX). El comité POSIX produjo una serie de estándares (del 1003.0 al 1003.10) siendo el 1003.1 (también denominado POSIX.1) el más importante de ellos y que definía el conjunto de llamadas al sistema que cualquier sistema UNIX debía proporcionar.

En 1991, surgió Linux. Linux es la idea original de Linus Torvalds, un estudiante de informática de la universidad de Helsinki. Su idea era mejorar Minix, una versión de UNIX creada por Andrew S. Tanenbaum con fines educativos. A partir de Minix, creó un sistema operativo rudimentario y puso el código fuente a disposición de cualquiera. Pronto se le unieron diversos programadores de todo el mundo a través de Internet que desinteresadamente aportaban su trabajo para mejorar Linux. En muy poco tiempo, Linux adquirió todas las características de cualquier UNIX comercial.

No obstante, un sistema operativo no es sólo un núcleo. Se necesita un conjunto de aplicaciones con las que llevar a cabo un trabajo útil. Estas aplicaciones las aportó el proyecto GNU de la Free Software Foundation (FSF). El proyecto GNU pretende crear una versión completa de UNIX gratuita. Tenía ya varias aplicaciones como un compilador de C (gcc), un potente editor de texto (emacs) y un shell (bash), pero carecía de un sistema operativo, y Linux vino a llenar ese hueco. En este caso, las aplicaciones no se adaptaron al sistema operativo sino que Linux se adaptó para que dichas aplicaciones funcionaran sobre él. Esta decisión pragmática hizo que de la noche a la mañana surgieran gran número de aplicaciones que funcionaban en Linux como, por ejemplo, un sistema X-Windows proporcionado por el proyecto XFree86.

En marzo de 1994 apareció la versión 1.0 del núcleo y a finales de 1996 la versión 2.0. Actualmente, la versión del núcleo de Linux es la 2.6.33 (febrero de 2010). Téngase en cuenta que las versiones con el segundo número impar son versiones de desarrollo, es decir, versiones en las que se están añadiendo mejoras y de las que no se asegura un funcionamiento correcto. En la actualidad, Linux se utiliza en entornos muy diversos, desde proveedores de Internet, hasta grandes empresas corporativas, pasando por universidades y órganos gubernamentales.

ii. Características de Linux

Multiplataforma: funciona en múltiples arquitecturas tanto de 32 como de 64 bits (Intel, AMD, PowerPC, ARM), es decir, Linux es independiente de la arquitectura. Su portabilidad se debe a que está escrito en lenguaje C y contiene muy poco código ensamblador.

Multitarea: permite ejecutar varios procesos al mismo tiempo porque soporta aplicaciones multihilo (multithread), arquitecturas SMP (Symmetric Multiprocessing) y procesadores multicore.

Multiusuario: varios usuarios pueden trabajar en la misma máquina al mismo tiempo.

UNSCH/QECM Página 1 de 8

GNU/Linux 2Laboratorio

Page 2: Laboratorio02.doc

IS-344Lab 02

Sistemas Opeartivos Ingeniería de Sistemas

Protección: el bloqueo de un proceso no afecta al resto del sistema (memoria virtual con paginación).

Consolas virtuales: múltiples sesiones pueden coexistir en la misma máquina al mismo tiempo de forma que el usuario puede pasar de una a otra con la combinación de teclas ALT+Fx donde Fx es F1,2,3,4,5,6.

Sistema de ficheros transaccional ext4 que permite nombres de ficheros de hasta 255 caracteres y tamaños de fichero de hasta 8 TB. A diferencia de otros sistemas de ficheros, no requiere herramientas de defragmentación porque minimiza la fragmentación de la información en disco. Soporta también otros sistemas de ficheros transaccionales como XFS, JFS y ReiserFS, y también los sistemas de ficheros nativos de otros sistemas operativos: MS-DOS (FAT16), Windows 98 (VFAT y FAT32), Windows NT/2000/2003/XP (NTFS), OS/2 (HPFS), MacOS (HFS), CD-ROM (ISO9660 con extensiones Rock Ridge y Joliet), Minix, etc.

Soporte para redes TCP/IP con IPv4 e IPv6 (protocolos usados en Internet), IPX/SPX (protocolos de las redes Novell NetWare), NetBEUI (protocolo de las redes Windows para Trabajo en Grupo y Windows 95/98), SMB/CIFS/Samba (protocolo para compartir archivos e impresoras), Appletalk (protocolo de las redes Apple para Macintosh), PPP (protocolo de punto a punto para el acceso a Internet con módem/ADSL), y PLIP (protocolo de puertos paralelos). Además, una máquina que ejecuta Linux puede actuar como router, firewall, proxy, etc.

Ejecución de ficheros binarios con formato ELF (nativo), y con formatos pertenecientes a otros sistemas operativos tipo UNIX, mediante carga por demanda, es decir, sólo se leen de disco aquellas partes del programa que están siendo usadas en ese momento. También existe la posibilidad de utilizar librerías compartidas tanto estáticas como dinámicas (similares a las DLLs de Windows).

Open Source: el código fuente de Linux está disponible y se distribuye mediante licencia GPL, lo que significa que se pueden hacer tantas copias como se desee y distribuirlas libremente.

Ficheros Especiales y DispositivosEn Linux, al igual que ocurre con los directorios, los dispositivos se representan mediante ficheros especiales. Básicamente, existen dos tipos de ficheros especiales: los que representan a dispositivos de caracteres (como un puerto paralelo o un puerto serie) y los que representan a dispositivos de bloques (como un disquete, una partición de un disco duro o un disco duro completo). Todos estos ficheros especiales se encuentran en el directorio /dev.

iii. Distribuciones LINUX

Todo sistema operativo está constituido por dos elementos esenciales:El núcleo o kernel que define las características del sistema operativo.Los programas del sistema que son todos aquellos programas que forman parte del sistema operativo y que se ejecutan sobre el núcleo.Una distribución de Linux está formada por el núcleo de Linux y por un conjunto de programas que lo acompañan.Las distintas distribuciones se diferencian en aspectos como:

- Métodos de instalación y configuración.- Programas del sistema y aplicaciones/utilidades.- Gestor de ventanas utilizado por defecto.

Las distintas distribuciones de Linux poseen igual estructura de administración, lo que permite manejar distintas distribuciones si conocemos una.

UNSCH/QECM Página 2 de 8

Page 3: Laboratorio02.doc

IS-344Lab 02

Sistemas Opeartivos Ingeniería de Sistemas

iv. Requisitos comunes a todas las distribuciones:

Todas ellas pueden coexistir con otros sistemas operativos en el mismo sistema, en un disco duro independiente o en el mismo disco duro.La instalación de Linux requiere normalmente dos particiones. Una partición para albergar el sistema operativo y los datos de los usuarios (podría crearse más de una), y una partición de intercambio o swap.La partición de intercambio es una partición que se utiliza única y exclusivamente para poder realizar el intercambio de página requerido por el mecanismo de memoria virtual.Todas las distribuciones suelen ofrecer la opción de realizar una instalación mínima que incluye un conjunto de paquetes clasificados como requeridos y que son imprescindibles para el correcto funcionamiento del sistema. Al realizar la instalación por primera vez, conviene elegir esta opción ya que siempre habrá tiempo de añadir más paquetes cuando los necesitemos.Al terminar el proceso de instalación, es necesario seleccionar el método de arranque de Linux. Básicamente existen dos métodos:• Crear un disquete de arranque desde el que se iniciará el ordenador.• Utilizar un cargador o loader que se ejecuta al arrancar el ordenador que nos permite seleccionar un sistema operativo de entre los que tenemos instalados. Los cargadores más utilizados en el mundo Linux se denominan LILO y GRUB. Ambos se pueden instalar en el MBR (Master Boot Record) del disco duro o en la partición de Linux. Sea cual sea el cargador elegido, si se instala en el MBR, hay que tener en cuenta que Windows destruye el MBR al instalarse, haciendo imposible el arranque de Linux. La solución pasa por acceder a la partición de Linux mediante un disquete y volviendo a instalar el cargador elegido en el MBR.

v. Estructuración de las carpetas y ficheros

Linux intenta someterse a un estándar de organización de carpetas y ficheros (el administrador puede no seguirlo si lo desea). Este estándar se denomina Filesystem Hierarchy Standard. Según éste, todas las carpetas cuelgan de una carpeta principal, que se llama raíz (representado por una barra, /). Hay que mencionar que para GNU Linux, todos los dispositivos funcionan como carpetas. Es decir, los datos que se envían a la tarjeta de sonido se escribirán en una carpeta (que en concreto se llama /dev/pcm). Vamos a ver la organización (simplificando):

/bin: aquí residen la mayoría de los programas esenciales para el arranque y funcionamiento del sistema./boot: contiene ficheros estáticos para el arranque del sistema./home: alberga los directorios personales de todos los usuarios./etc: aquí se encuentran los ficheros de configuración del sistema./lib: Librerías compartidas esenciales. Estos ficheros contienen código que compartirán muchos programas, evitando que cada uno tenga una copia para sí. Así se reduce el espacio usado en disco./dev: Los ficheros de dispositivos de los que hablábamos, que se usan para acceder a los dispositivos del sistema y recursos, como discos duros, modems, memoria, etc./proc: contiene el estado de los dispositivos hardware./usr: datos, programas y librerías accesibles por el usuario./root es el directorio de la cuenta del administrador o root./sbin: Comandos básicos para la administración del sistema./var: contiene ficheros modificables por las aplicaciones durante la ejecución: por ejemplo los logs.

vi. Aplicaciones en GNU Linux

Hay numerosas aplicaciones para Linux. Esta es una lista breve pero certera de ellas. Navegador Web: Mozilla o bien Mozilla Firefox. Cliente de Correo: Mozilla Thunderbird o bien Evolution. Administrador de archivos similar al Explorer de Windows: Konqueror y Nautilus (integrados en KDE y Gnome, respectivamente). Entorno ofimático completo: OpenOffice.org, Koffice.

UNSCH/QECM Página 3 de 8

Page 4: Laboratorio02.doc

IS-344Lab 02

Sistemas Opeartivos Ingeniería de Sistemas

Visor de PDF: Acrobat Reader, Xpdf, Gpdf. Creación de PDF: OpenOffice. Autoría de DVDs y Cds: K3b. Reproducción de ficheros de sonido: XMMS. Reproducción de DivX, VCD, DVD: Mplayer, xine. Creación de páginas Web: Quanta+. Compartición P2P: aMule, BitTorrent, MLDonkey Tratamiento gráfico: The Gimp. Mensajería instantánea: aMSN (MSN), Gaim. Ejecución de aplicaciones Windows: Wine, WineX (Cedega).

Instalación de Linux

1. Descripción general

1.1 Modos de Uso

El sistema operativo (SO) Linux puede ser usado de diferentes maneras, dependiendo de su modo de instalación. Cuando hablamos de un sistema operativo instalado decimos que estará operando de manera invasiva, de lo contrario, cuando no se instala estará operando de manera no invasiva.

a. Uso invasivo: El sistema operativo es usado de manera invasiva cuando éste es grabado en el disco duro del computador. La mayor ventaja, no se va a borrar nunca aunque el PC se apague y permitirá gestionar el disco duro ya sea para leer o escribir sobre este. Hablamos de 2 formas de uso invasivo y estas son:

Instalación nativa: Hablamos de instalación nativa cuando el SO se ejecuta de manera independiente sobre el computador sin necesidad de un software de virtualización, de este modo todos los recursos estarán a su disposición, esta es la forma típica en que se instalan los sistemas operativos.

Cuando un sistema operativo se instala de manera nativa es posible tener varios sistemas operativos en un mismo equipo de modo que cuando se arranca el equipo el usuario puede elegir qué sistema operativo emplear. La siguiente figura muestra un menú de selección típico cuando se arranca un equipo en el que el usuario podrá elegir cual sistema operativo usar, si Ubuntu (Linux)o Windows. De esta manera, dos sistemas operativos pueden estar instalados en un mismo computador pero sólo uno puede estar funcionando a la vez. Para cambiar del uno al otro es necesario reiniciar el computador.

UNSCH/QECM Página 4 de 8

Page 5: Laboratorio02.doc

IS-344Lab 02

Sistemas Opeartivos Ingeniería de Sistemas

Los pasos generales necesarios para instalar Linux de manera nativa son:

1. Descargar el instalador (imagen) de Linux y almacenarlo en un CD/DVD (también en una unidad virtual) o memoria USB.

2. Crear una partición en el disco duro para la instalación de Linux.

3. Reiniciar el computador desde el dispositivo donde está la imagen de Linux. Para esto puede ser necesario modificar la configuración BIOS del computador.

4. Seguir los pasos de configuración e instalación de Linux.

5. Cada que se enciende el computador, un programa especial le preguntará qué sistema operativo desea usar.

Instalación en máquina virtual: Cuando se realiza la instalación de un sistema operativo usando una máquina virtual lo que se hace es ejecutar un sistema operativo encima de otro (Ver figura 3), lo cual posibilita la utilización de los dos sistemas operativos simultáneamente. Para este fin es necesario tener un programa especial conocido como máquina virtual que crea la ilusión al sistema operativo guest (invitado) de que se está ejecutando de manera nativa, es decir, crea un computador virtual. Al sistema operativo que estaba instalado inicialmente lo llamamos el host (anfritrión) y al que se instala sobre la máquina virtual lo llamamos el guest. Dentro de las aplicaciones de virtualización más comunes encontramos VirtualBox o Vmware.

Los pasos requeridos para este tipo de instalación son:

1. Descargar e instalar el software de virtualización (VmWare) en el sistema operativo host (por ejemplo Windows).

2. Configurar una máquina virtual sobre la cual se va a instalar el sistema operativo guest.

UNSCH/QECM Página 5 de 8

Page 6: Laboratorio02.doc

IS-344Lab 02

Sistemas Opeartivos Ingeniería de Sistemas

3. Descargar e instalar el sistema operativo guest (Linux) sobre la máquina virtual configurada.

4. La mayor desventaja cuando se emplea una máquina virtual es que el sistema operativo guest (el que se encuentra virtualizado) consume recursos de la máquina dejando al sistema operativo host menos recursos para la ejecución de sus aplicaciones.

b. Uso no invasivo: En este caso el sistema operativo no se graba en el disco duro, este básicamente se encuentra en algún medio extraíble CD o USB y lo que se hace es configurar la BIOS de manera que el sistema operativo sea cargado en RAM desde este medio extraíble. Para ello es necesario cambiar la secuencia de boot en la BIOS de modo que se acceda primero en el medio extraíble en el cual se encuentra el sistema operativo en cuestión. Para hacer esto es necesario, al iniciar el computador, acceder a la herramienta de configuración de la BIOS y modificar la secuencia de boot.

1.2 Requerimientos para la instalación

En la documentación del SO se encuentra la información que especifica los requisitos mínimos de procesador, RAM y disco duro que el SO requiere para su correcto funcionamiento. Por ejemplo para el caso del Ubuntu esto se puede encontrar en:

https://help.ubuntu.com/community/installation/systemrequirements

Las características del computador donde se va a instalar Linux pueden ser consultadas del manual del computador, o, en caso de que ya esté instalado otro SO como Windows, éstas pueden ser visualizadas como se indicó en el laboratorio N°01.

Si las especificaciones de la maquina satisfacen los requerimientos mínimos del SO a instalar se procede con la instalación de la distribución, sino, es posible instalar otra versión del SO con menores requerimientos que sí se adapte a las características de la máquina.

2. Actividades a realizar

Actividad Nº1 Como práctica de laboratorio se debe realizar una instalación virtualizada (con VmWare) de Ubuntu en su computador personal.

a. Verificar la instalación de VMWare. (Instalarlo si corresponde)

b. Crear una Máquina Virtual con las siguientes características de Hardware:

- RAM : 1024 MB

- Disco Duro 20GB (opción allocate disk now).

Actividad Nº2 Una vez creada la máquina virtual, inicializarla e instalar el sistema Ubuntu-14.04.1-desktop-amd64 usando un CD de instalación o un archivo de imagen (*.iso).

Detalles de instalación en las PC del Laboratorio EFPIS:

a. Particionamiento: No es una ciencia exacta, y mucho menos con las miles de combinaciones que hay. Aquí le mostramos una de las opciones

- swap = 2*RAM

- / = 8 GB

UNSCH/QECM Página 6 de 8

Page 7: Laboratorio02.doc

IS-344Lab 02

Sistemas Opeartivos Ingeniería de Sistemas

- /home = 10 GB para los usuarios de nuestro Ubuntu

b. Sistema de archivos: ext4 para “/” y “home”

c. Contraseña de root: is344x

OBSERVACION: Prepare para su informe una instalación mostrando la creación de un usuario con su primer nombre y la inicial de su primer apellido paterno. Registre el procedimiento que llevó a cabo con imágenes de los pasos que siguió y sus respectivas explicaciones (deberás capturar pantalla) elaborando así un manual de instalación de Ubuntu.

Actividad Nº3 Responda el siguiente cuestionario haciendo una consulta en internet:

1. ¿Qué diferencias y ventajas tiene Linux respecto a otros sistemas operativos y en qué casos se usa más actualmente?

2. ¿Para qué sirve la partición de tipo swap y cuál suele ser su tamaño?

3. Si quisiéramos tener instalado en un ordenador Windows XP y Ubuntu 7.04 juntos. Que habría que hacer

i. ¿Qué sistema de archivos tendríamos?

ii. ¿Cuál SO instalarías primero o resultaría indistinto?

Actividad Nº4 Escriba el nombre de las aplicaciones que se ejecutan sobre Linux para las siguientes necesidades:

Gestor de DescargasClientes FTPAnalizar Protocolos, sniffingEditor de TextoCompresores de archivosVisualizador de PDFCryptografía y CifradoReproductores Música Programas para quemar CD con GUIVisualizador de Archivos GráficosEditores Simples de Gráficos

Actividad Nº5 Resuelva el siguiente ejercicio

Suponga que el disco duro de su computadora está particionado tal y como se muestra en la figura 4.

Figura 4. Esquema de partición de su disco duro.

La siguiente tabla muestra más detalladamente el estado de las particiones:

Partición Observación

Sistema de

Archivos

1Almacenamiento del sistema

operativo (Windows) y los programas de usuario.

NTFS

2 Documentos de usuario (información personal, música,

NTFS

UNSCH/QECM Página 7 de 8

Partición 1 (40 GB)

Partición 2 (80 GB)

Partición 3 (20 GB)

Page 8: Laboratorio02.doc

IS-344Lab 02

Sistemas Opeartivos Ingeniería de Sistemas

videos).

3 Información de usuarios diferentes al propietario del equipo.

FAT32

El disco duro es tipo SCSI y todas estas particiones son particiones primarias.

Con base en la información anteriormente citada llene la siguiente tabla:

Partición Nombre en Windows

Nombre en Linux

123

Tabla 2. Nombres de las Particiones.

UNSCH/QECM Página 8 de 8