Está en la página 1de 25

SISTEMA OPERATIVO UNIX:

finales de la dcada de 1960, el Instituto Tecnolgico de Massachusetts, los Laboratorios


Bell de AT&T y General Electric trabajaban en un sistema operativo experimental
llamado Multics (Multiplexed Information and Computing Service),4 desarrollado para ejecutarse
en una computadora central (mainframe) modelo GE-645. El objetivo del proyecto era
desarrollar un gran sistema operativo interactivo que contase con muchas innovaciones, entre
ellas mejoras en las polticas de seguridad.

Uno de los programadores de los laboratorios Bell, Ken Thompson, sigui trabajando para la
computadora GE-6355 y escribi un juego llamado Space Travel,6 7 (Viaje espacial). Sin
embargo, descubri que el juego era lento en la mquina de General Electric y resultaba
realmente caro, algo as como 75 dlares de EE.UU. por cada partida.

Fue as como por vez primera, en 1970, se habla oficialmente del sistema operativo
UNIX11ejecutado en una PDP-11/20. Se inclua en l un programa para dar formato a textos
(runoff) y un editor de texto. Tanto el sistema operativo como los programas fueron escritos en
el lenguaje ensamblador de la PDP-11/20. Este "sistema de procesamiento de texto" inicial,
compuesto tanto por el sistema operativo como de runoff y el editor de texto, fue utilizado en los
laboratorios Bell para procesar las solicitudes de patentes que ellos reciban. Pronto, runoff
evolucion hasta convertirse en troff, el primer programa de edicin electrnica que permita
realizar composicin tipogrfica. El 3 de noviembre de 1971 Thomson y Ritchie publicaron un
manual de programacin de UNIX (ttulo original en ingls: "UNIX Programmer's Manual"). 12

En 1972 se tom la decisin de escribir nuevamente UNIX, pero esta vez en el lenguaje de
programacin C.13 Este cambio significaba que UNIX podra ser fcilmente modificado para
funcionar en otras computadoras (de esta manera, se volva portable) y as otras variaciones
podan ser desarrolladas por otros programadores. Ahora, el cdigo era ms conciso y
compacto, lo que se tradujo en un aumento en la velocidad de desarrollo de UNIX. AT&T puso
a UNIX a disposicin de universidades y compaas, tambin al gobierno de los Estados
Unidos, a travs de licencias.

Una de estas licencias fue otorgada al Departamento de Computacin de la Universidad de


California, con sede en Berkeley.14En 1975 esta institucin desarroll y public su propio
sucedneo de UNIX, conocida como Berkeley Software Distribution (BSD), que se convirti en
una fuerte competencia para la familia UNIX de AT&T.

Mientras tanto, AT&T cre una divisin comercial denominada Unix Systems Laboratories para
la explotacin comercial del sistema operativo. El desarrollo prosigui, con la entrega de las
versiones 4, 5 y 615 en el transcurso de 1975. Estas versiones incluan los pipes o tuberas, lo
que permiti dar al desarrollo una orientacin modular respecto a la base del cdigo,
consiguiendo aumentar an ms la velocidad de desarrollo. Ya en 1978, cerca de 600 o ms
mquinas estaban ejecutndose con alguna de las distintas encarnaciones de UNIX.

la ltima versin del UNIX original con amplia distribucin, entr en circulacin en 1979. Las
versiones 8, 9 y 1015 se desarrollaron durante la dcada de 1980, pero su circulacin se limit a
unas cuantas universidades, a pesar de que se publicaron los informes que describan el nuevo
trabajo. Los resultados de esta investigacin sirvieron de base para la creacin de Plan 9 from
Bell Labs, un nuevo sistema operativo portable y distribuido, diseado para ser el sucesor de
UNIX en investigacin por los Laboratorios Bell.

La primera versin del sistema III se lanz en 1981.15 A pesar de lo anterior, la empresa
subsidiaria Western Electric segua vendiendo versiones antiguas de Unix basadas en las
distintas versiones hasta la sptima. Para finalizar con la confusin con todas las versiones
divergentes, AT&T decidi combinar varias versiones desarrolladas en distintas universidades y
empresas, dando origen en 1983 al Unix System V Release 1.15 Esta versin present
caractersticas tales como el editor Vi y la biblioteca curses, desarrolladas por Berkeley
Software Distribution en la Universidad de California, Berkeley. Tambin contaba con
compatibilidad con las mquinas VAX de la compaa DEC.

Hacia 1991, un estudiante de ciencias de la computacin de la Universidad de Helsinki,


llamado Linus Torvalds desarroll un ncleo para computadoras con
arquitectura x86 de Intel que emulaba muchas de las funcionalidades de UNIX y lo lanz en
forma de cdigo abierto en 1991, bajo el nombre de Linux. En 1992, el Proyecto GNU comenz
a utilizar el ncleo Linux junto a sus programas.

En 1993, la compaa Novell adquiri la divisin Unix Systems Laboratories de AT&T junto con
su propiedad intelectual.16 Esto ocurri en un momento delicado en el que Unix Systems
Laboratories disputaba una demanda en los tribunales contra BSD por infraccin de los
derechos de copyright, revelacin de secretos y violacin de marca de mercado. 17

A finales de 1993, Novell vendi su divisin UNIX comercial16 (es decir, la antigua Unix Systems
Laboratories) a Santa Cruz Operation (SCO) reservndose, aparentemente, algunos derechos
de propiedad intelectual sobre el software.18Xinuos (antes UnXis) contina la comercializacin
de System V en su producto UnixWare tras adquirir a SCO en abril de 2011.

La marca[editar]

UNIX es una marca registrada de Novell, despus de una disputa con The Open Group en
Estados Unidos y otros pases. Esta marca solo se puede aplicar a los sistemas operativos que
cumplen la "Single Unix Specification" de esta organizacin y han pagado las regalas
establecidas.

En la prctica, el trmino UNIX se utiliza en su acepcin de familia. Se aplica tambin a


sistemas multiusuario basados en POSIX (tales como GNU/Linux, Mac OS X [el cual, en su
versin 10.5 ya ha alcanzado la certificacin UNIX], FreeBSD, NetBSD, OpenBSD), los cuales
no buscan la certificacin UNIX por resultar cara para productos destinados al consumidor final
o que se distribuyen libremente en Internet. En estos casos, el trmino se suele escribir como
"UN*X", "UNIX*", "*NIX", o "*N?X". Para referirse a ellos (tanto a Unix, como a los sistema
basados en Unix/POSIX) tambin se utiliza "Unixes", pero "Unices" (que trata la
palabra Unix como un nombre latino de la tercera declinacin) es asimismo popular.

Sistema operativo Linux:

GNU/Linux es uno de los trminos empleados para referirse a la combinacin del ncleo
o kernel libre similar a Unix denominado Linux con el sistema operativo GNU. Su desarrollo es
uno de los ejemplos ms prominentes de software libre; todo su cdigo fuente puede ser
utilizado, modificado y redistribuido libremente por cualquiera bajo los trminos de la GPL
(Licencia Pblica General de GNU,) y otra serie de licencias libres.1

A pesar de que "Linux" se denomina en la jerga cotidiana al sistema operativo,2 3 este es en


realidad solo el Kernel (ncleo) del sistema. La verdadera denominacin del sistema
operativo es "GNU/Linux" debido a que el resto del sistema (la parte fundamental de la
interaccin entre el hardware y el usuario) se maneja con las herramientas del proyecto GNU
(www.gnu.org) y con entornos de escritorio (como GNOME), que tambin forma parte del
proyecto GNU aunque tuvo un origen independiente. Como el Proyecto GNU destaca,4 GNU es
una distribucin, usndose el trmino sistema operativo en el sentido empleado en el
ecosistema Unix, lo que en cualquier caso significa que Linux es solo una pieza ms dentro de
GNU/Linux. Sin embargo, una parte significativa de la comunidad, as como muchos medios
generales y especializados, prefieren utilizar el trmino Linux para referirse a la unin de ambos
proyectos.

Requerimientos de hardware linux:

Hardware requerido:

Linux no requiere de un equipo de ltima generacin para su configuracin mnima. Slo


requiere de:

un procesador 386SX o superior


4 MB de RAM (se recomienda tener 8 MB)
un controlador de disco duro y un disco duro con 20 MB de espacio libre (se
recomienda tener 100 MB)
(en la prctica, Linux se puede ejecutar desde un simple disquete)
una unidad de CD-ROM
Con respecto a dispositivos perifricos anexos, es mucho ms probable que Linux admita los
componentes de hardware comnmente disponibles en el mercado.

