Nociones previas en Linux

Particiones, discos, sistemas de archivos, ...

La interfaz IDE

La forma de comunicarse los discos duros y CD's (lectores, grabadoras, DVDs) con la placa base de un ordenador, es mediante el interfaz IDE. Existe otra alternativa: el interfaz SCSI que ya prácticamente no se usa.

SCSI: es más caro y tiene más prestaciones: más velocidad de transferencia de datos. Además permite conectar más dispositivos (hasta 7 ó 14 en las nuevas versiones). Se solía usar en entornos profesionales, servidores o usuarios exigentes (y adinerados). Hoy en día prácticamente está en desuso.

IDE: Aunque se le siga llamando IDE, en realidad el interfaz que hoy se usa es EIDE (Extended-IDE). Mientras el antiguo IDE sólo permitía un dispositivo, el nuevo EIDE permite dos dispositivos. La interfaz IDE ha ido mejorando a lo largo del tiempo, desde el ATA-33, ATA-66, ATA-100, ATA-133 hasta el S-ATA (es como un ATA-150). Los números 33, 66, .. se refieren a la velocidad de transferencia de datos, que como puedes ver se van incrementando constantemente. Este hecho ha provocado, que la casi totalidad de ordenadores lleven hoy día interfaz IDE, pues la velocidad de transferencia de datos ya es igual o mejor que los SCSI.

La otra ventaja de los SCSI, el poder conectar un mayor número de dispositivos, no la necesita un usuario normal. Ten en cuenta que un ordenador, por muy malo que sea, dispone de dos puertos IDE, a dos dispositivos cada uno, tiene una capacidad de conectar hasta 4 dispositivos (como dispositivos, hablamos de discos duros, lectores de CD-ROM, grabadoras de CD, lectores de DVD, grabadoras de CD, etc.). No piense que si tiene de todo, no va a tener suficiente con 4 conectores, pues lo normal hoy, es que los dispositivos estén integrados, es decir, en un mismo aparato tenemos lector de CD, grabadora y lector de DVD. Además las placas base modernas a veces llevan otros dos puertos IDE especiales (otros 2x2=4 conectores más); incluso, a los ordenadores, antiguos o modernos, se puede poner una tarjeta controladora IDE para ampliar a más dispositivos.

Conclusión: su ordenador dispone de al menos dos puertos IDE (primario y secundario) e incluso es posible que disponga de más IDEs especiales

Los puertos IDE se llaman primario y secundario.

Como en cada puerto puede haber hasta dos dispositivos, para diferenciarlos se les llama Maestro y Esclavo (master y slave).

Por tanto la nomenclatura (en cualquier Sistema Operativo) de los cuatros posibles dispositivos es:

  • maestro en canal primario

  • esclavo en canal primario

  • maestro en canal secundario

  • esclavo en canal secundario

Pero a la hora de "llamar" un programa a uno de estos dispositivos, cada sistema operativo tiene sus propias normas.

En MS-DOS y Windows se suelen llamar con letras (A,B,C,D,E, ..) a estos dispositivos:

Unidad A: primera unidad de disquetes
Unidad B: segunda unidad de disquetes (ya casi no existe ni la primera)
Unidad C: primera unidad de disco duro
Unidad D: primera unidad de CD/DVD
...

En Linux, la nomenclatura a usar es:

dev/fd0	   (disquetera)  
dev/fd1    (si hubiese una segunda disquetera)

dev/hda	   (Disco Duro IDE primario en Maestro)
dev/hdb	   (Disco Duro IDE primario en Esclavo)
dev/hdc	   (Disco Duro IDE secundario en Maestro)
dev/hdd	   (Disco Duro IDE secundario en Esclavo)

Si la placa base tienes algún interfaz IDE especial, se llamaran:
dev/hde
dev/hdf
...

dev/sda	    (Disco Duro SCI uno)
dev/sdb	    (Disco Duro SCI dos)	
...

Particiones

Los discos duros son cada vez más grandes, y se hace necesario "partirlos", es decir, dividir un disco duro en varias particiones, de forma que el ordenador "crea" que hay varios discos duros.

¿Por qué particionar los discos? Al partir un disco no se gana espacio. Si tiene un disco duro de 40 gigas, puede tenerlo partido en dos: por ejemplo uno de 25 gigas y otro de 15.

¿qué ventajas tiene entonces? La ventaja principal es tener los datos mejor ordenados. Por ejemplo, puede tener una partición con el sistema operativo y los programas y otra con sus datos o documentos que genere, de forma que si usa un SO como Windows (donde hay que formatear de vez en cuando) sólo tenga que formatear una partición (la del SO) y mantenga sus datos a salvo (aunque eso es mucho decir en Windows: con los errores de seguridad y virus, la mayoría de usuarios de Windows ha perdido datos en alguna ocasión).

