Guía de Instalación y Filosofía de Linux



Qué es GNU/Linux.

Introducción.

Este documento es una sencilla introducción a qué es Linux y cómo se instala, tratando de hacer más fácil y comprensible su proceso de instalación y los conceptos en que se fundamenta Linux.

Se ha dicho muchas veces que Linux es un Sistema Operativo para expertos. Eso no es, ni mucho menos, cierto. Linux (más bien dicho GNU/Linux, pues el sistema Linux está interrelacionado totalmente con las herramientas GNU y todos los ejecutables que con Linux vienen) es un Sistema Operativo para inconformistas, para personas que tienen afán de superación, a quienes no les importa aprender con tal de conocer cómo funcionan las cosas y cuál es la mejor manera de hacerlas.

Una persona que no ha tocado nunca un ordenador puede usar Linux perfectamente. Aprender los conceptos en que se basa Linux no es difícil, es como todo, lleva su tiempo. El problema es aquella gente que viene de otros Sistemas Operativos y cree que lo que se hace en ellos es el estándar para hacer todas las cosas. Por ejemplo, Linux accede a los dispositivos (discos duros, diskettes, zips, etc.) a través de ficheros de su árbol de directorios (por ej /floppy o /cdrom), mientras que Windows designa una unidad para cada dispositivo (A:, C:…). Una persona que aprenda por primera vez a usar un Sistema Operativo no tendrá reparos en aceptar y comprender que el esquema que usa Linux para los dispositivos hace que todo sea accesible a partir del mismo sistema de ficheros, mientras que alguien excesivamente acostumbrado a MSDOS o Windows se quejará de que no existan unidades o de lo costoso que es acceder a ellas al estar en directorios.

La persona que usa GNU/Linux sabe que los programas que hay en su ordenador son libres (luego veremos qué quiere decir eso), que puede dispone del código fuente, que hay gente que se dedica a mejorarlo, que uno mismo puede hacerlo, que la mentalidad de los usuarios de Linux es abierta, dispuesta al aprendizaje, en lugar de quedarse con un simple interfaz conformista que sólo suele usarse para jugar o escribir pequeños textos.

Sólo quiero que se vea claramente quién puede acceder a Linux y quien no. Nadie y todos somos novatos en Linux. Siempre hay algo por aprender, pero que cuando se aprende nos facilita el trabajo futuro y vale la pena haberlo aprendido. Si se entra en Linux esperando un Windows que no tenga cuelgues, puede obtenerse una decepción (o tal vez no, ya que puedes hacer que Linux se comporte como un sistema de escritorio fiable). Si se entra en Linux esperando y aceptando Linux, el usuario se llevará una gran y agradable sorpresa. Y podrá convertir Linux en lo que desee.

Por ello este documento está orientado a la enseñanza: el objetivo del mismo no es dar todos los pasos a seguir para instalar Linux. Eso lo único que conseguiría sería mover el problema del enfrentamiento con Linux hasta la primera vez que lo usemos, en lugar de encontrárnoslo en la instalación. Con este documento el lector comprenderá los conceptos necesarios para enfrentarse a Linux, y darse cuenta de manejar Linux no es un problema de dificultad, sino de voluntad y mentalidad.

NOTA: Se usará muchas veces en este documento la abreviatura S.O. para designar al término "Sistema Operativo".

Capacidades multiusuario y multitarea.

Linux aglutina las siguientes cualidades:

  • Funcionamiento multitarea: mucho más que otros S.O. comerciales, en Linux es perfectamente posible copiar datos a diskettes mientras se accede a redes, se imprime y se escuchan MP3, sin grandes cargas para el sistema. Esto es debido a su estructura interna (mucho más organizada que en otros S.O.) y a su sistema de cachés, que existe gracias al hecho de que las unidades se monten y desmonten (como el lector verá posteriormente cuando necesite acceder a floppys o cdroms).
  • Funcionamiento de red: Linux nos proporciona acceso a todo tipo de redes tanto en modo cliente (ver páginas Web, leer correo, leer News, acceder al IRC) como en modo servidor (repartir correo entre múltiples máquinas, hacer de servidor IRC, etc.). Todo el software necesario para ello viene con Linux, y además con múltiples alternativas para cada cosa.
  • Funcionamiento multiusuario: A una máquina Linux pueden acceder por red simultáneamente (o no simultáneamente) todos los usuarios que la máquina tenga registrados. Cada usuario puede tener una configuración del sistema, del idioma, o del entorno gráfico diferente, así como un directorio personal (que cuelga del directorio /home/) donde dejar sus datos. Cuando encendemos una máquina Linux ésta nos pedirá el login y password, es decir, el nombre y la contraseña que nos identifica. Con ella se cargarán NUESTRAS configuraciones para los diferentes programas a partir de ficheros con lo que se llaman variables de entorno. Por ejemplo, hay un fichero llamado .bash_profile que puede contener algo asi como:
      export LANG=es_ES

Esto hará que todos (o casi todos) los mensajes o programas nos aparezcan en castellano. Si deseamos (por ejemplo) disponer de Linux en catalán, basta con editar ese fichero y cambiar es_ES:

      export LANG=ca_CA

Este cambio sólo nos afectará a nosotros, ya que lo modificamos en nuestro fichero (de nuestro HOME) o directamente en la línea de comandos shell de Linux, y es un ejemplo de que todo es configurable y que se puede hacer cualquier cambio en el sistema sin tener que reinstalar el Sistema Operativo (incluso no hace falta resetear el ordenador para que los cambios surtan efecto).

Por otra parte, hay que ser realistas: Linux no hace milagros. Es posible que si en nuestra empresa hay un servidor Windows NT corriendo en un Pentium 200 lo podamos sustituir por un Linux en un Pentium 100 y aún así obtener más rendimiento y un sistema y red infinitamente más segura y estable, pero no se debería esperar que con Linux se pueda correr Quake en un 486 o que todos los programas sean perfectos. El S.O. en sí es muy estable, pero podemos encontrarnos con algun programa que, bien por estar en fase de desarrollo, o bien porque tengamos una versión antigua del mismo, tenga algún fallo. Lo bueno de los fallos (o cuelgues) en Linux es que raramente afectan al sistema: normalmente simplemente se cuelga la aplicación que ha provocado el error, generando en disco un fichero "core" que contiene información sobre qué fallo ocurrió (este fichero se usa luego para encontrar y corregir el fallo). Según como tengamos de bien (o mal) configurado el sistema, podemos pasar de obtener bastantes ficheros core (si se usan versiones inestables, viejas o malas de los programas) a no ver ni un sólo cuelgue de ninguna aplicación en años, como el autor, que el único cuelgue que ha tenido bajo Linux en 2 años fue un error de Netscape Navigator que hizo caer al entorno gráfico X Window (pero no a Linux).

Licencia de Linux