Requisitos previos:

Linux se puede instalar junto con el sistema operativo ya instalado en su equipo.


Antes de iniciar la instalacin, asegrese de que el sistema de archivos no tenga ningn error.
Para esto, utilice un programa como scandisk o chkdsk para verificar la integridad del disco, ya
que Linux utiliza un disco mucho ms fuerte que el DOS, por ejemplo.

Etapas de la instalacin:

Linux se instala en varios pasos, lo que permite implementar un sistema de archivos que Linux
reconozca (ext2fs) en una o diversas particiones dedicadas y despus proceder con la
instalacin misma. Para configurar un nodo previo al inicio del sistema desde el disco, los
pasos a seguir son los siguientes:

Creacin de disquetes de arranque


Inicio del sistema desde el disquete
Creacin de la particin principal del disco duro
Creacin de la particin swap Creacin del sistema de archivos
Creacin del sistema de archivos
Instalacin de Linux
Configuracin del ncleo
Reinicio del sistema

Cmo crear los discos boot y root:

Los disquetes que permiten el arranque del sistema en Linux con un ncleo mnimo permiten la
instalacin de Linux. Estos disquetes se crearn mediante un programa que permite copiar
archivos de imgenes (todos los archivos que se colocarn en el disquete) en un disquete.
Existen dos disquetes de este tipo:

disco boot: contiene un ncleo Linux que permite que el sistema se inicie
disco root contiene el programa de instalacin
El archivo de imagen que se elegir en cada caso depende de la configuracin de su sistema y
se denominar:

scsi, en el caso de una unidad de CD-ROM SCSI


sbpcd, en el caso de una unidad de CD-ROM Panasonic conectada a una unidad
Sound Blaster Pro
nec260, en el caso de una unidad de CD-ROM Nec 260
Mitsumi, en el caso de una unidad de CD-ROM Mitsumi
cdu31a, en el caso de una unidad de CD-ROM Sony CDU31 o CDU33a
cdu535, en el caso de una unidad de CD-ROM Sony CDU531 o CDU535
Para ambos archivos de imagen (boot y root), slo necesita ir al directorio que contiene el
archivo de imagen adecuado e introducir "\rawrite". Despus el programa le pedir el nombre
del archivo de imagen (por ejemplo, scsi para el archivo de imagen del disquete boot) y, a
continuacin, la unidad (a:).

Podr eventualmente crear un disquete adicional para uso posterior (por ejemplo, si tiene
pensado comprar una tarjeta SCSI porque tiene una unidad CD-ROM IDE).

Cmo arrancar el sistema desde el disquete boot

Una vez que se crearon los disquetes, reinicie el equipo despus de ubicar el disquete en la
unidad a:
Despus de la insercin de algunos mensajes, el sistema mostrar la lnea: "boot:". Para
continuar, pulse enter.
A continuacin, el sistema le pedir el disqueteroot.

Cmo crear particiones:

Para poder usar Linux, debe crear una particin (preferentemente superior a 900 MB para
poder instalar todas las opciones) con el sistema de archivos "Linux Ext2" y (de manera
opcional) una particin swap (memoria virtual, es decir, una parte del disco que se utiliza
cuando falta una memoria activa) con un tamao de varios MB.

Puede optar por crear otras particiones que se dediquen a un tipo especial de datos. Por
ejemplo, una particin para sus documentos, otra para las utilidades, etc.

Existen diferentes formas de crear particiones:

En un sistema operativo Microsoft, previo al inicio del sistema con el disquete boot:
En Windows 9x, el software Partition Magic 4 permite crear particiones swap
y ext2fs muy fcilmente sin perder datos del disco.
En MS-DOS, utilice el software fdisk que se proporciona de manera
predeterminada. ste es ms ergonmico que el software que suministra
Linux, el cual posee el mismo nombre.
Tenga en cuenta la existencia de una utilidad DOS llamada fips, la cual
permite llevar a cabo operaciones no destructivas en particiones.
En Linux, despus del inicio exitoso del sistema. El procedimiento de instalacin vara
segn la distribucin:
Con las distribuciones del tipo Slackware, debe introducir los comandos
manualmente, es decir que debe realizar sucesivamente la particin,
formatear, crear el sistema de archivos y realizar la instalacin.
En el caso de las distribuciones del tipo Red Hat, estas operaciones estn
automatizadas y se deben responder preguntas.

Una vez creadas las particiones, sin duda se le pedir el tipo de las dos particiones previas.
Estos son:

tipo 82 para la memoria secundaria


tipo 83 para la particin principal

La particin principal debe ubicarse en el intervalo del disco comprendido


entre el primer cilindro y el 1023ero.
Anote el tamao (en nmero de bloques) de la particin principal y la
particin swap en un papel para consultarlo en el futuro.

Creacin del sistema de archivos:

En ciertas distribuciones, se le pedir que cree un sistema de archivos antes de iniciar la