Otra razón por la que a veces "se parte" un disco duro, es para compartirlo entre varios usuarios (suele ser frecuente en SO como Windows, pues en Linux cada usuario tiene su carpeta /home/nombre_de_usuario a la que no pueden acceder los demás).

La principal razón por la que se suelen hacer particiones, en los tiempos que corren, es para instalar varios sistemas operativos, ya que cada SO tiene su sistema de ficheros distinto a los demás. Ejemplos:

  • MS/DOS, Win95 --- sistema de ficheros: FAT

  • Win95 (2ª edición), Win 98, Win Me, etc ... FAT 32 (también pueden leer datos en sistema FAT)

  • Win2000, WinXP, etc ... NTFS (también pueden leer datos en sistema FAT y FAT32)

  • Linux --- sistema de ficheros ext2, ext3, .. (también puede leer datos en FAT, FAT32 y NTFS)

Como puede observar, con Linux puede ver los datos de Windows, pero Windows sólo es capaz de leer sus propios datos.

Volviendo al tema de las particiones, ¿puedo hacer todas las particiones que quiera en un disco duro? NO y Sí

Existen varios tipos de particiones:

  • Primarias: como máximo 4

  • Extendidas: como máximo 1 (en este caso, primarias como máximo 3)

  • Lógicas: casi todas las que queramos (dentro de una extendida)

La nomenclatura para las particiones es, en Windows:

Si tenemos un disco duro (C) y un lector de CD-ROM (D) y partimos el disco duro en dos, entonces llamará (C) la primera partición (D) la segunda partición y (E) el lector de CD

Nomenclatura de las particiones en Linux (par un disco IDE primario-maestro):

/dev/hda1       1ª partición primaria
/dev/hda2       2ª partición primaria
/dev/hda3       3ª partición primaria
/dev/hda4       4ª partición primaria ó partición extendida
------- hasta hda4 tanto primarias como extendidas -------
/dev/hda5	1ª partición lógica
/dev/hda6	2ª partición lógica
...

Observe que las particiones lógicas empiezan desde 5 en adelante.

La ventaja de Linux, es evidente, siempre sabrá si está hablando del primer disco duro, del segundo, etc.. Sabrá si es una partición primaria o lógica. En Windows la letra (E) puede significar un CD-ROM, un disco duro, una partición de un disco duro, un disco USB, etc ...

En Linux, el nombre de cualquier dispositivo empieza por /dev/

Otros dispostivos en Linux:

/dev/eth0	tarjeta de red
/dev/ttyS0	purto serie COM1    	(no se pueden usar simultáneamente 1 y 3
/dev/ttyS1	purto serie COM2	 ni tampoco 2 y 4)
/dev/ttyS2	puerto serie COM3
/dev/ttyS3	puerto serie COM4

/dev/psaux	purto de ratón PS/2

/dev/lp0	puerto paralelo 1

Sistema de archivos y carpetas Linux

Nombre de los archivos

A la hora de poner nombre a los archivos o carpetas, desde MS-DOS (8+3 caracteres) hasta WinXP (un número mayor de caracteres, aunque no se puede usar cualquier carácter), el SO de los virus ha mejorado bastante.

Sin embargo en Linux, las reglas son las mismas que a principios de los 90:

  • Sin limitación de número de caracteres

  • No necesitan extensión

  • Se puede usar cualquier carácter

Arbol de carpetas

En Windows, de cada unidad (A, C, D, ..) sale un árbol de directorios, que difiere siempre de una unidad a otra, o de un usuario a otro. Hay libertad para poner las carpetas y subcarpetas que quiera (aunque Windows tiene limitado el nº de archivos o carpetas, el nº de caracteres del nombre de un archivo o carpeta, el nº de niveles de subcarpetas, ... ).

En Linux, sin embargo, hay un sólo árbol (llamado raíz "/") del que cuelgan todos los ficheros o carpetas y los dispositivos (discos duros, particiones, CD-ROM, ratón, ...). En realidad, en Linux todo son ficheros, es decir, mientras que en Windows un periférico (un ratón por ejemplo) es un dispositivo, en Linux un ratón es un fichero llamado /dev/psaux, es decir un fichero "psaux" que está en la carpeta "dev" (la cual cuelga del directorio raiz "/").

Aunque en Linux puede poner las carpetas que quiera, suelen haber unas carpetas especiales con unos nombres predeterminados, de forma que nos sea más fácil encontrar.

Por ejemplo los dispositivos están en la carpeta /dev; los datos o documentos creados por los usuarios se suelen colgar de la carpeta /home/nombre_de_usuario. Le recuerdo que Linux es un sistema "realmente multiusuario", es decir, que lo pueden usar varios usuarios simultáneamente (no "uno cada vez" como en Windows).

Un sistema clásico de ficheros en Linux es por ejemplo:

/bin
/boot
/dev
/home
/initrd
/lib
/mnt
/proc
/root
/sbin
/tmp
/usr
/var

Estas son las carpetas más importantes de Linux (aunque hay más).