Linux está basado en la licencia GNU (http://www.gnu.org), así como las herramientas que acompañan a Linux (la mayoría del resto de programas y utilidades que acompañan al sistema).

Esta licencia hace que el bloque GNU/Linux sea legalmente copiable, vendible o regalable. Es decir, puedes hacer lo que quieras con el sistema, siempre que a aquel a quién se lo vendas/regales no le incluyas ninguna limitación sobre el producto. Esto implica que al copiar/vender/regalar Linux, el usuario destino puede hacer con él exactamente lo mismo. Debido a esto existen diferentes distribuciones de Linux. Una distribución es la agrupación del S.O. Linux junto a programas y herramientas GNU en un sólo paquete que va desde 1 diskette hasta varios CDs, normalmente creado por una empresa o una asociación de usuarios de Software Libre, con el fin de su venta, distribución o desarrollo. Algunas distribuciones son gratuitas y otras valen una determinada cantidad de dinero.

La licencia de Linux explica el precio de las diferentes distribuciones. Linux es libre (no gratuito). Ser libre puede implicar ser gratuito si la persona de quien consigues Linux decide regalartelo o copiartelo sin coste, pero puede valer dinero si el vendedor te incluye con él manuales impresos, una caja, soporte técnico, ayuda online, CDs de calidad, etc.

Es decir: las distribuciones Linux comerciales son iguales que las gratuitas, y por tanto sus precios pueden variar en función del soporte post-venta, la cantidad de páginas del manual, la duplicación de CDs, etc. (que en definitiva es lo que te cobran, no por el S.O. Linux en sí, ni por los programas que incluye). Por supuesto, al venderlo están aceptando que el que lo reciba lo haga con la misma licencia, y es por esto que aunque una determinada distribución valga dinero, nos la podamos encontrar regalada en una revista o podamos copiarla personalmente.

La licencia GNU hace que GNU/Linux sea lo que es y que nunca pueda cambiar: siempre será libre, y nadie te puede impedir su uso o venta. Puede expandirse sin coste alguno para nadie, y como está demostrando, el software libre tiene muchas ventajas: mucha gente lo usa, se encuentran y corrigen los fallos (bugs) más rápidamente, al tener el código fuente cualquiera puede mejorarlo, y cada nueva mejora sigue siendo Software Libre.

Sobre este documento, se permite la libre distribución del mismo. El autor no se hace responsable de ningún hecho derivado de la utilización de la información que en él se encuentra.

Modo texto

El funcionamiento básico estándar de Linux es en modo texto, con una pantalla similar en aspecto a la que ofrecía MSDOS (de hecho, el interfaz de MSDOS es copiado de Unix/Linux). La diferencia es que Linux, utilizando este interfaz, es capaz de ejecutar todas las tareas necesarias en un tiempo mínimo, ahorrando memoria y procesador. Linux es multitarea, multiusuario, de redes y en modo texto dispone de todas las aplicaciones necesarias para hacer cualquier tarea.

 Aspecto de la consola de Linux

Linux en sí es sólo el núcleo (el S.O.) pero con él vienen ademas montones de programas, la mayoría de ellos en licencia GNU. Estos programas y herramientas son lo que dotan al sistema de una potencia muy elevada. Linux por sí solo puede ser útil, pero en uso de las herramientas GNU lo convierte en una verdadera máquina. Estas herramientas pueden hacer diferentes cosas, y están organizadas en muchos ejecutables. Por ejemplo, un ejecutable puede ordenar alfabeticamente todo el texto que se le pase, otro puede sustituir en un fichero una cadena por otra, el otro es capaz de justificar texto para alinearlo como si de un procesador de textos se tratara, o de mostrar el contenido de un directorio, etc. La combinación de todas estas herramientas junto con la sintaxis de la shell (el intérprete de los comandos que tecleamos) que usa Linux hace cualquier tarea muy rápida y sencilla para el usuario.

Linux también puede funcionar en modo gráfico, pero es un error pensar en que podremos trabajar en Linux usando sólo X-Window. Es mucho más funcional mezclar ambos métodos de trabajo (ya que en XWindow se pueden abrir terminales de texto donde trabajar) y saber encontrar una justa proporción entre el uso del ratón y las ventanas, y el uso de comandos de texto. Mediante los programas gráficos estamos limitados exclusivamente a lo que el programa nos deje hacer de entre sus opciones, mientras que la combinación de herramientas GNU elimina todas limitaciones. Un ejemplo muy sencillo de eso es el siguiente problema que propongo al lector de este documento:

Imagine que quiere convertir todos los ficheros gráficos de formato GIF que hay en su disco duro (o de un directorio y sus subdirectorios) en ficheros TIFF. ¿Cómo haría esto con un interface gráfico como XWindow o Windows? Probablemente debería ir fichero por fichero y directorio por directorio recorriendo todo el disco duro para convertirlos uno a uno, ya que no hay ninguna herramienta gráfica que permita hacer esto en concreto. En modo texto (o en una terminal de texto), eso se podría resolver con el siguiente comando:

    for i in `find / -name "*.gif"`; do gif2tiff $i $i ; done

Aunque aun no se sepa aún nada de la shell, veamos una sencilla explicación de lo tecleado arriba:

    for i in `find . -name "*.gif"`;   <-- Para todos los .GIF
    do                                 <-- Hacer lo siguiente
      gif2tiff $i $i ;                 <-- Convertirlo en TIFF
    done                               <-- fin

Y es que find es una de las herramientas GNU básicas. A este programa se le pasa un expresión a buscar ("*.gif") y un directorio donde empezar (/) y devuelve todos los ficheros que cumpla la condición pedida ("*.gif" = todos los gif del disco duro desde el raíz). La herramienta gif2tiff convierte el fichero GIF que se le pasa como parámetro a TIFF. Estas 2 herramientas en combinación con un bucle que se repita muchas veces mientras queden ficheros por convertir da como resultado lo que queríamos: convertir sin trabajo alguno todos los ficheros. No se preocupe ahora por toda esta sintaxis: esto se aprende con la práctica, y cuanto más se usa, más rápido se hace el trabajo diario.

Otro ejemplo podría ser buscar en un fichero todas las frases que contengan una determinada palabra o cadena e imprimirlas:

    grep "Pepe" fichero.txt | lpr

En resumen: saber utilizar las herramientas y programas GNU que vienen con Linux y la shell del sistema es básico y debería ser una de las metas a aprender con Linux. Como puede verse, los resultados pueden ser rápidos y espectaculares, además de que este modo de funcionamiento es el que menos máquina consume, y sin limitarnos en nada (hay procesadores de texto, navegadores de Internet, clientes de correo y news, etc. en modo texto).

Chateando con el programa de IRC en consola BitchX.

Tampoco debemos tener miedo de aprender a utilizarlas, muchas veces tan sólo utilizaremos un par de ellas y seguramente se nos harán imprescindibles. Quien crea que en modo texto no se puede contestar el correo con programas tan avanzados como cualquier netscape, o navegar, o jugar, o contestar las news, o programar, está totalmente equivocado. Cada vez son más las personas que valoran los programas por su finalidad, no por su aspecto, y esto es muy importante porque un programa en modo texto suele ser infinitamente más estable y funcional que uno en modo gráfico.

Modo gráfico (X Window System)

Como ya se ha comentado, para ciertas tareas puede ser necesario disponer de un entorno de ventanas en modo gráfico, como por ej. para dibujo, procesado de imágenes, navegación por Internet, etc. Para ello Linux utiliza un entorno de ventanas distribuido llamado X Window (o implementaciones libres del mismo, como XFree86).

X-Window

X Window no es un bloque por sí sólo si no que es la combinación de varios elementos:

  • a). El Servidor X Window (XWindow Server): Este módulo se encarga de gestionar lo que es internamente el sistema X Window, el protocolo X, etc. Es el bloque principal de X.
  • b). El Servidor Gráfico de X (X Server): Otro ejecutable diferente de X (y que XWindow carga necesariamente antes de iniciarse) es el módulo encargado de ejecutar órdenes para la tarjeta gráfica. Este módulo sabe como pintar puntos en pantalla, líneas, dibujar rectángulos, etc. Según nuestra tarjeta habremos de instalar un ejecutable u otro (XF86_SVGA, XF86_MACH64, XF86_3DLABS, etc.). El hecho de que una tarjeta gráfica funcione o no en X Window radica simplemente en que exista o no un servidor X capaz de manejar nuestra tarjeta. Para cambiar este módulo basta con desinstalar el ejecutable que se usara anteriormente e instalar el nuevo, diciéndole a X cual es el nuevo Servidor X que debe usar. Si nuestra tarjeta no está soportada por X podemos buscar en Internet alguno de los servidores X experimentales que algunas personas desarrollan para dar soporte a tarjetas cuyos fabricantes no han querido facilitar a la Comunidad Linux la manera en que éstas se programan.
  • c). El Gestor de Ventanas (Window Manager): Este módulo es el que se encarga de dibujar las ventanas, los menúes, los iconos, etc. Hay muchos diferentes, cada uno de ellos con diferente aspecto (fvwm95, fvwm2, twm, icewm, Enlightment, etc.), de modo que con un gestor de ventanas podemos tener el mismo aspecto que bajo Windows95, o por ejemplo otro totalmente diferente. Una vez tengamos X Window instalado, podremos instalar más de un gestor de ventanas y cambiar a cualquiera de ellos en cualquier momento, cambiando el aspecto del entorno gráfico.
  • d). Los Escritorios (Desktops): Son gestores de ventanas más evolucionados que incluyen menúes, sistemas de ayudas inteligentes, arrastrar y soltar (drag & drop), sencillos sistemas de configuración, navegadores de ficheros, etc. Ejemplos de esto son Gnome o KDE, los cuales además se pueden usar en conjunción con cualquier otro gestor de ventanas si nos gusta el aspecto de éste. Además suelen llevar Temas (themes) para cambiar totalmente el look del escritorio, el fondo, etc.

Aparte de estos módulos, existe otro llamado XDM (también KDM, GDM) que permite al sistema arrancar directamente en XWindow en lugar del clásico arranque en modo texto y posterior lanzamiento de X mediante el comando startx.