instalacin (esto no ocurre en distribuciones como Red Hat 5.2 y Mandrake 6.0, en las que las
siguientes operaciones son mens automatizados
Una vez que cre la particin principal y la particin de la memoria secundaria (particin swap),
active la memoria secundaria y cree el sistema de archivos de la particin principal.

La memoria secundaria se activa con el siguiente comando:

mkswap c particin tamao

Por ejemplo, para una memoria secundaria que use 10.000 bloques, en la segunda particin
del segundo disco (hdb2), el comando sera el siguiente:

mkswap c /dev/hdb2 11000

Utilice el comando swapon para activar esta particin

Utilice el siguiente comando para crear el sistema de archivos ext2fs:

mke2fs -c particin tamao

Por ejemplo:

mke2fs -c /dev/hda2 202137


Organizacin de Linux:

Uno de los aspectos que ms suele costar a aquellos que estn aprendiendo Linux es
enfrentarse al sistema de organizacin de archivos. La estructura de archivos en Linux es ms
organizada y estricta que en otros sistemas, lo que puede ser intimidante para los nuevos
usuarios. Adems los nombres de directorios del sistema son abreviaciones por lo que, al
principio, resultan menos descriptivos e intuitivos que Windows.

En esta entrada vamos a describirla el objeto y funcionalidad de las distintas carpetas que
integran el sistema de archivos de Linux. El siguiente esquema muestra el resumen de la
estructura de archivos (pulsar para agrandar).

/ (raz): Jerarqua primaria. Directorio raz (todos los dems directorios cuelgan de este)

/boot (arranque): Archivos fundamentales cargados en el arranque (Grub, Kernel, initrd).

/bin (binarios): Aplicaciones binarias y comandos esenciales, necesarias para sesiones


usuario nico o multiusuario.

/sbin (binarios de sistema): Aplicaciones de binarios y comandos de sistema, exclusivos del


usuario root.

/etc: Ficheros de configuracin de los programas instalados, as como ciertos scripts que se
ejecutan en el inicio del sistema.
/etc/opt: Ficheros de configuracin para programas instalados dentro del directorio /opt.
/etc/X11: Ficheros de configuracin para el X Window System, versin 11.
/etc/sgml: Ficheros de configuracin para SGML.
/etc/xml: Ficheros de configuracin para XML.

/usr (usuario): Jerarqua secundaria. Utilidades y aplicaciones compartidos por todos los
usuarios (slo lectura).
/usr/local: Jerarqua terciaria. Datos locales del usuario.
/usr/share: Ficheros compartidos independientes de arquitectura (ficheros de configuracin,
imgenes, iconos)
/usr/bin: Ejecutables no administrativos compartidos por los usuarios. Contiene la mayora
de aplicaciones de escritorio (por ejemplo firefox).
/usr/sbin: Sistema de binarios no esenciales (por ejemplo demonios para servicios de red).
/usr/include: Ficheros de cabecera para C y C++.
/usr/lib: Bibliotecas para C y C++ compartidas por todos los usuarios.
/usr/src: Cdigos fuente de ciertas aplicaciones.

/var (variable): Ficheros variables y archivos temporales en general.


/var/cache: Memoria cach de las aplicaciones.
/var/crash: Datos e informacin referentes a las cadas y errores del sistema.
/var/lib: Informacin sobre el estado actual de las aplicaciones, modificable por las propias
aplicaciones.
/var/lock: Archivos lock, bloquean recursos compartidos mientras estn en uso.
/var/opt: Datos variables utilizados por los paquetes almacenados en /opt.
/var/run: Informacin sobre el sistema desde el ltimo arranque.
/var/tmp: Archivos temporales (no se borran entre sesiones o reinicios del sistema)
/var/spool: Tareas a la espera de ser procesados (colas de impresin y correo no ledo).
/var/log: Archivos de registro de sistema.
/var/mail: Buzn correos o mensajes de los usuarios.

/root (superusuario): Directorio raz del usuario root.

/tmp (temporales): Archivos temporales (se borra al iniciar el sistema).

/dev (dispositivos): Contiene archivos que representan todos los dispositivos del sistema.
/home (hogar): Directorios de trabajo de todos los usuarios, excepto el root (ajustes
personales, archivos guardados )

/lib (bibliotecas): Bibliotecas del sistema, as como mdulos y controladores.

/mnt (montajes): Sistema de archivos montados temporalmente.

/media (medios): Puntos de montaje de los medios extrables de almacenamiento (USB,


disqueteras, CD/DVD y particiones adicionales).

/opt (opcionales): Paquetes de programas opcionales para aplicaciones compartidas entre los
usuarios.

/lost+found (perdido y encontrado): Informacin relativa a reparaciones realizadas por fsck


debido a un cierre indebido del sistema.

/proc (procesos): Sistema de archivos virtuales que documentan al ncleo y el estado de los
procesos en archivos de texto.

/srv (servicios): Informacin del sistema sobre ciertos servicios (FTP, HTTP).

/sys (sistema): Informacin sobre los dispositivos tal y como los ve el kernel Linux.

Sistema de archivos Linux:

Qu son los sistemas de archivos?


Un sistema de archivos son los mtodos y estructuras de datos que un sistema operativo utiliza
para seguir la pista de los archivos de un disco o particin; es decir, es la manera en la que se
organizan los archivos en el disco. El trmino tambin es utilizado para referirse a una particin
o disco que se est utilizando para almacenamiento, o el tipo del sistema de archivos que
utiliza. As uno puede decir tengo dos sistemas de archivo refirindose a que tiene dos
particiones en las que almacenar archivos, o que uno utiliza el sistema de archivos extendido,
refirindose al tipo del sistema de archivos.

La diferencia entre un disco o particin y el sistema de archivos que contiene es importante.


Unos pocos programas (incluyendo, razonablemente, aquellos que crean sistemas de archivos)
trabajan directamente en los sectores crudos del disco o particin; si hay un archivo de sistema
existente all ser destruido o corrompido severamente. La mayora de programas trabajan
sobre un sistema de archivos, y por lo tanto no utilizarn una particin que no contenga uno (o
que contenga uno del tipo equivocado).

Antes de que una particin o disco sea utilizada como un sistema de archivos, necesita ser
iniciada, y las estructura de datos necesitan escribirse al disco. Este proceso se
denomina construir un sistema de archivos.

La mayora de los sistema de archivos UNIX tienen una estructura general parecida, aunque
los detalles exactos pueden variar un poco. Los conceptos centrales son superbloque, nodo-
i, bloque de datos, bloque de directorio, y bloque de indireccin. El superbloque tiene
informacin del sistema de archivos en conjunto, como su tamao (la informacin precisa aqu
depende del sistema de archivos). Un nodo-i tiene toda la informacin de un archivo, salvo su
nombre. El nombre se almacena en el directorio, junto con el nmero de nodo-i. Una entrada de
directorio consiste en un nombre de archivo y el nmero de nodo-i que representa al archivo. El
nodo-i contiene los nmeros de varios bloques de datos, que se utilizan para almacenar los
datos en el archivo. Slo hay espacio para unos pocos nmeros de bloques de datos en el
nodo-i; en cualquier caso, si se necesitan ms, ms espacio para punteros a los bloques de
datos son colocados de forma dinmica. Estos bloques colocados dinmicamente son bloques
indirectos; el nombre indica que para encontrar el bloque de datos, primero hay que encontrar
su nmero en un bloque indirecto.

Los sistemas de archivos UNIX generalmente nos permiten crear un agujero en un archivo
(esto se realiza con la llamada al sistema lseek(); compruebe su pgina de manual), lo que
significa que el sistema de archivos simplemente intenta que en un lugar determinado en el
archivo haya justamente cero bytes, pero no existan sectores del disco reservados para ese
lugar en el archivo (esto significa que el archivo utilizar un poco menos de espacio en disco).
Esto ocurre frecuentemente en especial para pequeos binarios, libreras compartidas de
Linux, algunas bases de datos, y algunos pocos casos especiales. (los agujeros se
implementan almacenando un valor especial en la direccin del bloque de datos en el bloque
indirecto o en el nodo-i. Esta direccin especial indica que ningn bloque de datos est
localizado para esa parte del archivo, y por lo tanto, existe un agujero en el archivo).

Sistemas de archivos soportados por Linux


Linux soporta una gran cantidad de tipos diferentes de sistemas de archivos. Para nuestros
propsitos los ms importantes son:

minix

El ms antiguo y supuestamente el ms fiable, pero muy limitado en caractersticas


(algunas marcas de tiempo se pierden, 30 caracteres de longitud mxima para los
nombres de los archivos) y restringido en capacidad (como mucho 64 MB de tamao
por sistema de archivos).

xia

Una versin modificada del sistema de archivos minix que eleva los lmites de nombres
de archivos y tamao del sistema de archivos, pero por otro lado no introduce
caractersticas nuevas. No es muy popular, pero se ha verificado que funciona muy
bien.

ext3

El sistema de archivos ext3 posee todas las propiedades del sistema de archivos ext2.
La diferencia es que se ha aadido una bitcora (journaling). Esto mejora el
rendimiento y el tiempo de recuperacin en el caso de una cada del sistema. Se ha
vuelto ms popular que el ext2.

ext2

El ms sistema de archivos nativo Linux que posee la mayor cantidad de


caractersticas. Est diseado para ser compatible con diseos futuros, as que las
nuevas versiones del cdigo del sistema de archivos no necesitar rehacer los
sistemas de archivos existentes.

ext

Una versin antigua de ext2 que no es compatible en el futuro. Casi nunca se utiliza en
instalaciones nuevas, y la mayora de la gente que lo utilizaba han migrado sus
sistemas de archivos al tipo ext2.

reiserfs
Un sistema de archivos ms robusto. Se utiliza una bitcora que provoca que la
prdida de datos sea menos frecuente. La bitcora es un mecanismo que lleva un
registro por cada transaccin que se va a realizar, o que ha sido realizada. Esto permite
al sistema de archivos reconstruirse por s slo fcilmente tras un dao ocasionado, por
ejemplo, por cierres del sistema inadecuados.

Adicionalmente, existe soporte para sistemas de archivos adicionales ajenos, para facilitar el
intercambio de archivos con otros sistemas operativos. Estos sistemas de archivos ajenos
funcionan exactamente como los propios, excepto que pueden carecer de caractersticas
usuales UNIX , o tienen curiosas limitaciones, u otros inconvenientes.

msdos

Compatibilidad con el sistema de archivos FAT de MS-DOS (y OS/2 y Windows NT).

umsdos

Extiende el dispositivo de sistema de archivos msdos en Linux para obtener nombres


de archivo largos, propietarios, permisos, enlaces, y archivos de dispositivo. Esto
permite que un sistema de archivos msdos normal pueda utilizarse como si fuera de
Linux, eliminando por tanto la necesidad de una particin independiente para Linux.

vfat

Esta es una extensin del sistema de archivos FAT conocida como FAT32. Soporta
tamaos de discos mayores que FAT. La mayora de discos con MS Windows son vfat.

iso9660

El sistema de archivos estndar del CD-ROM; la extensin popular Rock Ridge del
estndar del CD-ROM que permite nombres de archivo ms largos se soporta de forma
automtica.

nfs

Un sistema de archivos de red que permite compartir un sistema de archivos entre


varios ordenadores para permitir fcil acceso a los archivos de todos ellos.

smbfs

Un sistema de archivos que permite compartir un sistema de archivos con un


ordenador MS Windows. Es compatible con los protocolos para compartir archivos de
Windows.

hpfs

El sistema de archivos de OS/2.

sysv

EL sistema de archivos de Xenix, Coherent y SystemV/386..

La eleccin del sistema de archivos a utilizar depende de la situacin. Si la compatibilidad o


alguna otra razn hace necesario uno de los sistemas de archivos no nativos, entonces hay
que utilizar se. Si se puede elegir libremente, entonces lo ms inteligente sera utilizar ext3,
puesto que tiene todas las caractersticas de ext2, y es un sistema de archivos con bitcora.

Existe tambin el sistema de archivos proc, generalmente accesible desde el directorio /proc,
que en realidad no es un sistema de archivos, an cuando lo parece. El sistema de archivos
proc facilita acceder a ciertas estructura de datos del ncleo, como la lista de procesos (de ah
el nombre). Hace que estas estructuras de datos parezcan un sistema de archivos, y que el
sistema de archivos pueda ser manipulado con las herramientas de archivos habituales. Por
ejemplo, para obtener una lista de todos los procesos se puede utilizar el comando

$ ls -l /proc
total 0
dr-xr-xr-x 4 root root 0 Jan 31 20:37 1
dr-xr-xr-x 4 liw users 0 Jan 31 20:37 63
dr-xr-xr-x 4 liw users 0 Jan 31 20:37 94
dr-xr-xr-x 4 liw users 0 Jan 31 20:37 95
dr-xr-xr-x 4 root users 0 Jan 31 20:37 98
dr-xr-xr-x 4 liw users 0 Jan 31 20:37 99
-r--r--r-- 1 root root 0 Jan 31 20:37 devices
-r--r--r-- 1 root root 0 Jan 31 20:37 dma
-r--r--r-- 1 root root 0 Jan 31 20:37 filesystems
-r--r--r-- 1 root root 0 Jan 31 20:37 interrupts
-r-------- 1 root root 8654848 Jan 31 20:37 kcore
-r--r--r-- 1 root root 0 Jan 31 11:50 kmsg
-r--r--r-- 1 root root 0 Jan 31 20:37 ksyms
-r--r--r-- 1 root root 0 Jan 31 11:51 loadavg
-r--r--r-- 1 root root 0 Jan 31 20:37 meminfo
-r--r--r-- 1 root root 0 Jan 31 20:37 modules
dr-xr-xr-x 2 root root 0 Jan 31 20:37 net
dr-xr-xr-x 4 root root 0 Jan 31 20:37 self
-r--r--r-- 1 root root 0 Jan 31 20:37 stat
-r--r--r-- 1 root root 0 Jan 31 20:37 uptime
-r--r--r-- 1 root root 0 Jan 31 20:37
version
$
(Puede haber no obstante algunos archivos adicionales que no correspondan con ningn
proceso. El ejemplo anterior se ha recortado.)

Tenga en cuenta que aunque se llame sistema de archivos, ninguna parte del sistema de
archivos proc toca el disco. Existe tan slo en la imaginacin del ncleo. Cuando alguien
intenta echar un vistazo a alguna parte del sistema de archivos proc, el ncleo hace que
parezca como si esa parte existiera en alguna parte, aunque no lo haga. As, aunque exista un
archivo /proc/kcore de muchos megabytes, no quita espacio del disco.

Qu sistemas de archivos deben utilizarse?


Existe generalmente poca ventaja en utilizar muchos sistemas de archivos distintos.
Actualmente, el ms popular sistema de archivos es ext3, debido a que es un sistema de
archivos con bitcora. Hoy en da es la opcin ms inteligente. Reiserfs es otra eleccin
popular porque tambin posee bitcora. Dependiendo de la sobrecarga del listado de
estructuras, velocidad, fiabilidad (percibible), compatibilidad, y otras varias razones, puede ser
aconsejable utilizar otro sistema de archivos. Estas necesidades deben decidirse en base a
cada caso.

Un sistema de archivos que utiliza bitcora se denomina sistema de archivos con bitcora. Un
sistema de archivos con bitcora mantiene un diario, la bitcora, de lo que ha ocurrido en el
sistema de archivos. Cuando sobreviene una cada del sistema, o su hijo de dos aos pulsa el
botn de apagado como el mo adora hacer, un sistema de archivos con bitcora se disea
para utilizar los diarios del sistema de archivos para recuperar datos perdidos o no guardados.
Esto reduce la prdida de datos y se convertir en una caracterstica estndar en los sistemas
de archivos de Linux. De cualquier modo, no extraiga una falsa sensacin de seguridad de
esto. Como todo en esta vida, puede haber errores. Procure siempre guardar sus datos para
prevenir emergencias.

Crear un sistema de archivos


Un sistema de archivos se crea, esto es, se inicia, con el comando mkfs. Existen en realidad
programas separados para cada tipo de sistemas de archivos. mkfs es nicamente una careta
que ejecuta el programa apropiado dependiendo del tipo de sistemas de archivos deseado. El
tipo se selecciona con la opcin -t fstype.

Los programas a los que -t fstype llama tienen lneas de comando ligeramente diferentes. Las
opciones ms comunes e importantes se resumen ms abajo; vea las pginas de manual para
ms informacin.

-t fstype

Selecciona el tipo de sistema de archivos.

-c

Busca bloques defectuosos e inicia la lista de bloques defectuosos en consonancia.

-l filename

Lee la lista inicial de bloques defectuosos del archivo dado.

Para crear un sistema de archivos ext2 en un disquete, se pueden introducir los siguiente
comandos:

$ fdformat -n /dev/fd0H1440
Double-sided, 80 tracks, 18 sec/track. Total capacity
1440 kB.
Formatting ... done
$ badblocks /dev/fd0H1440 1440 $>$
bad-blocks
$ mkfs -t ext2 -l bad-blocks
/dev/fd0H1440
mke2fs 0.5a, 5-Apr-94 for EXT2 FS 0.5, 94/03/10
360 inodes, 1440 blocks
72 blocks (5.00%) reserved for the super user
First data block=1
Block size=1024 (log=0)
Fragment size=1024 (log=0)
1 block group
8192 blocks per group, 8192 fragments per group
360 inodes per group

Writing inode tables: done


Writing superblocks and filesystem accounting information:
done
$
Primero el disquete es formateado (la opcin -n impide la validacin, esto es, la comprobacin
de bloques defectuosos). A continuacin se buscan los bloques defectuosos
mediante badblocks, con la salida redirigida a un archivo, bad-blocks. Finalmente, se crea el
sistema de archivos con la lista de bloques defectuosos iniciada con lo que hubiera
encontrado badblocks.

La opcin -c podra haberse utilizado con mkfs en lugar de badblocks y un archivo a parte. El
ejemplo siguiente hace esto.

$ mkfs -t ext2 -c
/dev/fd0H1440
mke2fs 0.5a, 5-Apr-94 for EXT2 FS 0.5, 94/03/10
360 inodes, 1440 blocks
72 blocks (5.00%) reserved for the super user
First data block=1
Block size=1024 (log=0)
Fragment size=1024 (log=0)
1 block group
8192 blocks per group, 8192 fragments per group
360 inodes per group

Checking for bad blocks (read-only test): done


Writing inode tables: done
Writing superblocks and filesystem accounting information:
done
$
La opcin -c es ms conveniente que la utilizacin a parte de badblocks, pero badblocks se
necesita para comprobar el sistema de archivos una vez creado.

El proceso para preparar sistemas de archivos en discos duros o particiones es le mismo que
para los disquetes, excepto que no es necesario el formateo.

Montar y desmontar
Antes de que se pueda utilizar un sistema de archivos, debe ser montado. El sistema operativo
realiza entonces operaciones de mantenimiento para asegurarse que todo funciona. Como
todos los archivos en UNIX estn en un mismo rbol de directorios, la operacin de montaje
provocar que el contenido del nuevo sistema de archivos aparezca como el contenido de un
subdirectorio existente en algn sistema de archivos ya montado.

Por ejemplo, la Figura 6.4, Tres sistemas de archivos independientes. muestra tres sistemas
de archivos independientes, cada uno de ellos con su propio directorio raz. Cuando se montan
los dos ltimos sistemas de archivos bajo /home y /usr respectivamente, en el primer sistema
de archivos, obtenemos un nico rbol de directorios, como se observa en la Figura 6.5,
/home y /usr montados..

Figura 6.4. Tres sistemas de archivos independientes.

Figura 6.5. /home y /usr montados.


El montaje puede realizarse como en el siguiente ejemplo:

$ mount /dev/hda2 /home


$ mount /dev/hda3 /usr
$
El comando mount tiene dos argumentos. El primero es el archivo de dispositivo
correspondiente al disco o particin que contiene el sistema de archivos. El segundo es el
directorio bajo el cual va a ser montado. Tras estos dos comandos el contenido de los dos
sistemas de archivos aparecen como los contenidos de los directorios /home y /usr,
respectivamente. Se dice que /dev/hda2 est montado en /home, e igualmente para /usr. Para
ver cualquiera de los sistemas de archivos, se puede mirar el contenido del directorio en el que
fue montado, como si fuera cualquier otro directorio. Observe la diferencia entre el archivos de
dispositivo, /dev/hda2, y el directorio de montaje, /home. El archivo de dispositivo proporciona
acceso al contenido crudo del disco, el directorio de montaje proporciona acceso a los archivos
del disco. El directorio de montaje se denomina punto de montaje.

Linux soporta multitud de sistemas de archivos. mount intenta adivinar el tipo de sistema de
archivos. Se puede utilizar la -t fstype para especificar el tipo directamente; esto es necesario
en determinados casos, puesto que la heurstica que utiliza mount no siempre funciona. Por
ejemplo, para montar un disquete MS-DOS, se puede utilizar el comando siguiente:

$ mount -t msdos /dev/fd0 /floppy


$
El directorio de montaje necesita estar vaco, aunque debe existir. Cualquier archivo en l, en
cualquier caso, ser inaccesible por su nombre mientras el sistema de archivos est montado.
(Cualquier archivo que estuviera abierto seguir estando accesible. Archivos que tengan
enlaces duros desde otros directorios podrn accederse utilizando esos nombres.) No hay dao
alguno haciendo esto, y puede incluso ser til. Por ejemplo, a alguna gente le gusta tener
a /tmp y /var/tmp como sinnimos, y poner /tmp como enlace simblico a /var/tmp. Cuando el
sistema arranca, antes de montar el sistema de archivos /var, se utiliza un
directorio /var/tmp residente en el sistema de archivos raz en su lugar. Cuando /var se monta,
convertir al directorio /var/tmp del sistema de archivos raz inaccesible. Si /var/tmp no existe
en el el sistema de archivos raz, ser imposible utilizar los archivos temporales antes de
montar /var.

Si no tiene intencin de escribir nada en el sistema de archivos, utilice el modificador -


r de mount para realizar un montaje de slo-lectura. Esto provocar que el ncleo detenga
cualquier intento de escribir en el sistema de archivos, y tambin impedir que el ncleo
actualice el tiempo de acceso a los nodos-i. Montaje de slo-lectura son necesarios para
medios no grabables, como los CD-ROM.

El lector atento habr notado un ligero problema lgico. Cmo se monta el primer sistema de
archivos (denominado sistema de archivos raz, ya que contiene al directorio raz), si
obviamente no puede montarse sobre otro sistema de archivos? Bueno, la respuesta es que se
realiza un truco de magia. [14] El sistema de archivos raz se monta mgicamente a la hora del
arranque, y se puede confiar en que siempre ser montado. Si el sistema de archivos no puede
montarse, el sistema no arrancar. El nombre del sistema de archivos que mgicamente se
monta como root est compilado dentro del ncleo, o se especifica utilizando LILO o rdev.

El sistema de archivos raz se monta generalmente para slo-lectura. Los guiones (scripts) de
inicio ejecutarn entonces fsck para comprobar su validez, y si no hay problemas, volver a
montarlo para permitir la escritura. fsck no debe ejecutarse en sistemas de archivos montados,
puesto que cualquier cambio en el sistema de archivos mientras se ejecuta fsck puede causar
problemas. Como el sistema de archivos raz se monta como slo-lectura mientras se
comprueba, fsck puede corregir cualquier problema sin preocuparse, porque la operacin de
remontaje vaciar cualquier metadato que el sistema de archivos mantuviera en memoria.

En muchos sistemas existen otros sistemas de archivos que tambin deben montarse de forma
automtica durante en el arranque. Estos se especifican en el archivo /etc/fstab ; vea la pgina
de manual de fstab para los detalles en el formato. Los detalles sobre cundo se montan
exactamente los sistemas de archivos adicionales dependen de muchos factores, y pueden ser
configurados por cada administrador si lo necesita; vea el Captulo 8, Encendido y apagado.

Cuando un sistema de archivos no se necesita seguir montado, puede desmontarse


con umount. [15] umount toma un argumento: o bien el archivo de dispositivo o el punto de
montaje. Por ejemplo, para desmontar los directorios del ejemplo anterior, se pueden utilizar los
comandos

$ umount /dev/hda2
$ umount /usr
$
Lea la pgina de manual para ms informacin sobre cmo utilizar el comando. Es obligatorio
que siempre se desmonte un disquete montado. No saque nicamente el disquete de la
disquetera! Debido al cacheado de disco, los datos no se escriben necesariamente hasta que
se desmonta el disquete, as que sacar el disquete de la disquetera demasiado pronto puede
provocar que el contenido se vuelva errneo. Si nicamente lee del disquete, esto no es muy
usual, pero si escribe, incluso accidentalmente, el resultado puede ser catastrfico.

Montar y desmontar requieren privilegios de superusuario, esto es, slo root puede hacerlo. La
razn para esto es que si un usuario puede montar un disquete en cualquier directorio,
entonces es relativamente fcil crear un disquete con, digamos, un caballo de Troya disfrazado
de /bin/sh, o cualquier otro programa frecuentemente utilizado. De cualquier modo, se necesita
generalmente permitir a los usuarios utilizar los disquetes, y hay varias maneras de hacerlo:

Dar al usuario la contrasea de root. Esto es obviamente inseguro, pero es la solucin


ms sencilla. Funciona muy bien si no hay otras necesidades de seguridad, que es el
caso de muchos sistemas personales sin red.

Utilizar un programa como sudo para permitir a los usuarios que monten. Esto tambin
es inseguro, pero no proporciona privilegios de superusuario directamente a todo el
mundo. [16]

Hacer que el usuario utilice mtools, un paquete para manipular sistemas de archivos
MS-DOS, sin tener que montarlos. Esto funciona bien si todo lo que se necesitan son
disquetes MS-DOS, pero es bastante lioso en otros casos.
Listar los dispositivos flexibles y su punto de montaje permitido junto a las opciones
oportunas en /etc/fstab.

La ltima alternativa puede implementarse aadiendo una lnea como la siguiente en el


archivo /etc/fstab:

/dev/fd0 /floppy msdos user,noauto 0 0


Las columnas corresponden a: archivo de dispositivo a montar, directorio de montaje, tipo de
sistema de archivos, opciones, frecuencia de copia de seguridad (utilizado por dump), y el
nmero de paso para fsck (especifica el orden en el que los sistemas de archivos son
comprobados en el arranque; 0 significa que no se comprueba).

La opcin noauto impide que se monte automticamente al iniciar el sistema (es decir, previene
que mount -a la monte). La opcin user permite a cualquier usuario montar el sistema de
archivos, y, debido a cuestiones de seguridad, deniega la ejecucin de programas (normales o
con setuid) y la interpretacin de sistemas de archivos desde el sistema de archivos montado.
Despus de eso, cualquier usuario puede montar un disquete con un sistemas de archivos
msdos con el comando siguiente:

$ mount /floppy
$
El disquete puede (y necesita de ello, por supuesto) desmontarse con la
orden umount correspondiente.

Si desea otorgar acceso para varios tipos de disquetes, necesita proporcionar distintos puntos
de montaje. Las opciones pueden ser diferentes para cada punto de montaje. Por ejemplo, para
permitir accesos a disquetes MS-DOS o ext2, se pueden tener las siguientes lneas
en /etc/fstab:

/dev/fd0 /dosfloppy msdos user,noauto 0 0


/dev/fd0 /ext2floppy ext2 user,noauto 0 0
Para sistemas de archivos MS-DOS (no slo disquetes), probablemente quiera restringir el
acceso utilizando las opciones del sistema de archivos uid, gidy umask, descritas en detalle en
la pgina de manual de mount. Si no es cuidadoso, montar un sistema de archivos MS-DOS
proporciona al menos acceso de lectura a los archivos que hay en l, lo que no es una buena
idea.

Comprobar la integridad de un sistema de archivos con fsck


Los sistemas de archivos son criaturas complejas, y como tales, tienden a ser propensos a los
errores. La correccin y validacin de un sistema de archivos puede ser comprobada utilizando
el comando fsck. Puede ser instruido para reparar cualquier problema menor que encuentre, y
alertar al usuario si hay errores irreparables. Afortunadamente, el cdigo implementado en los
sistemas de archivos puede estudiarse de forma muy efectiva, as que escasamente hay
problemas, y normalmente son causados por fallos de alimentacin, hardware defectuoso, o
errores de operacin; por ejemplo, no apagar el sistema adecuadamente.

La mayora de los sistemas se configuran para ejecutar fsck automticamente durante el


arranque, as que cualquier error se detecta (y esperemos que corregido) antes que el sistema
se utilice. Utilizar un sistema de archivos corrupto tiende a empeorar las cosas: si las
estructuras de datos se mezclan, utilizar el sistema de archivos probablemente las mezclar
an ms, resultando en una mayor prdida de datos. En cualquier caso, fsck puede tardar un
tiempo en ejecutarse en sistemas de archivos grandes, y puesto que los errores casi nunca
suceden si el sistema se ha apagado adecuadamente, pueden utilizarse un par de trucos para
evitar realizar comprobaciones en esos casos. El primero es que si existe el
archivo /etc/fastboot, no se realizan comprobaciones. El segundo es que el sistema de archivos
ext2 tiene una marca especial en su superbloque que indica si el sistema de archivos se
desmont adecuadamente despus del montaje previo. Esto permite a e2fsck (la versin
de fsck para el sistema de archivos ext2) evitar la comprobacin del sistema de archivos si la
bandera indica que se realiz el desmontaje (la suposicin es que un desmontaje adecuado
indica que no hay problemas). Que el truco de /etc/fastboot funcione en su sistema depende de
sus guiones (scripts) de inicio, pero el truco de ext2 funciona cada vez que utilice e2fsck. Debe
ser sobrepasado explcitamente con una opcin de e2fsck para ser evitado. (Vea la pgina de
manual de e2fsck para los detalles sobre cmo.).

La comprobacin automtica slo funciona para los sistemas de archivos que se montan
automticamente en el arranque. Utilice fsck de forma manual para comprobar otros sistemas
de archivos, por ejemplo, disquetes.

Si fsck encuentra problemas irreparables, necesita conocimientos profundos de cmo funciona


en general un sistema de archivos, y en particular el tipo del sistema de archivos corrupto, o
buenas copias de seguridad. Lo ltimo es fcil (aunque algunas veces tedioso) de arreglar, el
precedente puede solucionarse a travs de un amigo, los grupos de noticias y listas de correo
de Linux, o alguna otra fuente de soporte, si no sabe cmo hacerlo usted mismo. Me gustara
contarle ms sobre el tema, pero mi falta de formacin y experiencia en este asunto me lo
impiden. El programa de Theodore Ts'o debugfs puede ser de ayuda.

fsck debe ser utilizado nicamente en sistemas de archivos desmontados, nunca en sistemas
de archivos montados (a excepcin del raz en slo-lectura en el arranque). Esto es as porque
accede al disco directamente, y puede por lo tanto modificar el sistema de archivos sin que el
sistema operativo se percate de ello. Habr problemas, si el sistema operativo se confunde.

Comprobar errores en el disco mediante badblocks


Puede ser buena idea comprobar los bloques defectuosos peridicamente. Esto se realiza con
el comando badblocks. Saca una lista de los nmeros de todos los bloques malos que puede
encontrar. Esta lista puede introducirse en fsck para grabar en el sistema de archivos las
estructuras de datos para que el sistema operativo no intente utilizar los bloques malos para
almacenar datos. El ejemplo siguiente muestra cmo puede hacerse esto.

$ badblocks /dev/fd0H1440 1440 >


bad-blocks
$ fsck -t ext2 -l bad-blocks
/dev/fd0H1440
Parallelizing fsck version 0.5a (5-Apr-94)
e2fsck 0.5a, 5-Apr-94 for EXT2 FS 0.5, 94/03/10
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Check reference counts.
Pass 5: Checking group summary information.

/dev/fd0H1440: ***** FILE SYSTEM WAS MODIFIED *****


/dev/fd0H1440: 11/360 files, 63/1440 blocks
$
Si badblocks informa de que un bloque se est utilizando, e2fsck intentar mover el bloque a
otro lugar. Si el bloque estaba realmente defectuoso, no tan slo marginado, el contenido del
archivo puede estar corrupto.
Luchar contra la fragmentacin
Cuando un archivo se escribe en el disco, no puede escribirse siempre en bloques
consecutivos. Un archivos que no est almacenado en bloques consecutivos est fragmentado.
Leer un archivo fragmentado requiere mayor tiempo, puesto que la cabeza de lectura-escritura
del disco debe moverse ms. Es deseable evitar la fragmentacin, aunque es un problema
menor en un sistema con un buen cach buffer con lectura progresiva.

El sistema de archivos ext2 intenta mantener la fragmentacin al mnimo, manteniendo todos


los bloques de un archivo juntos, incluso cuando no pueden almacenarse en sectores
consecutivos. Ext2 efectivamente localiza el bloque libre ms cercano a los otros bloques del
archivo. Por lo tanto para ext2 hay poca necesidad de preocuparse por la fragmentacin. Existe
un programa para desfragmentar un sistema de archivos ext2, llamado extraamente defrag
[24].defrag [17] .

Existen muchos programas de desfragmentacin MS-DOS que mueven los bloques por todo el
sistema de archivos para eliminar la fragmentacin. Para otros sistemas de archivos, la
desfragmentacin debe hacerse guardando el sistema de archivos, volverlo a crear, y
restaurando los archivos de la copia guardada. Guardar un sistema de archivos antes de
desfragmentarlo es una buena idea para cualquier sistema de archivos, puesto que muchas
cosas pueden ir mal durante la desfragmentacin.

Otras herramientas para todos los sistemas de archivos


Algunas herramientas adicionales pueden resultar tiles para manejar sistemas de
archivos. df muestra el espacio libre en disco de uno o ms sistemas de archivos. du muestra
cunto espacio en disco ocupa un directorio y los archivos que contiene. Estos pueden
utilizarse para encontrar desperdiciadores de espacio en disco. Ambos tienen pginas de
manual que detallan las (muchas) opciones que pueden utilizarse.

sync fuerza que todos los bloques en el buffer cach no escritos (vea la Seccin 7.6 El Buffer
Cache) se escriban al disco. Es raro hacer esto esto a mano; el demonio update hace esto
automticamente. Puede ser til en caso de catstrofe, por ejemplo si update o su proceso
ayudante bdflushmuere, o si debe apagar el ordenador ahora y no puede esperar que se
ejecute update. De nuevo, estn las pginas de manual. El comando man es su mejor amigo
en linux. Su sobrino apropos es tambin muy til cuando no sabe cul es el nombre del
comando que quiere.

Otras herramientas para el sistema de archivos ext2/ext3


Adems del creador (mke2fs) y del comprobador (e2fsck) de sistemas de archivos accesibles
directamente o a travs de las caretas independientes del tipo del sistema de archivos, ext2
posee herramientas adicionales que pueden resultar tiles.

tune2fs ajusta parmetros del sistema de archivos. Algunos de los parmetros ms


interesantes son:

Un contador mximo de montados. e2fsck fuerza una comprobacin cuando el sistema


de archivos se ha montado demasiadas veces, incluso si la bandera de limpiado est
activa. Para un sistema que se utiliza para desarrollo o pruebas de sistema, puede ser
una buena idea reducir este lmite.

Un tiempo mximo entre comprobaciones. e2fsck puede tambin forzar un tiempo


mximo entre dos comprobaciones, incluso si la bandera de limpiado est activa, y el
sistema de archivos no se monta frecuentemente. De cualquier forma, esto puede
desactivarse.

Nmero de bloques reservados para root. Ext2 reserva algunos bloques para root de
manera que si el sistema de archivos se llena, todava ser posible realizar tareas de
administracin sin tener que borrar nada. La cantidad reservada es por defecto el 5%,
lo que en la mayora de discos no supone un desperdicio. De cualquier manera, para
los disquetes no existe justificacin en reservar ningn bloque.

Vea la pgina de manual de tune2fs para ms informacin.

dumpe2fs muestra informacin acerca de un sistema de archivos ext2, la mayora referente al


superbloque. La Figura 6.6, Salida de ejemplo dedumpe2fs muestra una salida de ejemplo.
Alguna informacin en la salida es tcnica y requiere comprensin acerca de cmo trabaja el
sistema de archivos (vea el apndice XXX ext2fspaper), pero la mayora es comprensible
incluso para aprendices.

Figura 6-5.

Figura 6.6. Salida de ejemplo de dumpe2fs

dumpe2fs 0.5b, 11-Mar-95 for EXT2 FS 0.5a, 94/10/23


Filesystem magic number: 0xEF53
Filesystem state: clean
Errors behavior: Continue
Inode count: 360
Block count: 1440
Reserved block count: 72
Free blocks: 1133
Free inodes: 326
First block: 1
Block size: 1024
Fragment size: 1024
Blocks per group: 8192
Fragments per group: 8192
Inodes per group: 360
Last mount time: Tue Aug 8 01:52:52 1995
Last write time: Tue Aug 8 01:53:28 1995
Mount count: 3
Maximum mount count: 20
Last checked: Tue Aug 8 01:06:31 1995
Check interval: 0
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)

