330 likes | 486 Views
Entrenamiento en Linux. Clase #1. Introducción e Instalación de Linux. Por: Javier García Salgado. Clase #1. Introducción e Instalación de Linux. Sumario. Historia y filosofía de desarrollo. Distribuciones Características generales de Linux Instalación Particionado de discos
E N D
Entrenamiento en Linux Clase #1 Introducción e Instalación de Linux Por: Javier García Salgado
Clase #1 Introducción e Instalación de Linux Sumario Historia y filosofía de desarrollo. Distribuciones Características generales de Linux Instalación Particionado de discos Carga de Linux Características de la Instalación Configuración del arranque dual
Historia y Filosofía de Desarrollo El sistema operativo Linux nació en el año 1991 a partir de una idea original del finlandés Linus Benedict Torvalds, que contaba con tan solo 21 años. Linus necesitaba un sistema operativo que aprovechara bien las potencialidades de su PC Intel 386. Primeramente pensó en Unix, el sistema en esa fecha de mayor distribución y utilización en el mundo empresarial, pero era imposible con sus escasos recursos conseguir una versión del mismo. La segunda opción era Minix, que fue creado basado en Unix y con fines fundamentalmente académicos. Pero Minix no satisfacía del todo las necesidades de Linus y por ello decidió finalmente hacer su propio sistema operativo al cual bautizaría con el nombre de Linux haciendo alusión a su nombre y tomando la ''x'' final de Unix.
Historia y Filosofía de Desarrollo continuación... La primera versión del kernel de Linux, identificada como 0.01, fue programada completamente en ensamblador. Carecía de mucha utilidad pues sólo contenía los códigos básicos de un kernel rudimentario que dependía de Minix para su funcionamiento. Dos meses después, el día 5 de octubre de 1991, Linus hizo el primer anuncio oficial de su sistema operativo. A esta segunda versión la identificó como 0.02. El anuncio oficial de esta versión lo hizo en la lista de noticias comp.os.minix, donde posteriormante se sucitaron los primeros debates acerca de Linux. A continuación un fragmento de lo que dijo: ... Como lo mencione un mes atrás, estoy trabajando en una versión gratis de algo similar a Minix para computadores AT-386. Esta versión ha llegado finalmente a un estado donde ya es usable (aunque puede no ser dependiendo de lo que Ud. quiera), además estoy deseoso de publicar los fuentes para una más amplia distribución. Es solo la versión 0.02, pero he logrado correr exitosamente bajo esta, bash, gcc, gnu-make, gnu-sed, compress, etc." ...
Historia y Filosofía de Desarrollo continuación... • Después de esta versión, Linus pasó a la 0.03 del kernel. • Luego a la 0.10 dando un salto cualitativo en cuanto al nivel de programación pues comenzó a emplear el lenguaje C dejando atrás al primitivo ensamblador. • En este punto se unieron al proyecto más colaboradores que trabajaban tanto en la programación y corrección de errores como en la detección de los mismos. • En marzo de 1992, luego de numerosas revisiones, el kernel de Linux llegó a su versión 0.95, y en diciembre de 1993 ya se contaba con la 0.99.pl14, aproximándose cada vez más a la 1.0, que es el número que se le da generalmente a la primera versión libre de errores de un software. La versión 1.0 finalmente se alcanzó el 13 de marzo de 1994.
Historia y Filosofía de Desarrollo continuación... Actualmente existe un equipo de alrededor de 100 personas que se encargan de mejorar y corregir el kernel de Linux. • Las distintas versiones del kernel son identificadas utilizando tres números: • el primero indica el número principal de la versión. • el segundo indica, en caso de que sea impar, que estamos en presencia de un kernel en fase de prueba (no estable aún), por el contrario un número par representa una versión estabilizada. • el tercer número indica los parches sucesivos que se le aplican a cada versión sea estable o no. • También se utiliza un cuarto número para indicar el release de acuerdo a la distribución. • Un kernel estable puede ser el 2.2.16-22 o el 2.0.3-6. Actualmente el kernel de Linux se encuentra en su versión 2.4.
Historia y Filosofía de Desarrollo continuación... Un aspecto muy importante que ha garantizado el acelerado avance de Linux es la forma en que este se concibió. Torvalds manifestó siempre su deseo de que este fuera un sistema operativo libre en cuanto a su distribución y mantenimiento y que nadie pudiera obtener dinero por su venta. Posteriormente las versiones oficiales del kernel de Linux han sido distribuidas bajo la licencia pública general GPL de GNU que es menos restrictiva. Esta licencia establece que el sistema se distribuye de forma libre ya que todo aquel que lo posea tendrá la posibilidad de ver el código fuente, modificarlo y redistribuirlo, teniendo como única restricción el mantenimiento de la licencia. De esta forma se garantiza el desarrollo y perfeccionamiento contínuo del sistema. Este es uno de los aspectos más atractivos de Linux y el que lo ha convertido en uno de los sistemas de más rápido desarrollo en la actualidad.
Distribuciones Linux es un nombre genérico que se le da a todos los sistemas operativos que empleen un kernel Linux. Pero de nada nos serviría un kernel si no contamos con un conjunto de aplicaciones que permitan interactuar con el sistema más amigablemente. Estas aplicaciones para Linux se han desarrollado a la par del kernel por numerosos programadores interrelacionados a través de Internet. Una DISTRIBUCION no es más que la agrupación de un kernel, varias aplicaciones, algunas utilidades y un programa de instalación. Entre las distribuciones más conocidas y utilizadas pueden citarse a: Red Hat Linux Mandrake LinuxCaldera OpenLinux Debian/GNU LinuxSuSE Linux Slackware
Distribuciones continuación... En este entrenamiento utilizaremos la distribución Red Hat en su versión 7.1 (conocida como Seawolf). Es una de las más desarrolladas y está muy bien soportada por la compañía comercial del mismo nombre. Red Hat se caracteriza por ser una distribución fácil en su instalación, configuración y mantenimiento. Se perfecciona contínuamente. La mayoría de las aplicaciones Linux están portadas para Red Hat. Es la distibución de Linux de más popularidad en América. Posee como principal inconveniente, la poca flexibilidad de su programa de instalación nombrado Anaconda, aunque este ha mejorado en comparación con su versiones anteriores.
Distribuciones continuación... • Ultimas versiones de la distribución Red Hat Linux y la fecha aproximada en que fueron liberadas: • Red Hat Linux 7.3 (Valhalla) - Mayo 2002 • Red Hat Linux 7.2 (Enigma) - Septiembre 2001 • Red Hat Linux 7.1 (Seawolf) - Abril 2001 • Red Hat Linux 7.0 (Guinness) - Septiembre 2000 • Red Hat Linux 6.2 (Zoot) - Febrero 2000 • Red Hat Linux 6.1 (Cartman) - Octubre 1999 • Red Hat Linux 6.0 (Hedwig) - Abril 1999 • Red Hat Linux 5.2 (Apollo) - Noviembre 1998 • Red Hat Linux 5.1 (Manhattan) - Mayo 1998 • Red Hat Linux 5.0 (Hurricane) - Noviembre 1997
Características generales de Linux De forma general el sistema operativo Linux presenta las siguientes características: • Es un sistema operativo multitarea y multiusuario. • Surgió como respuesta a las necesidades personales de Linus Torvalds quien lo puso a disposición de todos para su utilización y perfeccionamiento. • Se distribuye bajo la licencia GPL de GNU, lo cual le ha permitido desarrollarse y distribuirse con rapidez. • Está portado para numerosas plataformas computacionales. Ejemplos: Intel, Macintosh, Alpha y SPARC. • Posee soporte para gran cantidad de hardware. • Las versiones actuales del kernel soportan numerosos sistemas de ficheros como FAT16/32, NTFS (sólo lectura) e iso9660 (para discos compactos). Posee un file system propio denominado ext2 y se desarrollan ext3 y reiserfs con mejoras considerables. • En una misma computadora se puede instalar Linux junto a otros sistemas operativos y ejecutarlos luego, indistintamente.
Características generales de Linux continuación... • Se caracteriza por tener un código muy eficiente que lo convierte en un sistema robusto y estable. • Linux está especialmente orientado al trabajo en redes pues existen numerosas aplicaciones, que implementan casi todos los protocolos utilizados para la comunicación, tanto el lado cliente como el servidor. Ejemplo de ello son: FTP, HTTP, TCP/IP, PPP, UUCP, SMTP, SNMP, gopher, wais, news, IPX, SMB/CIFS, POP, IMAP, etc. • Sobre Linux se implementan diversos ambientes conocidos como interfaces X que son las interfaces gráficas. Existe una implementación completa del servidor X Window de Unix portada para Linux conocida como XFree86. Entre los ambientes gráficos se destacan KDE, GNOME y WindowMaker. El sistema operativo en sí es completamente independiente de estas aplicaciones para funcionar correctamente. • Las máquinas Linux se pueden interconectar y relacionar fácilmente con otras con sistemas operativos diferentes como OS/2, Apple Machintosh, Windows 9x y NT.
Características generales de Linux continuación... • Ofrece numerosas posibilidades para la programación en diversos lenguajes, tanto interpretados como compilados. Ejemplo de ello son: C, C++, Java, Pascal, SmallTalk, FORTRAN, LISP, Perl, Tcl/Tk y Python. También en Linux se dispone de varios shells como bash, csh, ksh y otros. • No requiere necesariamente de grandes recursos de hardware. Sin interfaz gráfica puede ejecutarse correctamente en máquinas con 16 MB de RAM o menos contando además con espacio Swap en el disco duro. Los requerimientos de espacio en disco pueden hacerse despreciables pues se han logrado micro-distribuciones que caben en un disquete. • Existen actualmente herramientas que permiten la ejecución de aplicaciones MS-DOS y Windows sobre Linux (WINE). También existe una poderosa herramienta conocida como VMWARE que provee la facilidad de tener varias máquinas virtuales con distintos sistemas operativos ejecutándose a la vez en una misma computadora. Vale aclarar que este último es un producto comercial, por lo que para utilizarlo por tiempo indefinido hay que pagar una licencia.
Instalación Para instalar Linux en una máquina es conveniente conocer de antemano algunas características de su hardware, aunque muchas veces estos aspectos son detectados automáticamente por los programas de instalación. De todos modos siempre es útil tener a mano las características de los siguientes dispositivos: • Tarjeta de red (si se va a trabajar en red). • Tarjeta de vídeo (si se va a instalar alguna interfaz gráfica X Window). • Características del monitor (si se va a instalar alguna interfaz gráfica X Window). • Mouse (es conveniente tanto para las interfaces gráficas como para la texto). • Discos duros disponibles y espacio libre en ellos. • Si existen o no dispositivos SCSI.
Particionado de Discos En Linux es común particionar el disco duro durante la instalación, aunque también puede hacerse con posterioridad (con más trabajo). El particionado permite, además de una mayor organización, otros dos aspectos importantes: • Aislar la información de las distintas fuentes generadoras del sistema. Por ejemplo: los datos de los usuarios de los programas y de la documentación. • Restringir el espacio disponible para una acción determinada. Por ejemplo: crear una partición para guardar los logs del sistema permitirá que estos al crecer no llenen el disco duro correspondiente. El inconveniente mayor del particionado es que a veces se puede derrochar el espacio en disco por una partición y ser necesario en otra.
Particionado de Discos continuación... • Existen varias sugerencias de como realizar el particionado de acuerdo a: • Los servicios que vaya a brindar la máquina. • La cantidad de usuarios que vayan a utilizarla. • La memoria RAM de que se disponga. • y por supuesto del espacio total disponible. • En Linux se pueden crear particiones especiales de tipo Swap para realizar la función de memoria virtual, aunque también se pueden emplear uno o varios ficheros para estas funciones. • El sistema de ficheros de Linux es un sistema de estructura jerárquica con una sola raíz representada por /. • Toda partición que se cree se asociará a un directorio descendiente de /. • La acción de asociar una partición a un directorio se conoce por ''montar''.
Particionado de Discos continuación... • BASICAMENTE una estructura de particiones se compone de: • Una partición para Swap: se recomienda que su espacio sea mayor que la memoria RAM disponible, no excediendo el doble de esta. • Una partición raíz (root): es donde estará todo el sistema (kernel y aplicaciones) si no se crean particiones más específicas. Se monta en el directorio raíz /. Su espacio dependerá de las aplicaciones que se instalen y los servicios que se ofrezcan. • Una partición para el home: es donde se almacenará la información de los usuarios del sistema. Se monta en el directorio /home. Su espacio dependerá de cuantos usuarios trabajarán en el sistema y que tipo de información será la que almacenarán en el disco.
Particionado de Discos continuación... • También se pueden crear particiones para: • Guardar las trazas del sistema. Se monta en /var/log • Guardar las aplicaciones (fuentes, librerías, binarios, documentación). Se monta en /usr • Guardar los ficheros temporales. Se monta en /tmp • Guardar la mensajería si se trata de una máquina servidora de correo electrónico. Se monta en /var/spool/mail
Particionado de Discos continuación... En Linux, al igual que en Unix, los dispositivos del hardware tiene un tratamiento peculiar pues cada uno se representa a través de un fichero con una sintaxis particular. Estos ficheros son especiales y se copian automáticamente en el directorio /dev (devices). Linux los utiliza para copiar y leer en los distintos dispositivos. Los mismos se les suele llamar dispositivos de caracteres o de bloques. • Ejemplos: • Los discos duros con controlador IDE se representan por hda, hdb, hdc, ..., hdh. A su vez las particiones en el primer disco se representan por hda1, hda2, hda3, ..., hda16 • Los discos SCSI son sda, sdaa, sdab..., sdb, ..., sdz (un total de 128) • El disquete y la cinta magnética para backup (tape backup) pueden ser /dev/fd0 o /dev/fd1 • Las impresoras pueden ser /dev/lp0, /dev/lp1 y /dev/lp2 • /dev/null es una especie de hueco negro que puede ser útil cuando se necesite desaparecer algún dato en el sistema.
Particionado de Discos continuación... • Otros directorios en un sistema de ficheros Linux tradicional son: • /etc: almacena numerosos ficheros de configuración del sistema y de los servicios que este puede brindar, también contiene algunos programas scripts para manipular los servicios. • /bin: contiene los ejecutables de numerosos comandos básicos del sistema. Existen además /sbin, /usr/bin y /usr/sbin que también contienen scripts y ejecutables. • /boot: contiene los ficheros de inicio y el kernel del sistema compilado. Puede ser una partición. • /var: contiene un conjunto de directorios y ficheros por lo general en constante transformación y con múltiples propósitos. • /usr/local: se emplea para instalar los programas de terceros, o sea, aquellos que no son propios de la distribución de Linux que se emplee. Puede constituir una partición. • /lib: contiene las librerías principales del sistema. No puede constituir una partición.
Carga de Linux La vía más simple y utilizada es a través de un pequeño programa llamado LILO (LInux LOader). Este permite cargar tanto Linux como cualquier otro sistema operativo instalado en la misma computadora. La parte inicial del LILO se puede ubicar en dos zonas diferentes del disco duro: • En el MBR (Master Boot Record) del primer disco duro. Si se emplea esta forma será el LILO el encargado de iniciar la carga de todos los sistemas operativos instalados en la máquina. • En el sector de arranque de la partición raíz de Linux o en el de la partición /boot de existir esta. En este caso no será el LILO el programa inicial de carga sino otro que lo referencie como puede ser el cargador de Windows NT. Por tanto, su empleo solo tiene sentido cuando existen otros sistemas operativos instalados previamente como Windows 9x, NT o 2000.
Carga de Linux continuación... Cuando se tiene sólo Windows NT o 2000 instalado en la máquina no se debe ubicar el LILO en el MBR pues en este caso se puede borrar el programa de carga de estos sistemas que se ubica también en el MBR en algunos casos en que no existe un sistema Windows 9x previamente instalado. En caso de que se tenga Windows 9x en la primera partición entonces este y cualquier otro sistema Windows adicional, se podrá direccionar y cargar con el LILO desde el MBR. Cuando se utilice el sector de arranque de una partición para colocar al LILO se deberá crear un disquete de carga del sistema durante la instalación, pues sino será imposible acceder al mismo sin alguna herramienta de recuperación. Luego hay que ejecutar ciertos paso para lograr la carga de Linux desde el menú inicial de Windows NT o 2000. En el caso de Red Hat, el programa de instalación permitirá configurar (o lo hará automáticamente) el arranque dual de Linux y otros sistemas operativos previamente instalados a través del LILO. Documentación oficial de LILO, en: /usr/share/doc/lilo-xxx/doc/User_Guide.ps
Carga de Linux continuación... Existen algunas limitaciones en cuanto a la carga de Linux utilizando LILO impuestas por el BIOS de la mayoría de las computadoras con arquitectura Intel. Para verlas puede consultarse la Guía de Referencia de Red Hat 7.1, en el apéndice B la sección titulada ''BIOS-Related Limitations Impacting LILO''. Estas limitaciones básicamente restringen la ubicación de todos los ficheros que intervienen en la carga de Linux (agrupados en /boot) antes del cilindro 1024 del primer disco duro.
Características de la instalación La instalación de Red Hat Linux se puede hacer a través de varios medios: 1. El más simple es mediante el empleo de los dos compactos básicos de la distribución. 2. También se pueden colocar los ficheros necesarios para la instalación en el propio disco duro, o acceder a dichos ficheros por la red utilizando los servicios FTP, HTTP o NFS (Network File System). La forma más cómoda es empleando los compactos, pues para el resto además de que son más lentas, se necesitará de un disquete para acceder a los paquetes de la instalación ya sea por una u otra vía. La distribución ofrece las imágenes de estos disquetes en el directorio images/, además de la herramienta rawrite.exe (en el directorio dosutils) que permite crear los disquetes correspondientes sobre MS-DOS.
Características de la instalación continuación... Cuando comienza el proceso de instalación propiamente, ya sea por un medio u otro, lo primero que se realiza es seleccionar el modo de instalación. • Modo gráfico. • Modo texto. • Modo rescate. • Modo experto. En Linux usualmente se distribuyen los programas o aplicaciones en forma de paquetes, llamados rpm.
Características de la instalación continuación... Un tipo de instalación se caracteriza fundamentalmente por los paquetes que se instalen y la forma en que se particionan los discos por defecto. Esto último siempre se podrá hacer de forma personalizada. Cada distribución provee varios tipos de instalación. Tipos de Instalación Actualmente Red Hat 7.x ofrece cuatro tipos de instalación fundamentales: • WorkStation • Server • Custom • Upgrade Ya en Red Hat 7.1 se incorpora un tipo de instalación especial para las computadoras portátiles o Laptops.
Características de la instalación continuación... Instalación Workstation Funcionalidades básicas para un usuario, además de una interfaz gráfica que puede ser KDE, GNOME, o ambas. No se instala ningún servicio. Si no se particiona el disco manualmente se borrarán todas las particiones Linux existentes. Si se tienen otros sistemas operativos se conservarán y el arranque dual a través de LILO se proporcionará automáticamente. LILO se escribirá en el MBR por lo que se borrará el programa de carga de cualquier otro sistema instalado previamente, aunque como ya se dijo LILO brindará la posibilidad de acceder a ellos al igual que a Linux. El particionado automático creará las siguientes particiones: • Una partición raíz que se monta en / cuyo tamaño dependerá del que haya disponible. • Una partición para swap de 64 MB. • Una partición /boot de 16 MB. Espacio mínimo en disco de 1.2GB si se instala KDE o GNOME solamente, y para ambos, 1.5GB.
Características de la instalación continuación... Instalación Server No se instalará el sistema X Window. Se podrán seleccionar cuatro tipos de servicios: News Server,NFS Server, Web Server,Domain Name Server. Además se instalarán otros servicios tales como: Telnet, FTP, Correo Electrónico (a través del MTA sendmail), Samba, etc. En el caso de que se particione de forma automática se borrarán todas las particiones en todos los discos duros y se crearán las siguientes: • Una partición para swap de 256MB. • Una partición raíz de 256MB. • Una partición /boot de 16MB. • Una partición /var de 256MB. • Una partición de hasta 512MB para /home. • Una partición de hasta 512MB para /usr. Espacio en disco de 650MB en una instalación mínima y de 1.2GB en una instalación completa.
Características de la instalación continuación... Instalación Custom Es el tipo de instalación más flexible pues permite seleccionar lo que se va a instalar de acuerdo a grupos de programas o subsistemas. Además, en ella se puede configurar la ubicación del LILO: si es en el MBR del disco o en el primer sector de la partición raíz del sistema. Los grupos de funcionalidades o subsistemas que brinda esta instalación son: - Printer Support (seleccionado por defecto) - X Window System (seleccionado por defecto) - GNOME (seleccionado por defecto) - KDE- Mail/WWW/News Tools (seleccionado por defecto) - Dos/Windows Connectivity- Graphics Manipulation- Games- Multimedia Support (seleccionado por defecto) - Laptop Support
Características de la instalación continuación... - Networked Workstation (seleccionado por defecto)- Dialup Workstation (seleccionado por defecto) - News Server- NFS Server- SMB (Samba) Server- IPX/Netware(tm) Connectivity- Anonymous FTP Server- Web Server- DNS name Server- SQL Server- Network Management Workstation- Authoring/Publishing- Emacs- Development- Kernel Development- Utilities- Everything Esta instalación requiere como mínimo 300MB de espacio en disco y como máximo, si se seleccionan todos los paquetes, 2.4GB.
Características de la instalación continuación... Actualización o Upgrade Cuando se hace upgrade del sistema se actualizan todos los paquetes instalados previamente incluyendo el propio kernel y los ficheros de configuración. Las versiones anteriores de estos ficheros se guardan con la extensión .rpmsave. Si es necesario se instalarán los paquetes nuevos que requieran las nuevas versiones.
Configuración del arranque dual continuación... Si la instalación se realizó sobre una máquina con uno o varios sistemas Windows instalados previamente y se colocó al LILO en el MBR, este se configurará automáticamente para reconocer dichos sistemas y direccionar los programas de carga de Windows ubicados en ella a través de la palabra ''dos''. Para el caso de Linux se direccionará su partición raíz y kernel utilizando la etiqueta ''linux''. En la instalación tipo Custom estas etiquetas se podrán cambiar. Siempre que se encienda la máquina y el programa del BIOS termine su ejecución cede el control al LILO. En las versiones anteriores de Red Hat se mostraba el siguiente prompt al final de la pantalla: lilo boot: A partir de la versión 7.0 del Red Hat, se incorporó la facilidad de un menú gráfico cuando carga el LILO. Este brinda una lista con las posibles opciones a seleccionar. Pero el LILO ofrece otras facilidades además de seleccionar el sistema operativo o kernel a cargar, como es el poder indicarle ciertos argumentos al kernel y de esta posibilidad no se dispone en la pantalla gráfica, por lo que si se requiere, se podrá entrar a la interfaz texto presionando Ctrl-x. Para borrar el LILO del MBR y restablecer el menú de carga de Windows como vía de entrada a la máquina, se puede utilizar la opción /mbr del programa fdisk de MS-DOS. Ejemplo: A:\> fdisk /mbr
Configuración del arranque dual continuación... Si se hubiera instalado al LILO en el primer sector de la partición raíz del sistema pues se deseaba continuar iniciando con el programa de carga de Windows, se deberá configurar el menú inicial de Windows añadiéndole una opción que permita cargar a Linux. Para ello se deben seguir los siguientes pasos: 1-. Entrar a Linux con el disco de arranque creado en la instalación. 2-. Copiar el primer sector de la partición raíz donde está LILO en un fichero. Para ello se emplea el comando dd (duplicate disk) que permite hacer copias fieles o imágenes de discos o partes de ellos. Ejemplo: Suponiendo que la partición raíz de Linux es /dev/hda2 la línea de comando sería: # dd if=/dev/hda2 of=/bootsect.lnx bs=512 count=1 3-. Copiar el fichero creado en un disco MS-DOS utilizando el comando mcopy. Ejemplo: $ mcopy /bootsect.lnx a: 4-. Reiniciar la máquina en Windows y copiar el fichero creado anteriormente en la partición C. Ejemplo: En C:\bootsect.lnx 5-. Editar el fichero boot.ini de Windows añadiendo una entrada para cargar Linux. Esta entrada aparecerá en el menú de inicio de Windows. Ejemplo: C:\bootsect.lnx="Red Hat Linux 7.1" 6-. Reiniciar la máquina y entonces aparecerá en el menú de arranque de Windows la opción que permitirá ejecutar el LILO y a su vez cargar Linux. FIN