En resumen, gracias a que X Window está dividido en módulos podemos cambiar cualquiera de ellos para configurar el sistema. El primero de los 4 sólo se cambia cuando se actualiza a una nueva version de X (y con él se actualizan las fuentes, las librerías, etc.). El segundo sólo se actualiza cuando cambiamos de tarjeta gráfica u obtenemos una versión mejor o más rápida del servidor de nuestra tarjeta.

Los otros 2 se suelen cambiar muchas veces ya que cada usuario tiene unos determinados gustos, y es que Gestores de Ventanas y Escritorios se suelen tener varios instalados. Esto unido a que cada usuario de la máquina tiene su propia configuración hace que cada uno de ellos suela tener un aspecto y funcionalidad de X Window diferente.

Obviamente mediante los entornos gráficos hay cosas que se hacen con bastante velocidad y facilidad, pero no hay que olvidar nunca que mediante las terminales de texto podremos ejecutar comandos de shell (y por tanto todos los programas de modo texto), obteniendo la máxima funcionalidad de nuestro ordenador con la combinación de ambas interfaces.

Aparte de muchos otros gestores de ventanas en:

Finalmente, dentro del entorno gráfico se ejecutan las aplicaciones. En Linux hay miles de aplicaciones, desde juegos hasta programas científicos, procesadores de texto, hojas de cálculo, etc. La mayoría de ellos son Software Libre, con la misma licencia que GNU/Linux.

Distribuciones Linux

Existen diferentes distribuciones de Linux. Internamente todas ellas incluyen los mismos programas (tal vez en diferentes versiones, según antigüedad de las mismas o filosofía), es decir: incluyen los mismos programas GNU, el mismo kernel o núcleo (Linux), las mismas X Window, etc., sólo que en diferentes formatos, se instala cada una con su propio programa de instalación, algunas llevan asistentes para configurar más rápidamente el sistema, otras llevan CDs extras con más programas, etc. Instalemos la que instalemos, tendremos Linux en nuestro ordenador, y la elección de una distribución u otra debe pues basarse en las necesidades de cada ordenador. Muchas veces nos podemos ver limitados por el disco (por ejemplo, para instalar un Linux en 100Mb de disco duro sería casi imposible intentarlo con una Redhat cuando Debian y SlackWare suelen estar más optimizadas para el espacio), otras veces por la facilidad de instalación y configuración (Redhat y Suse son las más fáciles con diferencia, ya que autoconfiguran muchas partes del sistema), o simplemente porque cae en nuestras manos una determinada distribución y al probarla se convierte en nuestra favorita. Veamos unas pequeñas pautas sobre las diferencias entre algunas de las distribuciones de Linux existentes:

Redhat Linux

Es, junto con Debian, una de las más actualmente famosas distribuciones de Linux. Es comercial y es mantenida por la empresa Redhat Inc, la cual creó para ella un sistema de paquetes llamado RPM que permite la instalación y desinstalación de paquetes (programas) de una manera muy sencilla, ya sea en línea de comandos o mediante herramientas gráficas. Es una de las que más espacio en disco requiere para instalarse ya que a partir de la versión 6.0 está pensada para ordenadores más avanzados (Pentium) y sistemas más potentes. Versiones anteriores funcionará en sistemas más antiguos sin problemas.

Suele ser la distribución más avanzada en cuanto a versiones de los programas y del núcleo, así como de las librerías. Está creada por una empresa, y como tal, tiene que arriesgar para proporcionar a los clientes las últimas versiones de todos los programas, aunque todavía no estén totalmente probados (ese es el principal punto negro que le achacan los usuarios de Debian, con filosofía totalmente diferente). Dispone de gran cantidad de asistentes de instalación y configuración del sistema, lo que la convierte en una de las más fáciles para principiantes.

Debian Linux

Es, junto con Redhat, la distribución de GNU/Linux por excelencia debido a su gran número de usuarios y a su filosofía de funcionamiento. En Debian no hay empresas de por medio y el método de mantenimiento es más clásico y de mentalidad GNU. No dispone de tantos asistentes de configuración ni lleva el software a la última: para Debian es mejor que el software que lleve su distribución sea totalmente estable y esté testeado hasta la saciedad, de forma que ningun elemento de la misma dé problemas a ningun usuario. Tiene un sistema de paquetes .DEB similar al de redhat, con las mismas funcionalidades, y es la que menos espacio de instalación requiere (su sistema básico sin X Window ocupa unos 200Mb). Su posterior configuración requiere de mucha más lectura y dificultad que otras distribuciones , pero esto hace que se aprenda mucho sobre el sistema. Es con mucho la que más cantidad de paquetes (programas) diferentes lleva.

Ubuntu y Kubuntu Linux

Seguramente, las distribuciones más populares del momento. Basadas en Debian, son muy sencillas de instalar y utilizar y cuentan con gran cantidad de programas.

S.u.S.E. Linux

Esta distribución también es comercial y usa el sistema de paquetes RPM. Es muy fácil de instalar y configurar, e incluye una macro-herramienta de configuración (YAST) muy completa. Está creada por una empresa alemana y la españolización está muy cuidada. Ha sido elegida como la mejor distribución de Linux de 1998 por algunas revistas especializadas en informática. Está muy bien integrada y es igual de sencilla de Redhat para empezar en el mundo de Linux, por su completo sistema de autoconfiguración. Desde el mismo momento de la instalación se nota que es una distribución muy bien acabada y de mucho tirón en Alemania.

SlackWare

Es una de las distribuciones clásicas de Linux. Fue una de las primeras que apareció. Puede decirse que es algo más complicada porque carece de un sistema de paquetes definido (utiliza tar.gz, que son simples ficheros comprimidos) así como del soporte de otras distribuciones llevadas por empresas. Algunas personas disfrutan mucho con esta distribución (similar el filosofía a Debian) porque no incluye prácticamente herramientas de configuración y se aprende mucho sobre el S.O. Muchos de los primeros usuarios de Linux en España empezaron utilizando una de estas distribuciones (incluido el autor) y la recuerdan como algo arisca al principio pero estable, funcional y didáctica en su fondo.

Mandrake / CentOS

Dado que Linux es código libre, es perfectamente legal coger la base de una distribución y traducirla a diferentes idiomas, añadir o quitar paquetes, o dotarle de nuevas mejoras en el programa de instalación de las distribuciones.

En este caso, estas 2 distribuciones están basadas en Redhat. Las 2 mantienen el sistema de paquetes RPM y los diferentes sistemas de detección e inicialización de hardware, pero cada una con unas mejoras particulares.

Podemos aplicar todas las explicaciones sobre Redhat a estas 2 distribuciones, al utilizar todas la misma base. Además incluyen nuevas posibilidades: por ejemplo: Mandrake le da un diferentes peculiaridades a todos sus paquetes y está muy bien acabada. Sus distribuciones suelen ser muy estables ya que son probadas y testadas por multitud de usuarios antes de definir una version como version no beta. CentOS está pensada para ser un clon de Redhat (salvo por el logotipo de Redhat y alguna que otra imagen o paquete).

Otras (mini-linux, etc.).

Existen otras distribuciones Linux aparte de las ya indicadas. En general, es muy sencillo montar una distribución Linux usando como base cualquiera de las existentes.

Aparte, existen unas distribuciones llamadas ODL (One Disk Linux) que ocupan un sólo diskette. Este diskette contiene un Linux básico y muy reducido pero que puede utilizarse para tareas de rescate o para utilizar en ordenadores donde no se puede instalar Linux por cualquier imposibilidad. Las hay desde 1 sólo diskette hasta de varios. Suelen utilizar la RAM del ordenador como disco virtual (montando un RAMdisk) siendo por tanto muy rápidas. Algunas, como por ejemplo mulinux, llevan clientes y servidores de http, irc, ftp, editores, compiladores, e incluso X Window, en 3 simples diskettes. Para utilizarlas basta con dejar el disco 1 en la diskettera y arrancar el PC, con lo que se cargará en en memoria y pedirá los discos restantes uno a uno, según las cosas que se deseen utilizar posteriormente. Una vez cargada, funciona como un Linux normal (aunque más limitado) y puede montar unidades, conectar a Internet, acceder a redes, etc. Gracias a ello es posible montar Linux en ordenadores donde no tengamos acceso al disco duro del sistema, y así disponer de Linux en lugares donde nos agradaría trabajar con este S.O. (como el trabajo, aulas de universidades, etc.).



Introducción a las particiones.

Para instalar Linux en nuestro PC necesitaremos conocer qué son las particiones de disco y para qué sirven.