Group 0:
Block bitmap at 3, Inode bitmap at 4, Inode table at 5
1133 free blocks, 326 free inodes, 2 directories
Free blocks: 307-1439
Free inodes: 35-360
debugfs es un debugger para un sistema de archivos. Permite acceso directo al sistema de
archivos y a las estructuras de datos almacenadas en el disco y puede utilizarse por tanto para
reparar un disco tan estropeado que fsck no puede repararlo automticamente. Tambin es
conocido por recuperar archivos eliminados. De cualquier modo, debugfs requiere mucho que
comprenda lo que est haciendo: un fallo puede destruir todos sus datos.

dump y restore pueden utilizarse para guardar un sistema de archivos ext2. Hay versiones
especficas para ext2 de las herramientas tradicionales de copias de seguridad UNIX. Vea el
Captulo 12 Captulo 12, Copias de seguridad (Backups) para ms informacin sobre copias de
seguridad.

Caractersticas de Linux:

Caractersticas de los Sistemas Linux

Linux es un Sistema Operativo tipo Unix diseado para aprovechar al mximo las capacidades
de las computadoras PC basadas en el microprocesador i386 y posteriores. Es un SO con
capacidades de multiprocesamiento, multitarea y multiusuario. Sin embargo, a diferencia de
otros sistemas Unix para PC, usted no tiene que pagar cuantiosas licencias por el uso de Linux.

2.1 Multitarea

Describe la habilidad de ejecutar, aparentemente al mismo tiempo, numerosos programas sin


obstaculizar la ejecucin de cada aplicacin. Esto se conoce como multitarea preferente,
porque cada programa tiene garantizada la posibilidad de correr. Windows no soporta
multitarea preferente, slo la llamada multitarea cooperativa, bajo la cual los programas corren
hasta que ellos mismos permiten la ejecucin de otro programa o no tienen otra que hacer
durante ese perodo.

2.2 Multiusuario

El concepto de que numerosos usuarios pudieran accesar aplicaciones o el potencial de


procesamiento en una sola PC era un mero sueo hace unos cuantos aos. Linux permite que
ms de una sola persona pueda trabajar en la misma versin de la misma aplicacin de
manera simultnea, desde las mismas terminales, o en terminales separadas.

2.3 Redes y Telecomunicaciones

La superioridad de Linux sobre otros sistemas operativos es evidente en sus utileras para
redes y comunicaciones. Ningn otro sistema operativo incluye capacidades para red tan
estrechamente acopladas. Linux soporta las siguientes interfaces de red: ethernet, fddi, token
ring, arcnet, X.25, ISDN, lneas seriales sncronas y asncronas.

2.4 Internet

Con Linux usted puede conectarse a Internet y al vasto mundo de informacin que esta red
abarca. Correo Electrnico, Listas de Correo, Grupos de Inters, Bsqueda y Transferencia de
Archivos, Gopher, WAIS, y por supuesto, World Wide Web.