Vamos a ver algo de información que nos facilitará enormemente la comprensión del sistema de particiones.

Buses y Maestro/Esclavo.

Los dispositivos de almacenamiento (discos duros, CDROMs, etc.) suelen estar comunicados con el ordenador por unos cables llamados Buses. Cada bus tiene espacio para conectar 2 dispositivos, y suele haber 2 buses en cada ordenador. Esto da lugar a espacio para conectar 4 unidades de disco duro o CDROM. Esos 2 buses están conectados a la placa en 2 lugares llamados CANALES PRIMARIO y SECUNDARIO. Además, como ya hemos dicho cada bus tiene espacio para conectar 2 dispositivos: estos se diferencian porque uno actúa como Maestro y el otro como Esclavo. No se preocupe por la manera de funcionar de cada uno, sólo necesita saber que, por lo tanto, si conectara (por ejemplo) 4 discos duros a su PC (o CDROMs), estos estarían funcionando del siguiente modo:

      Disco 1 ->  Primario   y  Maestro
      Disco 2 ->  Primario   y  Esclavo.
      Disco 3 ->  Secundario y  Maestro.
      Disco 4 ->  Secundario y  Esclavo.

Normalmente la gente tiene el disco duro principal como Primario y Maestro (Master Primary) y el CDROM como Primario Esclavo (Slave Primary).

Tabla de particiones.

La gente suele desconocer por completo el tema de las particiones y por eso suele tener miedo a modificar las particiones existentes en su disco duro. Para instalar Linux probablemente necesitaremos crear 2 particiones, y esto suele frenar a mucha gente a la hora de la instalación. En lugar de ofrecer una guía rápida para la creación de las particiones se va a tratar de explicar de una manera sencilla qué son y para qué sirven las particiones. Estos conocimientos generales le servirán para cualquier otro momento de su vida informática, de modo que serán beneficiosos.

Los discos duros (o diskettes) son grandes unidades de almacenamiento de datos. A veces se nos hace util partir ese gran bloque en varios trozos para hacer más sencilla la búsqueda o instalación de aplicaciones. De este modo, se suele particionar el disco completo en una partición para el Sistema Operativo, otra donde instalar programas, otra para los juegos, etc. A cada partición (en MSDOS y Windows) se le asigna una letra de unidad (C:, D:…) y esto permite organizar los datos de una manera más eficiente.

Cuando creamos diferentes porciones (particiones) con cualquier programa particionador (por ej. fdisk), lo que hace el programa es modificar una tabla que hay al principio del disco y que le dice a todo el sistema donde empieza y acaba cada partición. Esto es la Tabla de Particiones: son 512 bytes en el sector 0 del disco (al principio) donde están las direcciones de inicio y de final de cada partición (C:, D:…) dentro del disco. Así el S.O. es capaz de saber donde debe escribir cada dato dentro de cada unidad. Cuando creamos o borramos particiones eso se traduce en modificar esta tabla.