2.5 Interconectividad

Usted puede conectar Linux a una red local, y convertirlo en servidor para MS-DOS, Windows,
Windows para Trabajo en Grupo (WfW), Windows 95 y Macintosh por un costo muy por debajo
de otros sistemas comerciales.
2.6 Programacin

Linux cuenta con un conjunto poderoso de herramientas para el desarrollo de programas: C,


C++, ObjectiveC, Pascal, Fortran, BASIC, CLISP, SmallTalk, Ada, Perl, as como depuradores y
bibliotecas compartidas de enlace dinmico (DLL).

2.7 Portabilidad

Linux fue diseado teniendo en cuenta la portabilidad de las aplicaciones. Linux es compatible
con diversos estndares Unix, tales como System V, BSD y los estndares internacionales
IEEE POSIX.1 e IEEE POSIX.2, facilitando el desarrollo de aplicaciones para mltiples
plataformas.

2.8 Ambiente Grfico

Linux proporciona la capacidad de ejecutar aplicaciones grficas mediante una red


heterognea al incorporar la revisin 6 del estndar X11 del MIT, conocido tambin
simplemente como X-Window. Con el hardware adecuado, las Estaciones de Trabajo Linux son
una alternativa de bajo costo a las Estaciones de Trabajo de alto rendimiento.

2.9 Poder RISC

Si su organizacin necesita verdadero poder de cmputo Linux corre en computadoras


basadas en microprocesadores RISC como Alpha AXP, Sparc, PowerPC y MIPS. Ningn otro
sistema operativo soporta una gama tan amplia de plataformas.

Requerimientos de instalacin:

Requisitos para la instalacin del Sistema Operativo Linux.-

En este tema se describirn los requerimientos bsicos para la instalacin de Linux, as como
los pasos de dicha instalacin.

Aprender a instalar Linux como su Sistema Operativo.

Requisitos de la placa base y del procesador.-

Actualmente, Linux soporta sistemas con una CPU Intel 80386, 80486, o Pentium, adems de
ALPHA, SPARC, MIPS, PPC, y un nmero, cada vez mayor, de procesadores.

Los +clnicos; no Intel, como AMD y Cyrix, tambin funcionan con Linux.

Si tiene la suerte de tener una placa para doble microprocesador, Linux la detectar y har
funcionar los dos +micros; sin ningn problema.

Si conserva un antiguo 386 486, puede que lo quiera aprovechar con Linux.

No va a alcanzar velocidades de vrtigo, pero tendr una pequea estacin de trabajo


conectada en red junto a su flamante Pentium III, incluso ejecutar aplicaciones en el
+pequen; usando los recursos del PIII. El coprocesador matemtico puede ser emulado por el
kernel si la mquina no cuenta con uno.

Requisitos de la memoria RAM.-


Linux utilizar toda la memoria RAM de forma automtica, y se apaar sin problemas con tan
slo 4 megabytes de RAM, incluyendo un entorno de ventanas sencillo.

En las configuraciones actuales es fcil contar con 16 32 Megas, es suficiente para un uso
personal; para servidores depender de la carga que esperemos. Disponer de ms memoria es
tan importante como tener un procesador ms rpido.

Acerca de la gestin de memoria Linux, con la reciente aparicin de la versin 2.4


del kernel puede llegar a gestionar hasta 64 Gb de memoria RAM.

Linux reserva una parte del disco duro para espacio de intercambio (swap) que se usa como
RAM virtual, incluso si dispone de bastante memoria RAM fsica en su maquina. El rea
de swap no puede compararse en trminos de velocidad a una memoria RAM, pero permite a
su sistema ejecutar aplicaciones ms grandes guardando en disco duro partes de cdigo que
estn inactivas. La cantidad de espacio de intercambio a reservar depende de diversos
factores; se puede hacer un clculo en funcin de la RAM fsica, pero depende del sistema.

Normalmente 16 Mb de swap deberan ser suficientes y 64 Mb estarn francamente bien.

Lo que no le aconsejamos que haga nunca es dejar al sistema sin espacio de intercambio!.

Requisitos de espacio en el disco duro.-

La cantidad de espacio depende en gran medida de sus necesidades y de la cantidad de


software que quiera instalar. Las distribuciones Linux incluyen gran cantidad de software que
quiz no necesite utilizar. Tambin puede disponer de espacio para Linux en mltiples
unidades.

Un sistema bsico funcionar con menos de 100 Megabytes.