Que es /dev/*

Linux trata todos los dispositivos como simples ficheros, de forma que para escribir o leer en un disco basta con acceder al fichero asociado a él. Esto hace que TODO en Linux se trate de igual manera, y lo hace ideal a la hora de programar. Estos ficheros de dispositivo se encuentran bajo Linux en un directorio especial llamado /dev/, dentro del cual podremos encontrar los ficheros que apuntan a los diferentes dispositivos o particiones:

      /dev/hda   ->   Disco Primario   y  Maestro
      /dev/hdb   ->   Disco Primario   y  Esclavo.
      /dev/hdc   ->   Disco Secundario y  Maestro.
      /dev/hdd   ->   Disco Secundario y  Esclavo.
      /dev/fd0   ->   Primera diskettera.
      /dev/fd1   ->   Segunda diskettera.
      /dev/lp0   ->   Puerto paralelo.
      (etc...)

Denominación de las particiones (/dev/hda*).

Si tenemos el disco duro como primario maestro y el CDROM como primario esclavo (lo más habitual), eso se traduce bajo Linux en /dev/hda para el disco duro y /dev/hdb para el CDROM. Si además tenemos el disco duro particionado en trozos, cada partición (o Unidad en MSDOS/Windows) tiene un nombre bajo Linux:

      /dev/hda1   ->  Primera partición del disco 1.
      /dev/hda2   ->  Segunda partición del disco 1.
      (etc. Lo mismo ocurre para hdb, hdc y similares)

El funcionamiento de las particiones en nuestro PC suele ser el siguiente: Cada disco se divide en 2 particiones: la particion primaria (C:) y la extendida (el resto). La partición extendida se puede dividir en más particiones, que empiezan a numerarse a partir del 5.

Por ejemplo:

Disco:

  -----------------------------------------------
  |  C: (10000Mb)  |  D: (5000Mb) | E: (5000Mb) |
  -----------------------------------------------

En cuanto a particiones, este disco sería así:

                      Partición extendida
                    ____________________________
                   /                            \
  -----------------------------------------------
  |  C: (10000Mb)  |  D: (5000Mb) | E: (5000Mb) |
  -----------------------------------------------
   \______________/
  Partición primaria

Para Linux, el disco físicamente tendría la siguiente forma:

      /dev/hda1  ->  10000Mb  ->  Partición Primaria - C:
      /dev/hda2  ->  10000Mb  ->  Partición Extendida (D: + E:)
      /dev/hda5  ->   5000Mb  ->  D:
      /dev/hda6  ->   5000Mb  ->  E:

Es decir:

                           /dev/hda2
                    ________________________
                   /                        \
  --------------------------------------------
  |   /dev/hda1   |  /dev/hda5  | /dev/hda6  |
  --------------------------------------------

Si hubiese más particiones se continuaría con hda7, hda8, etc. Es sencillo: la primera partición es hda1, y luego cada nueva empezará a partir de 5 en adelante, y lo mismo para otros discos (hdb, hdc…). Para poder crear nuevas particiones dentro de la partición extendida es preciso crear primero ésta. En otras palabras, si nos dan un disco vacío sin particionar y queremos reservar espacio para Linux junto con otro sistema operativo (que normalmente necesita arrancar desde la partición primaria, ya que sólo Linux sabe arrancar desde cualquier lugar), deberemos crear una partición primaria, luego una extendida, y despues todas las particiones que queramos en la extendida.

Estos conocimientos sobre particiones nos permitirán comprender el funcionamiento de programas como FDISK o Partition Magic, de forma que gestionar nuestro disco sea algo más sencillo para nosotros (así como instalar Linux).

Cabe destacar que si nuestro disco es SATA, veremos los discos y las particiones como /dev/sda en lugar de /dev/hda:

      /dev/sda1   ->  Primera partición del disco 1.
      /dev/sda2   ->  Segunda partición del disco 1.
      /dev/sdb1   ->  Primera partición del disco 2.
      (etc. Lo mismo ocurre para sdb, sdc y similares)

Que particiones necesitamos para instalar Linux.

Para instalar Linux hacen falta 2 particiones: una para el sistema en sí (de tipo Linux Native) y otra para el Swap (de tipo Linux Swap). En la partición Linux native se instalarán los programas, se crearán los directorios del sistema, etc.

La partición de Swap se usa como memoria extra: en el swap, el S.O. deja los programas en multitarea que menos se usan o porciones de aplicaciones cuando el sistema se vaya quedando sin memoria libre. Otros S.O. utilizan ficheros como memoria virtual o swap, pero Linux usa particiones porque es mucho más eficiente. La partición de Swap no es obligatoria, pero sí recomendada para cuando se cargue al sistema con muchas operaciones y programas simultáneamente. Linux también es capaz de usar ficheros de swap (se pueden crear en cualquier momento, no sólo durante la instalación, incluso activarlos sin reiniciar) o incluso varias particiones y/o ficheros simultáneamente. El problema de los ficheros de Swap o memoria virtual es que son menos eficientes que usar una partición.

La cantidad de espacio que debemos dedicar para ambas particiones irá, obviamente, en función de los programas a instalar, el uso que se vaya a dar del ordenador, la memoria RAM de que se dispone, etc. Para la partición de Linux en sí, hay diferentes tipos de instalaciones (y según los paquetes que posteriormente elijamos) que van desde los 40Mb de disco hasta más de 1 GB (con todas las herramientas instaladas). Un tamaño adecuado si se dispone de él puede ser unos 1500Mb para Linux Native, ya que cabrá el sistema casi completo y tendremos espacio de sobra para futuras instalaciones de programas y ampliaciones. Por otra parte, en ordenadores con poco disco duro se puede instalar Debian o Slackware en poco espacio (desde 25Mb) con bastantes funcionalidades.

Para swap se suele dejar la mitad (o algo más) de la memoria RAM, pero todo depende del uso que se le vaya a dar al sistema (no es lo mismo un servidor de Red que un ordenador de sobremesa). A veces poner gran cantidad de swap lo único que consigue es ralentizar el sistema (el disco es más lento que la memoria).

Como veremos posteriormente, Linux es capaz además de acceder a las otras unidades de disco (de otros S.O.) y de leer y escribir en ellas con más fiabilidad que los sistemas originales. En Linux las unidades se acceden a través de los directorios, es decir, se "monta" la unidad C: (/dev/hda1) en un directorio del disco duro, y dentro de ese directorio se pueden ver todos los ficheros y subdirectorios de esa unidad.

Hay un problema importante con ciertos discos duros debido al funcionamiento interno de los PCs. Resulta que para que un Sistema Operativo pueda arrancarse, su partición debe de empezar en el disco antes del cilindro 1024 (los discos están divididos en cilindros entre otras cosas). Si colocamos Linux (o Windows, o MSDOS) en una partición que quede por encima de ese cilindro, el S.O. no será capaz de arrancar. Una muestra de este problema se ve cuando iniciamos Linux por primera vez y no arrancar LILO, quedándose en L, LI, LIL, o LILO (cada letra indica un tipo de error de arranque). Este problema es fácilmente solucionable de alguna de estas maneras:

  • En la SETUP/BIOS de su ordenador, en la parte de configuración de los discos, active la opción LBA para su disco. Esto hará que aparente tener menos cilindros para su sistema.
  • Cuando instale Linux, digale a LILO (en la pantalla de instalación de LILO) que use la opción "linear".
  • Cree una partición Windows muy pequeña de modo que Linux quepa (al menos su inicio) antes del cilindro 1024.
  • Cree una partición de arranque de pocos Mb al principio del disco que monte el resto de particiones (esto ya requiere conocimientos más avanzados sobre Linux).

Cualquiera de estas soluciones es válida. Antes de instalar Linux mire en su BIOS el nº de cilindros del disco. Si son menos de 1024 o pocos más, o aunque sean más, si ve que el lugar de instalación de Linux es cercano al inicio del disco, no habrá problema. Si no, prueba a activar el modo LBA y compruebe que funciona correctamente (esto reducirá el nº de cilindros). Y recuerde además que la instalación de LILO no tiene peligro alguno porque mediante un diskette de arranque del S.O. que utilice se puede eliminar, como verá más adelante en este documento.

Para quienes no puedan instalar Linux en una partición Native existen distribuciones antiguas y micro-distribuciones que son capaces de instalarse en directorios de MSDOS y funcionar sin particiones Linux (formato de ficheros ext2). Estas distribuciones instalan todo el sistema en un directorio c:\linux y usan la utilidad LOADLIN para cargar Linux (más adelante se verá para que sirve Loadlin). Son mucho menos eficientes que Linux en partición Linux Native, pero puede servir para salir del paso. Distribuciones como SlackWare 96 pueden hacer esto, aunque alguna de las nuevas (como Linux Mandrake) también.

En resumen, Linux necesitará para él 2 particiones: una para la instalación del sistema en sí y otra para hacer de almacen de memoria temporal. Estas particiones se pueden crear con cualquier programa particionador (fdisk, Partition Magic, etc.) o crearlas posteriormente con el programa particionador que incluya Linux en su instalación. Haga una pequeña copia de los datos más importantes de su disco que no pudiese reinstalar en caso de algún problema, termine de leer este documento y comience la instalación.

Modificar el tamaño de particiones existentes.

Normalmente cuando se dispone de un disco vacio no hay problema alguno para crear todas las particiones en el sistema y de paso crear las 2 necesarias para Linux (junto con otras particiones para otros S.O.).

Incluso cuando ya se tiene el disco particionado pero con datos, se suelen mover los datos de alguna de las particiones, con lo cual nos queda un espacio. Al borrar esa partición podemos crear, en el espacio que ocupaba, las 2 particiones necesarias para Linux:

   Antes:
  --------------------------------------------
  |  C: (10000Mb)  |  D: (XMb) | E: (5000Mb) |
  --------------------------------------------

   Borrado:
  -----------------------------------------------
  |  C: (10000Mb)  |    vacio     | E: (5000Mb) |
  ----------------------------------------------

   Despues:
  -----------------------------------------------
  |  C: (10000Mb)  |   LINUX   |XX| E: (5000Mb) |
  -----------------------------------------------
                      Linux   Swap

Pero… ¿y si el disco que tenemos dispone de una sóla partición, no existiendo partición existida, y por tanto,no hay espacio para crear las particiones que necesitamos? Los que no tengan datos valiosos en el disco pueden formatearlo y reparticionarlo a su gusto, pero los que tengan datos importantes probablemente no querrán perder sus datos actuales.

Necesitamos recurrir entonces a un programa re-particionador. Estos programas son capaces de ampliar y reducir el tamaño de las particiones, dejando espacio para crear nuevas.

El programa Partition Magic es comercial (hay versiones para MSDOS y Windows) y permite ampliar y reducir el tamaño de las particiones (de cualquier formato, incluido Linux) y su lugar dentro del disco. Es decir, podríamos realizar una operación de reducción de la siguiente forma:

   Antes:
  ---------------------------------------------
  |              C:  (20000 Mb)                |
  ---------------------------------------------


   Despues:
  -----------------------------------------------
  |  C:  (10000 Mb)   |    libre (10000 Mb)     |
  -----------------------------------------------

Por supuesto, esa reducción no hace perder datos, ya que el programa simplemente cambia en la tabla de particiones la posición final de la partición, y se asegura de que no queden datos en la parte que se queda libre. Para ello tenemos que disponer de espacio libre y defragmentar la unidad (es decir, pasarle la utilidad defrag de modo que coloque todos los datos al principio de la partición, y así podamos, sin problemas, reducirla). No hay que tener ningún miedo con este programa, pues nos avisará del tope máximo donde podemos cortar (donde esté situado el último fichero en el disco) y no nos dejará hacer "cortes" que pudieran ocasionar alguna pérdida de datos.

La segunda opción (y para mí la más recomendable) es hacer una copia en discos externos o DVDs de nuestros datos y particionar de nuevo el ordenador: instalaremos de nuevo Windows, y Linux, y podremos crear las particiones como nos sea más conveniente. Después, podremos recuperar nuestros datos personales (documentos, fotos, etc) desde los DVDs de backup realizados. Es la opción más segura y sencilla, aunque requiera la reinstalación de Windows.

Mi recomendación para la creación de particiones si se tiene en mente hacer convivir a Linux junto con otro S.O. es la siguiente (para un ordenador de sobremesa medio):

      /dev/hda1 -> partición para MSDOS/Windows de 10Gb o menos.
      /dev/hda5 -> partición Linux Native de aprox 6Gb o más.
      /dev/hda6 -> partición Linux Swap de 256 ó 512 Mb.
      /dev/hda7 -> Particiones de tipo FAT32 (msdos/win) para datos.
      (etc...)

Es importante que la partición Windows sea lo más pequeña posible: el motivo es muy simple: Windows se estropea bastantes veces (problemas de registro, multiples reinstalaciones, etc.) y cuando esto ocurre la única solución es reinstalarlo. Para ello (para así no tener que reinstalar todos los programas y/o juegos del disco duro) deberíamos crear una unidad donde resida únicamente Windows en sí, e instalar los programas en otras unidades (/dev/hda7, /dev/hda8…) de tipo MSDOS. De esta forma los daños durante las reinstalaciones serán mínimos si siempre instalamos nuestros programas en D:, E:, etc. Además, al hacer pequeña la partición MSDOS/Windows seguramente eliminamos el problema de los 1024 cilindros, ya que la siguiente particion (la de Linux) está bastante cerca del inicio del disco. Mi partición de MSWindows es de 500Mb, seguida de 1500Mb para Linux y 64Mb para Swap. Tras esto viene el resto del disco (4Gb) en 2 particiones de dos Gb cada una, donde se almacenan programas y compiladores (D:), y juegos (E:). Recordemos que Windows no reconoce las particiones de Linux y por tanto no les asigna letra de unidad, de modo que D: y E: se las asigna a las únicas que conoce, las de tipo MSDOS (FAT16) o Windows (FAT32).



Cómo empezar la instalación de Linux.

Para iniciar la instalación hay varias posibilidades diferentes que vamos a contemplar a continuación:

Instalación desde CDROM, desde floppies o desde FTP.

Linux puede ser instalado de múltiples maneras: desde cdrom, desde diskettes preparados para la instalación, de forma remota tomando los paquetes de instalación de un FTP, por red local o por Internet, desde el disco duro, etc.

La instalación de diskettes es muy sencilla: se inserta el primer diskette (con el que se arranca) y se siguen las instrucciones de pantalla. La instalación desde FTP es una opción que presentan algunas distribuciones (hay que decirle el ftp que contiene los paquetes de instalación, de modo que hay que leer primero los ficheros de ayuda que vengan con la distribución). La instalación desde disco duro es igual que desde CDROM pero a la hora de decirle la fuente de los paquetes a instalar hay que decirle que los busque en el disco duro (bien mediante algún sencillo menú de instalación, o bien diciéndole al programa, cuando lo pregunte, en que partición están los paquetes a instalar, como por ejemplo /dev/hda1 si los hemos copiado a C:).

La instalación desde CDROM es la más habitual y por eso será la que comentaremos, ya que Linux cada vez incluye más programas y es raro iniciar la instalación desde un dispositivo que no sea el CDROM.

Arrancar desde la BIOS con el CD dentro.

Si el CDROM de nuestra distribución está preparado para ello (y si nuestra placa base o controladora de disco lo permite) es perfectamente posible arrancar directamente desde el CD para iniciar el proceso de instalación.

Para ello basta con acudir a la SETUP/BIOS de nuestra computadora (normalmente pulsando SUPR o DEL durante el arranque) y cambiar el orden de arranque del sistema. Por defecto el sistema estará en A:, C: (primero buscará un diskette de arranque y si no lo encuentra buscará en C: para arrancar). Alterando el orden podemos hacer que primero se busque el arranque en el CDROM (Ej: Orden: CDROM, A:, C:). Posteriormente se resetea el ordenador, se deja el CD dentro y se iniciará el proceso de instalación, finalizado el cual podrá volver a dejar el orden de arranque como estaba inicialmente.



La instalación.

Idioma de la instalación.

Según la distribución de Linux que estemos instalando, ésta nos permitirá realizar la instalación en diferentes idiomas entre los que puede estar (o no) el Castellano. El Inglés suele ser el idioma de instalación por defecto en todas ellas (por ser el más habitualmente hablado en la Red), pero suele estar acompañado de otros como Francés, Español, Ruso, etc.

El idioma de la instalación es independiente del posterior funcionamiento de Linux. Actualmente Linux soporta practicamente todos los idiomas del mundo (al menos los más hablados) junto con sus diferentes variedades dialectales. Entre ellos está, por supuesto, el Castellano (es), e incluso también Catalán (ca), por ej.

Mucha gente cree de debe obligatoriamente instalar Esware o Eurielec Linux para obtener el S.O. en castellano, pero no es así. El funcionamiento del S.O. es independiente del programa de instalación que se utilice, y aunque lo tengamos que instalar en inglés, luego durante el proceso de configuración del sistema (utilizando la variable de entorno LANG) podremos obtener todos los mensajes del sistema y de la mayoría de programas (Gnome, KDE, etc.) en el idioma que deseemos.

Así pues, si el castellano no se encuentra disponible entre los diferentes idiomas de instalación podemos seleccionar el que más conveniente o sencillo nos parezca para instalar Linux (por ej. el inglés) para posteriormente cambiarlo.

Teclado.

Hay muchos factores a tener en cuenta a la hora de configurar el teclado en Linux. Cuando se pulsa una tecla o combinación de teclas que sólo esté presente en los teclados no USA (por ejemplo la á con acento), para que este carácter sea correctamente representada en pantalla debemos asegurarnos de que:

  • El mapa de teclado es el ESPAÑOL (es).
  • La fuente de pantalla dispone de los caracteres con acentos.
  • El S.O. sabe interpretar el código de la tecla pulsada.

Durante la instalación se nos preguntará el mapa de teclado que deseamos usar. En nuestro caso deberemos seleccionar el mapa de teclado "es". Esto nos permite cumplir con el primero de los tres puntos anteriormente expuestos para el correcto funcionamiento del teclado. Los otros 2 puntos se configuran posteriormente a la instalación de Linux, usando la fuente lat1u-16, por ejemplo, y configurando correctamente /etc/inputrc.

No es necesario saber esto por ahora, pero nos ayudará a comprender el porqué hay diferentes mapas de teclado: mediante la combinación de los mapas, las fuentes y el programa que interpreta las pulsaciones, a Linux le es posible usar todos los tipos de teclado que existen, y en cualquier lenguaje, cambiando entre ellos sin necesidad de reiniciar mediante los comandos que proporciona el sistema, y sin necesidad de crear un Linux diferente para cada país. El mapa de teclado en sí no es más que un fichero de texto que se carga de, por ejemplo, /usr/lib/kbd/keymaps/i386/qwerty/ (como el fichero es.kmap), el cual simplemente contiene las equivalencias entre las teclas pulsadas y los caracteres que se deben interpretar para dichas teclas.

Creación de las particiones:

Lo siguiente que nos preguntará el programa de instalación es dónde deseamos instalar Linux. Para ello lanzará algún programa de gestión de particiones (como fdisk o DiskDruid) el cual nos permitirá crear, borrar o cambiar tipos de particiones para que, como objetivo, podamos crear una partición de tipo Linux Native y otra de Linux Swap, donde instalar los ficheros y el swap respectivamente.

El programa fdisk es una verdadera joya para el tratamiento de las particiones, aunque funcione en modo texto y su interface no sea muy intuitivo. Lo primero de todo es que mientras que no ejecutemos el comando "w" (write table to disk) no se grabará ninguno de los cambios que hagamos, de modo que podemos hacer todos los experimentos que queramos (simplemente los hace con una copia de la tabla de particiones que crea en memoria) y luego salir sin grabar con "q". El aspecto de fdisk es el siguiente:

     Command (m for help): _

Mediante la tecla m podemos obtener ayuda de los diferentes comandos que fdisk es capaz de ejecutar:

     Command (m for help): m
     Command action
        a   toggle a bootable flag
        b   edit bsd disklabel
        c   toggle the dos compatibility flag
        d   delete a partition
        l   list known partition types
        m   print this menu
        n   add a new partition
        o   create a new empty DOS partition table
        p   print the partition table
        q   quit without saving changes
        s   create a new empty Sun disklabel
        t   change a partition's system id
        u   change display/entry units
        v   verify the partition table
        w   write table to disk and exit
        x   extra functionality (experts only)

Como puede verse, este programa sirve para crear las particiones Linux Native y Linux Swap necesarias, utilizando el comando "n" para crear particiones nuevas. Lo más probable es que ya haya creado las 2 particiones necesarias para Linux y que las haya creado con cualquier otro tipo de programa particionador (por ejemplo fdisk para MSDOS o Windows). En ese caso tendrá ya las 2 particiones necesarias, pero de tipo MSDOS. Como lo que desea es marcarlas como Linux Native y Linux Swap para que Linux se instale allí, simplemente bastará con cambiarle a cada partición su tipo al deseado mediante el comando "t" (Change a partition's system ID). Para ello simplemente teclee t y pulse intro, introduzca el número de partición cuyo tipo desea modificar (ej: hda5 → 5), y luego introduzca a qué tipo desea convertirla. Como pone en el comando "l" (ele), las correspondencias más utilizadas son:

      6 = FAT12
      b = FAT32
     83 = Linux Native
     82 = Linux Swap

Simplemente tiene que usar el comando 'c' 2 veces para cambiar el tipo de sus 2 particiones previamente creadas a Native y Swap. Posteriormente use el comando w (write table to disk) para salvar los cambios y podrá comenzar a instalar Linux, ya que el programa de instalación detectará la existencia de las nuevas particiones y le preguntará si desea instalar Linux ahi.

Por otra parte, DiskDruid es un programa que se maneja mediante los cursores y TABULADOR e INTRO y que permite de forma sencilla añadir, borrar o editar particiones, así como cambiar sus puntos de montaje. DiskDruid puede crear las particiones directamente en el formato deseado: de este modo puede borrar una partición que tenga vacía y crear en el hueco dejado por esta las 2 necesarias para Linux de tipo Linux Native y Linux Swap.

Según la distribución que utilice le saldrá uno u otro de estos programas, o ambos, o tal vez uno diferente, pero todos ellos tienen el mismo esquema básico y el mismo objetivo: permitirle crear las particiones necesarias para instalar el sistema.

Puntos de montaje

A la hora de instalar Linux deberemos especificar los diferentes "puntos de montaje". En Linux las unidades de disco y diferentes particiones se tratan como simples directorios. Por ejemplo, es perfectamente posible tener el diskette en /mnt/floppy o hda1 (el equivalente a C: en Windows) en /mnt/dos.

En esta parte de la instalación (posterior a la creación o asignación de las particiones Linux Native y Linux Swap) se especifica en qué directorio de Linux queremos encontrar cada una de las particiones. Una de ellas (la partición Linux Native) debe ser montada, obviamente, en / (la partición raíz). El resto podemos montarlas o no a nuestra elección, permitiéndonos así acceso a las otras particiones o unidades del sistema (las particiones donde esté instalado Windows, particiones de MSDOS, etc.). Lo único que deberemos especificar es en qué directorio queremos que el sistema monte estas unidades:

    Ejemplo:

      UNIDAD      LETRA      TIPO          PUNTO DE MONTAJE
      ---------------------------------------------------
      /dev/hda1   (C:)       FAT32             /dos/c
      /dev/hda5   (--)    Linux Native         /
      /dev/hda6   (--)     Linux Swap          ninguno
      /dev/hda7   (D:)       FAT16             /dos/d

Al decirle esto al programa de instalación (si este nos lo permite) estas unidades serán añadidas al fichero /etc/fstab para que Linux las monte automáticamente en cada arranque, de forma que cuando accedamos al directorio /dos/c estaremos realmente accediendo a la unidad C: donde puede estar instalado, por ejemplo, Windows. Esto nos permitirá el intercambio entre ficheros de distintas particiones y discos.

En resumen: los puntos de montaje son los directorios de Linux donde queremos que aparezcan las otras unidades del sistema, sea cual sea el Sistema Operativo al que pertenecen. Si especificamos un determinado directorio para /dev/hda1, entrando o copiando un fichero en ese directorio estaremos copiándolo realmente en su equivalente (C:), haciendo un "dir" en dicho directorio veremos en pantalla el contenido de C:, etc. Esto permite disponer de todas las unidades de su ordenador en un sólo árbol de directorio, como verá mucho más cómodo que la división en unidades.

Selección de paquetes a instalar.

Probablemente lo siguiente que nos ofrecerá el programa de instalación será la posibilidad de seleccionar los paquetes que deseamos instalar. Este menú de instalación se basará básicamente en una gran lista de paquetes que deberemos marcar o desmarcar según deseemos instalarlos o no. Algunos paquetes necesitan de otros para funcionar (por ejemplo, el sistema XWindow requiere instalar fuentes de texto, un escritorio, un gestor de ventanas y un servidor gráfico, por ejemplo). Estas "necesidades" se denominan dependencias, y el mismo programa de instalación nos avisará de ellas bien durante el proceso de selección o bien antes de empezar a instalar los paquetes elegidos.

También es muy recomendable instalar el compilador de C y C++ así como diferentes librerías de desarrollo (devel) con las cuales podremos compilar programas bajo Linux. Las herramientas de desarrollo requieren bastante espacio en disco, pero resultan imprescindibles para recompilar el núcleo de Linux o instalar nuevos programas en formato de fuentes.

Es importante poder compilar bajo Linux pues muchos programas se distribuyen en código fuente, y hay que compilarlos para poder instalarlos. Compilar un programa significa crear un fichero ejecutable a partir de los fuentes del mismo, y para ello es necesario el compilador de C gcc o egcs así como muchas librerías de desarrollo (libc6-devel, etc). Si se nos olvida instalar algo no pasa nada, más adelante es perfectamente posible acceder al CD e instalar cualquier cosa que haga falta, o desinstalar del disco cualquier programa o paquete que no vayamos a usar. Tambien hay gran cantidad de actualizaciones que se obtienen en Internet, de modo que siempre que elijamos lo importante para poder funcionar no habrá luego ningun problema en ampliar o reducir el sistema. El programa de instalación suele marcar por defecto lo básico. Además, mediante la tecla F1 o ? es posible, en la mayoría de distribuciones, obtener información sobre cada paquete. No se preocupe demasiado por las versiones de los paquetes o por lo que instale o no: siempre que instale un mínimo que permita a Linux funcionar podrá luego actualizar o modificar cualquier programa del sistema (incluído el núcleo mismo del sistema sin tener que reinstalar Linux).

Por otra parte, normalmente las instalaciones de Linux requieren bastante espacio, pero en ellas se contiene todo lo necesario para todas las tareas de funcionamiento habituales, y no será necesario instalar nuevo software posteriormente. La primera vez que se instala puede parecer exagerado realizar una instalación de 600Mb, pero luego uno puede comprobar que este tamaño es mínimo si tenemos en cuenta que en él hay compiladores, navegadores, entornos gráficos, gestores de ventanas, clientes de correo, de news, acceso a Internet, acceso a otras redes y otras unidades, servidores de impresoras y ficheros, procesadores de texto, programas de edición de imágenes, hojas de cálculo, juegos, lectores de CD audio, edición de audio, herramientas multimedia, agendas, bases de datos SQL, compresores, utilidades varias, programas técnicos (matemáticas, electrónica, etc.), editores básicos de texto, editores avanzados para programadores, ensambladores, gran cantidad de documentación y sistemas de ayuda online, clientes y servidores de IRC y de FTP, versiones en modo texto y en modo gráfico de los mismos, gestores de ficheros, herramientas de configuración y de gestión de procesos y usuarios, reproductores MIDI, software de faxes, etc, etc, etc. Normalmente, además, todo ello siendo software libre.

Tras terminar la selección se instalarán los paquetes en disco y se procederá a la configuración del sistema.

Configuración del sistema.

En este punto de la instalación se nos preguntará sobre la configuración inicial de nuestro sistema (no hay que tener miedo si no se conoce alguna respuesta pues posteriormente se puede volver a configurar todo aisladamente o en conjunto). Normalmente se nos pregunta si tenemos dispositivos SCSI, si tenemos impresora, su modelo, formato del papel, resolución, el tipo de ratón, si disponemos de tarjeta de red, la hora del sistema, etc.

También se suele configurar X Window: se nos preguntará la tarjeta de vídeo de que disponemos (si es que nuestra distribución no la autodetecta), el tipo de monitor (normalmente habrá que poner uno genérico o Custom si no aparece en la lista y especificar la resolución máxima que soporta), la resolución y número de colores a que deseamos trabajar, etc.

Existe la posibilidad de que nuestra tarjeta no esté soportada por la version de XWindow de la distribución de Linux que estemos instalando. Obviamente, si nuestra tarjeta es de aparición posterior a la version de Linux que instalamos, es difícil que el X Window pueda encontrar un servidor X que permita su manejo. En este caso se suele buscar una distribución más nueva o bien se suele instalar aquella que dispongamos para posteriormente actualizar desde Internet o CDs de revistas los paquetes correspondientes a X Window, con el fin de cambiar la versión antigua por una más nueva. Este proceso es relativamente sencillo en distribuciones con sistemas de paquetes RPM o DEB. También se puede bajar simplemente el ejecutable Servidor Gráfico que soporte a nuestra tarjeta en instalarlo en nuestro sistema sin tener que actualizar el resto de X Window, y es que existen en Internet muchos servidores gráficos experimentales para tarjetas nuevas, de forma que cuando se verifica que estos son totalmente estables son integrados en la siguiente version de XFree86.

Instalación de LILO o GRUB

Este es el paso previo a la primera inicialización del sistema. Consiste en que Linux instala (ya sea en el Master Boot Record o en el sector de arranque de la partición de Linux) una pequeña porción de código (o bien LILO, o GRUB, que son gestores de arranque) que permite que al iniciar el sistema, Linux pueda arrancar, así como cualquier otro de los Sistemas Operativo que tenga instalados. Es recomendable instalar LILO en el MBR (Master Boot Record) porque esto nos permitirá arrancar Linux sin problemas. Ademas si usamos otro sistema operativo, gracias a LILO podrán convivir los 2 en el disco, porque al arrancar un menú nos permitirá elegir en qué S.O. deseamos arrancar (habiendo uno por defecto, todo ello totalmente configurable).

Mucha gente tiene miedo al instalar LILO / GRUB por si luego falla y no le permite volver a arrancar el S.O. que usaba antes o por si no sabe arreglarlo. Nada más lejos de la realidad. Si por ejemplo falla la instalación de LILO (por ejemplo porque Linux haya sido instalado por encima del cilindro 1024, desde donde no se puede arrancar ya el Sistema Operativo), mediante un diskette de arranque de MSDOS, Windows 95 o Windows 98 se puede volver a dejar el MBR (y por tanto el arranque) como estaba. Simplemente hay que arrancar con ese disco de sistema y ejecutar:

    A:> fdisk /mbr

Esto hará desaparecer LILO y pondrá en el MBR el código que había antes, es decir, el que usa Windows o MSDOS para poder arrancar. Linux no desaparecerá de su disco duro, estará correctamente instalado solo que al haber quitado LILO no podrá decirle al sistema que desea arrancar Linux en lugar de MSDOS o Windows. Por supuesto, con loadlin podrá arrancar Linux y reinstalar LILO (simplemente ejecutando lilo -v), y arreglar cualquier fallo que pudiera haber.

En resumen, cuando le decimos al programa de instalación que deseamos instalar LILO en el MBR estamos instalando un pequeño programa que nos permitirá elegir el S.O. con que arrancar. Este programa no tiene el más mínimo peligro porque con un diskette de arranque que tenga el comando fdisk podemos restaurar el viejo gestor de arranque y empezar de nuevo la instalación o arreglarlo a mano si sabemos o nos ayudan (irc, news).



Ya está Linux instalado... ¿y ahora qué?

Una vez instalado Linux en nuestra máquina deberemos aprender a utilizarlo si nunca antes nos habiamos enfrentado a un Linux. Al principio parece (o resulta) complicado, pero cuando se aprende, uno nota que Linux le devuelve el tiempo invertido, ya que obtiene a cambio toda la potencia de su máquina bajo un Sistema Operativo libre, estable, multiusuario, multitarea y de red.

Obviamente, y a menos que nuestra distribución tenga programas de instalación que auto-configure todos los dispositivos, antes de aprender a usar Linux tal vez deberemos configurar el sistema: la impresora, la tarjeta de red, de sonido, etc. Para ello lo más conveniente es leer la documentación y seguir los pasos que ella nos diga para tener todo el sistema funcionando. Probablemente tendremos que recompilar el kernel (núcleo) de Linux para dar soporte al hardware que tengamos instalado, modificar diversos ficheros de configuración, ayudarnos mediante herramientas de autoconfiguración, etc. Con todo ello aprenderemos, de forma que la próxima vez que instalemos un Linux, este proceso nos llevará mucho menos tiempo, y es que durante la configuración de Linux es donde más se aprende sobre el funcionamiento del sistema. No es correcto valorar el funcionamiento de Linux hasta tenerlo total o parcialmente configurado, ya que precisamente esa es la virtud de GNU/Linux: que nuestra máquina de el máximo rendimiento con el mínimo número de recursos. En el caso de Linux el recurso más importante es la memoria (es más importante disponer de gran cantidad de memoria que de un gran procesador), y Linux hace una gran gestión de la misma si tenemos el sistema correctamente configurado (un núcleo adaptado a nuestra máquina, cosa que se consigue recompilándolo, los programas básicos en memoria, etc).

Para realizar esta tarea no estamos solos, dispondremos de toda la documentación generada por gente que ha hecho esto antes que nosotros y que desinteresadamente lo ha redactado para los demás. Esta documentación está en muchos idiomas, entre ellos castellano si le hemos dicho al programa de instalación que instale los HOWTO-Spanish. Estos howto's (también llamados "Como se hace…", o sencillamente COMOS) serán instalados en el directorio

     /usr/doc/HOWTO

Por otra parte, todo programa de Linux viene con documentación, y ésta suele ser instalada en el directorio /usr/doc . Además los programas incorporan páginas man (es decir, ayudas sobre los parámetros/funcionamiento del programa) que se obtienen invocando al programa man seguido del ejecutable del cual queremos obtener información (ejemplo: man ls).

No sólo disponemos de ayuda offline, sino que la propia Red está plagada de páginas, ayudas y tutoriales sobre Linux.

Si disponemos de acceso a las news podemos obtener información sobre Linux, y casi instantánea en los diferentes grupos de noticias que sobre Linux hay en la red de news española (por no hablar de los estupendos grupos que podemos encontrar sobre Linux en inglés), como por ejemplo la jerarquia es.comp.os.linux.*:

     news://es.comp.os.linux.instalacion
     news://es.comp.os.linux.redes
     news://es.comp.os.linux.programacion
     news://es.comp.os.linux.misc

También en el IRC existen canales sobre Linux. En el IRC-HISPANO podemos encontrar canales como #linux, #linux_novatos o #linux_galicia, donde si formulamos nuestras preguntas con educación, y sin usar mayúsculas ni colores, probablemente nos atenderá alguien dispuesto a ayudarnos.

Finalmente, existen también en España muchas listas de correo sobre temas específicos de Linux donde podemos hablar, preguntar y ayudar en lo posible a la expansión de este fantástico S.O.

     Lista Debian:   A partir de http://www.es.debian.org

Como siempre, un consejo antes de preguntar es leer. Antes de preguntar en qué manera se resuelve un determinado problema hay que tratar de resolverlo uno mismo, para aprender y para no caer siempre en las mismas preguntas. FAQs como esta se escriben para evitar preguntas como las que vienen en ella.

Por otra parte, hay miles de páginas y ftps donde obtener las últimas novedades en versiones y programas Linux. Una de las más famosas es Freshmeat, una página que muestra las novedades diarias y enlaza directamente con la página del producto lanzado:

     http://www.freshmeat.net/

Cuando arranque, Linux le pedirá login y password (que se identifique). Inicialmente, el login es root y el password es el que le ha pedido el programa de instalación, pero ya habrá tiempo para crear un usuario con el que trastear… Los comandos básicos para ir funcionando (con los que leer los HOWTOs y documentos disponibles en /usr/doc) son los siguientes (atención a mayúsculas y minúsculas porque Linux distingue entre ambas, y no es lo mismo un fichero "LEEME" que otro de nombre "leeme":

  ls      -> mostrar los contenidos del directorio actual u otro
             especificado. Acepta gran variedad de parámetros
             (-l, -a, -R, --color, etc.).

  dir     -> equivalente de ls.

  cd      -> cambiar directorio (igual que en MSDOS). Para bajar
             un directorio se usa "cd .." con un obligatorio
             espacio entre la orden y el "..".

  less fichero
          -> Permite leer los contenidos de un fichero usando
             las teclas del cursor para desplazarse por él. Se
             sale pulsando la tecla Q.

  zless fichero.gz
          -> Permite leer ficheros de texto comprimidos como si
             no lo estuvieran.

  joe, vi, vim, emacs, jed ...
          -> Son editores de texto, que nos permitirán modificar
             los archivos de configuración del sistema.

  XF86Setup, Xconfigurator o xf86config
          -> Nos permiten configurar el sistema XWindow.

  startx  -> Nos permite lanzar el sistema X Window si éste ha sido
             correctamente configurado. Al lanzarlo, se usará el
             gestor de ventanas (de entre todos los instalados) que
             la distribución que usemos haya puesto por defecto
             (suele ser fvwm95, gnome o KDE).

  man comando
          -> Nos da la página del manual del comando especificado.
             Por ejemplo, "man ls" nos da toda la información
             disponible sobre dicho comando.

  lpr fichero
          -> Si hemos configurado la impresora podremos imprimir
             ficheros de texto o postcript (manuales, etc.)
             mediante lpr.

  adduser usuario
          -> Le permite crear una cuenta para un usuario. Este
             comando creará el directorio /home/usuario, le pedirá
             datos sobre él, y posteriormente podrá cambiar el
             password para el usuario con el comando passwd. Los
             usuarios sólo pueden acceder a los ficheros que
             cuelgan de su directorio personal (/home/usuario),
             de forma que no pueden estropear la configuración
             del sistema. Sólo debe entrar como root para realizar
             labores de instalación y configuración.

 tabulador -> Esta tecla te permite completar automaticamente un 
             nombre de fichero o programa a partir de solo un par 
             de letras.

  mc      -> Es un clon del Comandante Norton. Si lo has instalado
             te ayudará a moverte por los directorios de Linux en
             tus primeros pasos (y también en el futuro, pues
             tiene en sí mismo unas posibilidades infinitas).

Midnight Commander

Ahora simplemente hay que instalar Linux, leer un poco, aprender a configurar el sistema, y a partir de ese momento, comenzar a disfrutar con el ordenador :)


<Volver a la sección de GNU/Linux>