Una instalacin media, con entorno grfico y un nmero de aplicaciones respetable, van bien
con 500 Megas y da cabida a expansiones y espacio para que los usuarios dejen ficheros.<

Una distribucin completa ocupa alrededor de 1,2 Gigas.

Con el tamao actual de discos, estas cantidades no deberan suponer gran problema.

Controlador de dispositivos.-

El ncleo soporta controladoras XT estndar, las controladoras MFM, RLL, IDE, EIDE y SCSI.
La regla general para controladoras que no sean SCSI, es que si puede acceder a las unidades
(disco y/o disquete) desde MS-DOS u otro sistema operativo, debera poder hacerlo desde
Linux.

Buses y tipos de puertos soportados por Linux.-

Todos los buses y puertos que existen en la actualidad estan soportados por linux incluso los
ultimos como el USB.

Requisitos del sistema grfico.-


Para trabajar en modo texto, Linux soporta todas las tarjetas de vdeo estndar Hercules, CGA,
EGA, VGA, IBM monocromo y Super VGA. Los entornos grficos como el Sistema X Window
tienen requisitos propios de hardware para la tarjeta de vdeo. Se soportan prcticamente todas
la tarjetas actuales, varias aceleradoras 3D (las ms populares, Wodoo, etc) y tarjetas AGP.
En www.xfree86.org podemos encontrar informacin actualizada sobre las tarjetas soportadas.

Soporte de dispositivos de conexin a la red local.-

Linux soporta un buen nmero de tarjetas Ethernet y adaptadores para LAN. La lista es
demasiado larga para esta introduccin. Se ver con ms detalle ms adelante, cuando se
configure la parte de red.

Soporte de impresoras.-

Linux soporta prcticamente todas las impresoras paralelo. El software de impresin de Linux
se basa en el estndar de UNIX lp y lpr. Este software tambin le permite imprimir remotamente
a travs de la red, si es que tiene una disponible.

OTROS REQUERIMIENTOS:

(requisitos y pre-instalacin de Arch linux) Actualizado 2015

Requisitos de sistema:

Arch Linux es una distribucin GNU/Linux independiente, de propsito general, desarrollada


para i686 / x86_64 con un mnimo de 256 MB de RAM, Una instalacin bsica con todos los
paquetes del grupo base puede tomar alrededor de 800 MB de espacio en disco.

Deacargar ISO:

http://www.archlinux.org/download/

La descarga la podrn hacer va Bittorrent o Magnet Link.

Preparar el medio de instalacin:

Los medios de instalacin se pueden preparar para cualquier sistema operativo bien
sea Windows o Linux, utilizando el software de su agrado.

En caso de utilizar como medio de instalacin de CD/DVD:

En Winows pueden utilizar CDBurnerXP, Imgburn o cualquier otro, tan solo deben grabar la
imagen como ISO.

En Linux pueden utilizar K3B, Brasero o cualquier otro, tan solo deben grabar la imagen
como ISO.

En caso de Utilizar como medio de instalacin USB:

En Windows pueden utilizar ultraiso.

En Linux pueden utilizar el comando dd (dataset definitin):


sudo dd if=/ruta/a/la/imagen.iso|pv|of=/dev/sdx bs=1M
Donde:

if : input file o archivo origen, lee el archivo de entrada


/ruta/a/la/imagen.iso : ruta donde se encuentra la imagen ejemplo /dev/sda1/imagen.iso
|pv| : acta como tubera y nos da informacin sobre la tasa de
transferencia, MB transferidos y barra de progreso.
of : output file o archivo destino, escribe el archivo de salida
/dev/sdx : ruta de destino donde se encuentra la particin de la unidad usb
bs=Nmb : Lee y escribe N bytes, se recomienda 1MB para mejor prestacin.

pueden encontrar informacin del comando dd en la wikipedia:

https://es.wikipedia.org/wiki/Dd_(Unix)

Preparar el sistema para la instalacin:

Redimensionar el Disco Duro en caso de que quieran instalar Arch Linux junto
a Windows u otro sistema operativo, esto con el fin de dejar espacio para la instalacin.
Se recomienda en Windows desfragmentar y luego redimensionar el Disco Duro y dejar
un espacio mnimo de 40 GB para la instalacin, no eliminar el MRB para no perder la entrada
al SO.
Mientras tanto se recomienda que si tienen alguna otra distribucin de Linux instalada
deben redimensionar el Disco Duro y dejar un espacio mnimo de 40GB para la
instalacin.
Conectar equipo a la red.
Bootear el medio de instalacin: en la Bios de la maquina a instalar deben seleccionar
la opcin de arranque, bien sea CD, USB. de acuerdo al medio de instalacin que tengan
disponible, una vez iniciado estaremos en la pantalla para la instalacin.
Seleccionar la opcin de instalacin:

Debemos seleccionar la opcin que ms sea adecuada para nuestro propsito:

(i686) 32 bits.
(x86_64) 64 bits.
Pre instalacin:

Una vez seleccionada la opcin de instalacin estaremos en modo terminal o prompt como
usuario root.

.Establecer distribucin del teclado:

All dentro del prompt debemos seleccionar el idioma del teclado, recordando que por defecto
est en Ingles, seleccionaremos el que corresponde al nuestro:

Espaol:
# loadkeys es

Latinoamericano:
# loadkeys la-latin1

Particionar o preparar el Disco duro:

Utilizaremos para la particin del disco duro la herramienta de administracin.


# cfdisk

Pudiesen utilizar cualquier otra como fdisk, gdisk, cgdisk, parted pero en mi caso me
gusta cfdisk.

Para crear las particiones las secuencias del comando cfdisk son las siguentes:

New Crea una nueva particin.

Primary | Logical Indica si la particin es Primaria o Lgica.

Size se Coloca el tamao de la particin en MB

Beginning. Comenzar la creacin de la particin.

Se crear cuatro particiones las cuales son las siguientes:

/boot entre 100 y 150 MB.

Seleccionar la opcin booteable


/root (Directorio Raiz) 15 GB.

/home (Directorio de Usuario) El mayor tamao posible.

/swap (Memoria de intercambio virtual)

se considera que hasta 1GB de memoria fsica (ram), la swap es igual que la
memoria ram.
entre 2GB y 4GB de memoria fsica (ram), la swap es la mitad de la memoria ram.
desde 4GB de memoria fsica (ram), la swap es igual a 2GB.
Seleccionar la opcin type, luego de la lista seleccionar 82 linux swap.

Para finalizar seleccionamos la opcin write para escribir los cambios y luego confirmamos
con yes.

NOTA: Antes de escribir los cambios deben estar seguros de las particiones que se van a
crear, porque luego no habr marcha atrs, eliminar todo el contenido del disco duro.

presione quit para salir de cfdisk y regresar al prompt.

Formatear las particiones:

NOTA: Recuerden cuales son las particiones creadas, esto las pueden ver o anotar en una hoja
cuando se crearon las particiones con el comando cfdisk. Para listar las particiones escriban el
comando cfdisk-l supongamos que quedaron de una manera similar a esta:

sda1 = boot, sda2 = /, sda3 = home y sda4 = swap

procedemos a formatear cada una de ellas:

Particin /boot:
# mkfs -t ext2 /dev/sda1

Particin /root o raiz:


# mkfs -t ext4 /dev/sda2
Particin /home:
# mkfs -t ext4 /dev/sda3

Particin /swap:
# mkswap /dev/sda4

Montar las Particiones:

El siguiente paso es montar la particin del sistema root en /mnt:


# mount /dev/sda2 /mnt

Despus de esto, hay que crear tantos directorios como particiones haya realizado y
montarlas /mnt/boot, /mnt/home
Crear particion /mnt/boot:
# mkdir /mnt/boot

Crear particin /mnt/home:


# mkdir /mnt/home

Montar particin /mnt/boot.


# mount /dev/sda1 /mnt/boot

Montar particin /mnt/home:


# mount /dev/sda3 /mnt/home

Tambin hay que activar la particin swap:


# swapon /dev/sda4

Conectarse a internet:

El servicio de Internet a travs de DHCP Discovery ya est activado al arrancar el soporte de


instalacin para todos los dispositivos de red cableados.

Para dar soporte a dispositivos de red inalmbrica o wifi ejecute:

# wifi-menu

Para comprobar la conexin a internet haga ping a una direccin ejemplo:

# ping -c 3 www.google.com

debe visualizar los paquetes transmitidos, paquetes recibidos y paquetes perdidos.