Está en la página 1de 39

Sistema Operativo Linux

Arquitectura de Linux
Tcnicamente no hay ningn problema con las distribuciones en linux ya que los paquetes o software en un 90% funcionan y son compatibles con cualquier versin, solo debemos tener en cuenta a la hora de la instalacin la compatibilidad de nuestro Sistema operativo con el Hardware que tenemos en nuestra maquina y esto puede variar un poco debido a que los Servidores pueden utilizar una gran variedad de Arquitecturas.

En la arquitectura cliente/servidor

Los clientes (o programas que representan entidades que necesitan servicios) y los servidores (o programas que proporcionan servicios) son objetos separados desde un punto de vista lgico y que se comunican a travs de una red de comunicaciones para realizar una o varias tareas de forma conjunta. Un cliente hace una peticin de un servicio y recibe la respuesta a dicha peticin; un servidor recibe y procesa la peticin, y devuelve la respuesta solicitada

Caractersticas de la arquitectura cliente/servidor Protocolos asimtricos: hay una relacin muchos a uno entre los clientes y un servidor. Los Clientes siempre inician un dilogo mediante la solicitud de un servicio. Los Servidores esperan pasivamente por las solicitudes de los clientes. Encapsulacin de servicios: El servidor es un especialista, cuando se le entrega un mensaje solicitando un servicio, l determina cmo conseguir hacer el trabajo. Los servidores se pueden actualizar sin afectar a los clientes en tanto que la interfaz pblica de mensajes que se utilice por ambos lados, permanezca sin cambiar Integridad: el cdigo y los datos de un servidor se mantienen centralizados, lo que origina que el mantenimiento sea ms barato y la proteccin de la integridad de datos compartidos. Al mismo tiempo, los clientes mantienen u independencia y personalidad Transparencia de localizacin: el servidor es un proceso que puede residir en la misma mquina que el cliente o otra una mquina diferente

de la red. Elsoftware cliente/servidor (midleware) habitualmente oculta la localizacin de un servidor a los clientes mediante la redireccin de servicios. Un programa puede actuar tanto como cliente, como servidor o como cliente y servidor simultneamente. Intercambios basados en mensajes: Los clientes y servidores son procesos dbilmente acoplados que pueden intercambiar solicitudes de servicios espuestas utilizando mensajes. Modularidad, diseo extensible: el diseo modular de una aplicacin cliente/servidor permite que la aplicacin sea tolerante a fallos: En sistemas tolerantes a fallos, los fallos pueden ocurrir sin causar la cada de la aplicacin completa. En una aplicacin cliente/servidor tolerante a fallos, uno o ms servidores pueden fallar sin parar el sistema total mientras que los servicios proporcionados por los servidores cados estn disponibles en otros servidores activos. Otra ventaja de la modularidad es que una aplicacin cliente/servidor puede responder automticamente al incremento o decremento de la carga del sistema mediante la incorporacin o eliminacin de uno o ms servicios o servidores.

Tecnologa cliente/servidor Servidores de ficheros: los clientes hacen solicitudes de ficheros al servidor: forma de compartir ficheros en una red (repositorios de documentos, imgenes, programas, etc.) Servidores de bases de datos: aplicaciones del cliente mandan solicitudes SQL al servidor. El servidor devuelve el resultado de la consulta. Servidores de transacciones: el cliente invoca procedimientos remotos o transacciones (conjunto de instrucciones SQL) sobre la base de datos. Los datos intercambiados son: Cliente -> servidor: solicitud Servidor -> cliente: mensaje de resultado Servidores groupware: intercambio de informacin semiestructurada: texto, imgenes, u otros (Lotus Notes o Microsoft Exchange). Cada vez ms se usa e-mail

Evolucin sistemas Cliente/Servidor El trmino Cliente/Servidor se ha asociado tradicionalmente con un PC de escritorio conectado a travs de una red a algn tipo de servidor de base de datos. De hecho, el trmino Cliente/Servidor se refiere formalmente a un

modelo lgico que proporciona una divisin de tareas dentro de las capas (o niveles)cliente y servidor

Arquitecturas (C/S) monolticas (una capa) La industria de la Tecnologa de la Informacin ha puesto en prctica una forma muy sencilla de computacin cliente/servidor desde la aparicin inicial de los mainframe. En esa configuracin un host mainframe y un terminal tonto directamente conectado con el mainframe pueden verse como un modelo C/S de una capa.

Arquitecturas C/S de dos capas El cliente se comunica directamente con un servidor de bases de datos. La aplicacin o lgica de negocio bien reside en el cliente, o en el servidor de base de datos en la forma de procedimientos almacenados. Un primer modelo C/S de dos capas comenz a emerger con las aplicaciones desarrolladas para redes LAN a finales de los 80 y principios de los 90. Estas aplicaciones se basaban en tcnicas sencillas de comparticin de archivos implementadas mediante lenguajes del tipo Xbase (Xbase se refiere genricamente a los lenguajes derivados a partir del lenguaje de dBase: dBase, FoxPro, Clipper,Paradox, etc.)

Cliente grueso Inicialmente, en el modelo de dos capas intervienen equipos que no tienen la caracterstica de mainframe (un servidor de archivos en red) y un cliente grueso inteligente, donde se hace la mayor parte del procesamiento . Esta configuracin no es fcilmente escalable en sistemas de gran, e incluso medio, tamao (50 o ms clientes conectados)

Servidor grueso Una configuracin alternativa Cliente fino <--> Servidor grueso es otra aproximacin utilizada en la arquitectura de dos capas. En este caso el cliente invoca procedimientos almacenados en el servidor de base de datos. El modelo del Servidor grueso tiene un mejor rendimiento grueso porque aunque la carga de red es todava pesada, es ms ligera que en la aproximacin del Cliente grueso.

Configuraciones cliente/servidor tpicas Tres bloques bsicos en una arquitectura cliente/servidor: cliente, servidor, middleware

Ejemplos de configuraciones: Arquitecturas cliente/servidor en la misma mquina. Ejem: sistema de gestin de una consulta de un mdico con un solo ordenador => alta escalabilidad Arquitecturas cliente/servidor con servidor nico. Ejem: sistemas basados en LAN con un servidor y varios clientes (terminales).

Arquitecturas cliente/servidor con varios servidores. Varios servidores con funciones distintas. - Duplicacin de servidores para robustez frente a fallos o para aumento de rendimiento ms fcil y flexible.

Elementos de arquitecturas cliente/servidor Tres bloques bsicos en una arquitectura cliente/servidor:

Cliente: incluye sistema operativo (OS) sobre con interfaz grfico de usuario (GUI) o interfaz orientado a objetos de usuario (OOUI). Servidor: ejecuta software especializado. Middleware: software distribuido para interacciones entre cliente y

Servidor. Desde la API del cliente usada para invocar el servicio, la transmisin de la solicitud y la respuesta hasta el sistema que informa al servidor No incluye el software que proporciona el servicio ni el interfaz de usuario en el cliente. Parte en el cliente y parte en el servidor.

El middleware incluye: Protocolos de transporte, como TCP/IP, IPX... NOS's (Sistemas operativos de red), como RPC, Samba... Middleware especfico para el servicio como HTTP, ORB...

Responsable del buen funcionamiento, especialmente en N niveles

Seguridad de Linux
Para dar seguridad a un servidor de Linux hay que tener en cuenta lo siguiente: 1) Permisos de ficheros y atributos Establecer correctamente los permisos y atributos de los ficheros del sistema es crucial para mantener su integridad. Regularmente, es conveniente llevar a cabo auditorias en busca de permisos que no deberan estar autorizados o atributo inapropiados. Algunos de los aspectos que deberan analizarse para tomar las medidas oportunas, son los siguientes: . Los bits SETUID o SETGID en ficheros ejecutables permiten que un usuario sin privilegios de administracin pueda llevar a cabo acciones que nicamente podra realizar el usuario root. En concreto, la activacin de estos bits hace que el eUID sea igual al ownerUID y que el eGID sea igual al ownerGID, respectivamente. Para localizar estos ficheros ejecutaremos: gfind / -perm /6000 -type f -lsh. Para suprimir los permisos SETUID y SETGID ejecutaremos gchmod -sh sobre los ficheros deseados. Los cdigos de los permisos, en notacin octal, del SETUID y el SETGID son 4000 y 2000, respectivamente. .El llamado sticky bit (tambin conocido como bit de permanencia, bit pegajoso o modo t) impide que un fichero se elimine del rea de swapping. Esto suele resultar til en programas que son ejecutados frecuentemente por varios usuarios. Aplicado sobre un directorio, permite que nicamente el propietario del fichero, el propietario del directorio o el administrador puedan renombrar o eliminar los ficheros contenidos en el. El cdigo de permiso en notacin octal del sticky bit es 1000. Si el archivo posee permiso de ejecucin, en la terna correspondiente al resto de usuarios (other) aparecer una t en lugar de x; si no tiene permiso de ejecucin se mostrara una T. . Los archivos world-writable (modificables por cualquier usuario) tambin pueden suponer un importante agujero de seguridad. Algunos de los ficheros propios de los sistemas basados en UNIX que nunca debern ser worldwritable son: /etc/passwd, /etc/shadow y /etc/group. Para listar todos los

ficheros y directorios modificables por cualquier usuario ejecutaremos: gfind / -perm -o=w ! -type l -lsh. La salida habitual del comando anterior muestra entradas pertenecientes a los directorios /dev y /tmp. . Un posible indicio de intrusiones en el sistema son los archivos que carecen de dueo o no pertenecen a ningn grupo. Para localizarlos realizaremos la siguiente bsqueda: gfind / -nouser -o -nogrouph. . Los comandos lsattr y chattr permiten al administrador de sistemas cambiar caractersticas de archivos y directorios, incluyendo la posibilidad de controlar el borrado y modificacin por encima de las funciones que provee chmod. Los atributos gappend-onlyh y gimmutableh son particularmente efectivos a la hora de prevenir el borrado de archivos de log, o cuando algn tipo de software malicioso intenta sobrescribir o suplantar ficheros legtimos del sistema. El comando lsattr se emplea para listar estas propiedades, mientras que el comando chattr permite aadirlas (+) o eliminarlas (-) con los parmetros i (inmutable) y a (append-only). . Una estrategia adicional para mejorar la seguridad del sistema de ficheros es utilizar adecuadamente las opciones de mount, bien a travs del propio comando mount desde la lnea de comandos, o desde el fichero de configuracin /etc/fstab. Algunas de las opciones mas interesantes a la hora de montar una particin o sistema de ficheros son: nosuid (evita la asignacin de los bits SETUID y SETGID), noexec (evita la ejecucin de archivos binarios), nodev (evita la interpretacin de los dispositivos especiales de bloque o de carcter) y ro (acceso de solo lectura). 2) Integridad del sistema de archivos Antes de habilitar por primera vez el acceso a redes de un servidor, es recomendable crear una base de datos que contenga un listado donde se identifiquen de forma inequvoca todos los ficheros existentes actualmente en el sistema. Un mecanismo de estas caractersticas garantizara el control ante posibles modificaciones no deseadas. En GNU/Linux existen herramientas que facilitan esta tarea, capaces de monitorizar y alertar al usuario ante cambios en el sistema de archivos basndose en la comprobacin de hashes. Algunos ejemplos son Tripwire, AIDE o Afick, considerados sistemas IDS (Intrusion Detection System). 3) Contraseas vulnerables Segn algunos estudios (Infosec Europe 2006), ms del 40% de las contraseas elegidas por los usuarios no son lo suficientemente fuertes. Se suelen caracterizar por ser de longitud corta, contener palabras simples, el nombre de la maquina, nombres de usuario o combinaciones que pueden ser averiguadas rpidamente con diccionarios.

Todo administrador debera llevar a cabo peridicamente pruebas de vulnerabilidad sobre las contraseas almacenadas en el sistema de ficheros. Para facilitar esta tarea, es posible recurrir a herramientas como John the Ripper o checkpasswd, capaces de realizar ataques por diccionario a ficheros de claves como /etc/shadow o /etc/gshadow. La utilidad passwd, caracterstica de los sistemas operativos tipo UNIX, proporciona mecanismos para evitar que los usuarios utilicen contraseas fcilmente averiguables. En GNU/Linux, passwd esta configurado para trabajar con la API Linux-PAM (Pluggable Authentication Modules). El modulo pam_cracklib.so, disponible a travs del paquete libpam-cracklib, puede ayudar a prevenir estas contraseas dbiles aadiendo controles a la hora de cambiar la contrasea, realizando chequeos contra diccionarios o estableciendo periodos de expiracin. La configuracin de PAM se define en el directorio /etc/pam.d/. 4) Mdulos del kernel Una de las reglas bsicas a la hora de configurar el kernel es suprimir todo aquello que no se vaya a utilizar. Adems de obtener un binario mas reducido, se eliminan riesgos innecesarios ante posibles vulnerabilidades en los mdulos o caractersticas del kernel. Llevado al extremo, ante una maquina con las funciones perfectamente definidas y hardware inalterable en el tiempo, probablemente, lo mas recomendable sea utilizar un kernel monoltico. Los kernels monolticos aportan mayor seguridad en servidores, ya que se evita la carga de mdulos con funcionalidades que podran comprometer la integridad del sistema. La desactivacin de mdulos cargables, caracterstica intrnseca de los kernels monoliticos, dificulta la instalacin de algunos rootkits. La decisin de utilizar un kernel monoltico o modular depender, por lo tanto, del propsito y escenario concretos. A travs del pseudosistema de archivos /proc tambin es posible modificar ciertos parametros del kernel relacionados con la seguridad en tiempo de ejecucin. El comando sysctl es usado para visualizar y modificar las configuraciones en /proc/sys/. Ejecutando gsysctl -ah se obtiene la lista con todas las variables del kernel configurables. La sintaxis para establecer el valor de un parmetro con sysctl es gsysctl -w kernel.PARAMETRO=VALORh. Adems de sysctl, tambin puede usarse el comando echo sobre el parmetro cuyo valor deseamos obtener o modificar. A continuacin, se enumeran algunas de las principales opciones del kernel que el administrador debera tener presente. . /proc/sys/proc/sys/net/ipv4/ip_forward: La activacin de esta opcin hace que un paquete con direccin IP de destino diferente de la local sea reenviado utilizando la tabla de enrutamiento. Esta opcin debera desactivarse si tan solo existe una conexin de red. Es recomendable activar o desactivar ip_forward antes que cualquier otra opcin, ya que el evento tambin activa o desactiva.

Otras opciones del kernel de forma automtica. ./proc/sys/net/ipv4/icmp_echo_ignore_all: Ignora las peticiones de ECHO ICMP. Activando esta opcion se evita que el servidor responda a las peticiones de ping. . /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts: Ignora las peticiones de ECHO ICMP con direcciones de destino broadcast (difusin) y multicast (multidifusin). Se trata de un mecanismo de prevencin ante posibles intentos de utilizar la red local como arma en posibles ataques de denegacin de servicio (Dennial of Service, DoS) mediante packet flooding a otros hosts. . /proc/sys/net/ipv4/tcp_syncookies: Proteccin contra SYN packet flooding, uno de los ataques DOS ms conocidos. SYN flooding aprovecha la mala implementacin del protocolo TCP basndose en un gsaludoh incompleto entre el equipo atacante y la victima. . /proc/sys/net/ipv4/conf/all/rp_filter: Prevencin ante posibles ataques IP spoofing dentro de la red interna. Bsicamente, consiste en ignorar los paquetes entrantes cuya direccin de origen no aparece en la tabla de routing de la interfaz de red receptora, es decir, tiene lugar una verificacin de la direccin del origen. . /proc/sys/net/ipv4/conf/all/secure_redirects: nicamente se aceptaran mensajes de redireccin ICMP para las puertas de enlace (gateways) de la lista de puertas de enlace por defecto. . /proc/sys/net/ipv4/conf/all/accept_source_route: Deshabilita la opcin de enviar paquetes enrutados desde el origen. El enrutamiento desde el origen es raramente utilizado con fines legtimos, por lo que resulta ms seguro desactivarlo. . /proc/sys/net/ipv4/conf/all/log_martians: La activacin de esta opcin permite registrar en el log del kernel los paquetes falsos (spoofed), enrutados en el origen y paquetes de redireccin. Todos los ajustes del kernel establecidos con el comando echo (ejemplo: /bin/echo g1h > /proc/sys/net/ipv4/conf/all/rp_filter) se perdern al reiniciar la maquina. Para hacerlos permanentes se recomienda aadirlos al archivo /etc/sysctl.conf, el cual se inicializa automticamente a travs del script de arranque /etc/init.d/bootmisc. Control de Acceso Obligatorio (MAC) Tradicionalmente, los sistemas de tipo UNIX han venido utilizando el llamado modelo de Control de Acceso Discrecional (Discretionary Access Control) o DAC, donde el usuario tiene completo control sobre los objetos que le pertenecen y los programas que ejecuta. En este modelo, el programa ejecutado tambin dispone de los mismos permisos que el usuario que lo esta ejecutando. DAC implica que la seguridad del sistema depende de las aplicaciones que se estn ejecutando y, por tanto, cuando se produce una vulnerabilidad en una aplicacin, esta afecta a todos los objetos a los que el usuario tiene acceso. Una alternativa a DAC es el denominado Control de Acceso Obligatorio (Mandatory Access Control) o MAC, donde el administrador define una poltica de seguridad que los usuarios no pueden modificar. Esta poltica va mas all que el establecimiento de propietarios de archivos. DAC fija contextos donde se indica

Cuando un objeto puede acceder a otro objeto. Este modelo de control de acceso puede mejorar el nivel de seguridad. Security-Enhanced Linux o SELinux es un proyecto de la Agencia de Seguridad Nacional de los Estados Unidos (NSA) que puede ser considerado como una implementacin practica del modelo de seguridad de Control de Acceso Obligatorio en el kernel Linux. Su objetivo es forzar la ejecucin de los procesos dentro de un entorno con el mnimo de privilegios necesarios. SELinux anade una serie de modificaciones en el kernel Linux a travs de los denominados Linux Security Modules (LSM). Esta inspirado originalmente en el Trusted Computer System Evaluation Criteria o TCSEC (1985) del Departamento de Defensa de los Estados Unidos (DoD). TCSEC tambien es ampliamente conocido como El Libro Naranja, una de las publicaciones Rainbow Series del DoD. En este documento se define la norma que establece los requisitos bsicos para la evaluacin de la eficacia de los controles de seguridad incorporados en un sistema informtico. A dia de hoy, TCSEC ya ha sido reemplazado por el estndar internacional Common Criteria for Information Technology Security Evaluation o simplemente Common Criteria (ISO/IEC 15408), publicado en 2005. Hardening con eBastillef El proyecto Bastille, iniciado por Jay Beale y en el que tambin han contribuido grandes empresas como IBM y HP, consiste en una suite de seguridad creada originalmente para distribuciones basadas en Red Hat. Bastille agrupa un conjunto de herramientas cuya finalidad es reforzar la seguridad de los principales servicios del sistema, de ahi su denominacin ghardening toolh. Actualmente, tambin se encuentra disponible en Ubuntu a travs de los repositorios oficiales. Esta suite se compone de mdulos, cada uno de ellos dirigidos a cubrir un aspecto concreto: permisos, cuentas de usuario, arranque del sistema, demonios y firewalling son solo algunos ejemplos. Bastille Sistemas de Deteccin de Intrusos (IDS) Los sistemas de deteccin de intrusos (IDS) facilitan al administrador de sistemas la deteccin de accesos no autorizados a un servidor o una red. En muchas ocasiones, los intentos de acceso no autorizados son llevados a cabo por atacantes que utilizan herramientas automatizadas con distintos fines: inyeccin SQL, buffer overflows, port scanning, ataques CGI, backdoors, explotar vulnerabilidades conocidas, etc. En esencia, el funcionamiento de cualquier IDS se basa en el anlisis minucioso del trafico de red, el cual es comparado con firmas de ataques conocidos. Dejando a un lado los IDSs citados en el apartado sobre Integridad del sistema de archivos, uno de los IDS libres mas extendidos es, sin lugar a dudas, Snort. Desarrollado en 1998 originalmente por Martin Roesh, es capaz de capturar y analizar trafico en tiempo real en redes IP. Algunas de las interfaces de usuario mas utilizadas para Snort son BASE (Basic Analysis and Security Engine), NST (Network Security Toolkit) y Sguil. Snort con BASE

5) En busca de rootkits Peridicamente, tampoco est de mas buscar posibles rootkits instalados en el sistema. Un rootkit es una herramienta o conjunto de herramientas cuya finalidad es permanecer ocultas y esconder a su vez otros programas, procesos, archivos, puertos de escucha, etc. Generalmente, los rootkits son utilizados por intrusos para mantener el acceso remoto a un sistema con fines maliciosos. Algunos de los rootkits ms conocidos son IntoXonia, Adore-ng y Phalanx2. Aunque es complicado que un atacante instale un rootkit habiendo tomado el administrador las medidas de seguridad adecuadas, tampoco es imposible dado los fallos de seguridad que se descubren da a da. Algunos IDS como Snort, son capaces de detectar la presencia de rootkits, sin embargo, tambien existen herramientas especificas para realizar esta tarea, como Rootkit Hunter (rkhunter) o chrootkit Poniendo a prueba nuestro sistema A continuacin, se describen brevemente algunas herramientas complementarias con las que podremos realizar nosotros mismos auditorias en busca de vulnerabilidades y configuraciones inapropiadas con el propsito de incrementar la seguridad de nuestro servidor. Todas estas herramientas estn disponibles para las principales distribuciones GNU/Linux. Lynis: Permite detectar en nuestra maquina errores de configuracin y posibles vulnerabilidades mediante un profundo anlisis del sistema. Entre las auditorias que lleva a cabo Lynis se encuentran: mtodos de autentificacin, expiracin de certificados, versiones antiguas de aplicaciones, contraseas de las cuentas de usuario y permisos de archivos. Nikto: Scanner diseado para detectar remotamente vulnerabilidades en servidores web. Entre sus principales caractersticas destacan el soporte para SSL, proxy y evasin ante software de deteccin de intrusos. Nmap (Network Mapper): Scanner de puertos realmente util a la hora de descubrir los servicios que se estan ejecutando en un servidor, o incluso, la familia y versin del sistema operativo (fingerprinting). Nessus: Scanner de vulnerabilidades basado en un demonio que lleva a cabo el escaneo (nessusd) y un cliente que reporta los resultados obtenidos.

Polticas De Linux

Una Poltica De Seguridad Dentro de una mquina o red de mquinas: El administrador o grupo de usuarios en conjunto, debera establecer una poltica de seguridad para:

Regular la asignacin de nuevos id de usuario, La cuanta de proteccin por contrasea requerida dentro del sistema la cantidad de conectividad que la mquina permite a las LANs y el mundo externo.La poltica de seguridad puede ser relativamente simple si el sistema esta relativamente aislado y tiene un pequeo grupo de usuario con la misma comunidad de intereses. La poltica de seguridad puede ser ms restrictiva si el sistema es grande y tiene varios grupos de usuarios tiene un elevado perfil pblico, o contiene datos especialmente sensibles o positivos. La responsabilidad principal del cumplimiento de las normas de seguridad corresponde a cada usuario individual. Los administradores del sistema pueden desarrollar un procedimiento de auditoras regulares con realimentacin a la comunidad de usuario.

La regla ms importante es conocer el sistema. Si el administrador y los usuarios del sistema utilizan: Las ordenes ps. Who. Is y otras rdenes de informacin del sistema. Se familiarizaran con la actividad normal da a da de la mquina y estarn alertas al estado del sistema en todo momento. Las desviaciones de las normas sern rpidamente advertidas el administrador del sistema podr tomar acciones para taponar los escapes.

Categoras generales de seguridad: a) Proteccin de los ficheros y datos privados de un usuario respecto del resto de los usuarios. b) Proteccin de los ficheros claves del sistema operativo contra daos accidentales o intencionales. c) Seguridad fsica de la mquina. d) Proteccin del sistema contra determinados ataques por parte de piratas (hackers).

Linux es un ncleo libre de sistema operativo (tambin suele referirse al ncleo como kernel ) basado en Unix Es uno de los principales ejemplos de software libre y de cdigo abierto Linux est licenciado bajo la GPL y est desarrollado por colaboradores de todo el mundo. El desarrollo del da a da tiene lugar en la Linux Kernel Mailing List Archive El ncleo Linux fue concebido por el entonces estudiante de ciencias de la computacin finlands, Linus Torvalds en 1991 Linux consigui rpidamente desarrolladores y usuarios que adoptaron cdigos de otros proyectos de software libre para usarlo con el nuevo sistema operativo. El ncleo Linux ha recibido contribuciones de miles de programadores de todo el mundo. Normalmente Linux se utiliza junto a un empaquetado de software, llamado distribucin Linux y servidores.

Arquitecturas

Diagrama del ncleo 2.4.0.

Actualmente Linux es un ncleo monoltico hbrido. Los controladores de dispositivos y las extensiones del ncleo normalmente se ejecutan en un espacio privilegiado conocido como anillo 0 (ring 0), con acceso irrestricto al hardware , aunque algunos se ejecutan en espacio de usuario . A diferencia de los ncleos monolticos tradicionales, los controladores de dispositivos y las extensiones al ncleo se pueden cargar y descargar fcilmente como mdulos , mientras el sistema contina funcionando sin interrupciones. Tambin, a diferencia de los ncleos monolticos tradicionales, los controladores pueden ser prevolcados (detenidos momentneamente por actividades ms importantes) bajo ciertas condiciones. Esta habilidad fue agregada para gestionar correctamente interrupciones de hardware , y para mejorar el soporte de multiprocesamiento simtrico. El hecho de que Linux no fuera desarrollado siguiendo el diseo de un microncleo (diseo que, en aquella poca, era considerado el ms apropiado para un ncleo por muchos tericos informticos) fue asunto de una famosa y acalorada discusin entre Linus Torvalds y Andrew S. Tanenbaum

Jerarqua de directorios

En Linux existe un sistema de archivos que carga y contiene todos los directorios, redes, programas, particiones, dispositivos, etc. que el sistema sabe reconocer, o por lo menos, identificar. Este sistema de ficheros y directorios, tiene como base al carcter (/); ese mismo carcter sirve tambin para demarcar los directorios, como por ejemplo: "/home/usuario/imagen.jpg". El directorio especificado por una ruta consistente slo por este carcter contiene toda la jerarqua de los directorios que constituyen todo el sistema. A este directorio suele llamrselo directorio raz. En Linux, a los discos no se les asigna una letra como en Windows (p.e. "C:"), sino que se les asigna un directorio de la jerarqua del directorio raz (/), como por ejemplo: "/media/floppy". Es prctica comn en el sistema de ficheros de Linux, utilizar varias sub-jerarquas de directorios, segn las diferentes funciones y estilos de utilizacin de los archivos. Estos directorios pueden clasificarse en:

Estticos: Contiene archivos que no cambian sin la intervencin del administrador (root), sin embargo, pueden ser ledos por cualquier otro usuario. (/bin, /sbin, /opt, /boot, /usr/bin...) Dinmicos: Contiene archivos que son cambiantes, y pueden leerse y escribirse (algunos solo por su respectivo usuario y el root). Contienen configuraciones, documentos, etc. Para estos directorios, es recomendable una copia de seguridad con frecuencia, o mejor an, deberan ser montados en una particin aparte en el mismo disco, como por ejemplo, montar el directorio /home en otra particin del mismo disco, independiente de la particin principal del sistema; de esta forma, puede repararse el sistema sin afectar o borrar los documentos de los usuarios. (/var/mail, /var/spool, /var/run, /var/lock, /home...) Compartidos: Contiene archivos que se pueden encontrar en un ordenador y utilizarse en otro, o incluso compartirse entre usuarios. Restringidos: Contiene ficheros que no se pueden compartir, solo son modificables por el administrador. (/etc, /boot, /var/run, /var/lock...)

Kernel panic

En Linux, un panic es un error casi siempre insalvable del sistema detectado por el ncleo en oposicin a los errores similares detectados en el cdigo del espacio de usuario. Es posible para el cdigo del ncleo indicar estas condiciones mediante una llamada a la funcin de pnico situada en el archivo header sys/system.h. Sin embargo, la mayora de las alertas son el resultado de excepciones en el cdigo del ncleo que el procesador no puede manejar, como referencias a direcciones de memorias invlidas. Generalmente esto es indicador de la existencia de un bug en algn lugar de la cadena de alerta. Tambin pueden indicar un fallo en el hardware como un fallo de la RAM o

errores en las funciones aritmticas en el procesador, o por un error en el software. En muchas ocasiones es posible reiniciar o apagar adecuadamente el ncleo mediante una combinacin de teclas como ALT+SysRq+REISUB
Lenguajes de programacin

Linux est escrito en el lenguaje de programacin C, en la variante utilizada por el compilador GCC (que ha introducido un nmero de extensiones y cambios al C estndar), junto a unas pequeas secciones de cdigo escritas con el lenguaje ensamblador. Por el uso de sus extensiones al lenguaje, GCC fue durante mucho tiempo el nico compilador capaz de construir correctamente Linux. Sin embargo, Intel afirm haber modificado su compilador C de forma que permitiera compilarlo correctamente. Asimismo se usan muchos otros lenguajes en alguna forma, bsicamente en la conexin con el proceso de construccin del ncleo (el mtodo a travs del cual las imgenes arrancables son creadas desde el cdigo fuente). Estos incluyen a Perl, Python y varios lenguajes shell scripting. Algunos drivers tambin pueden ser escritos en C++, Fortran, u otros lenguajes, pero esto no es aconsejable. El sistema de construccin de Linux oficialmente solo soporta GCC como ncleo y compilador de controlador.
Portabilidad

Ipod ejecutando un ncleo Linux.

An cuando Linus Torvalds no ide originalmente Linux como un ncleo portable , ha evolucionado en esa direccin. Linux es ahora de hecho, uno de los ncleos ms ampliamente portados, y funciona en sistemas muy diversos que van desde iPAQ (una handheld) hasta un zSeries (un mainframe masivo). Est planeado que Linux sea el sistema operativo principal de las nuevas supercomputadoras de IBM, Blue Gene cuando su desarrollo se complete. De todos modos, es importante notar que los esfuerzos de Torvalds tambin estaban dirigidos a un tipo diferente de portabilidad. Segn su punto de vista, la portabilidad es la habilidad de compilar fcilmente en un sistema aplicaciones de los orgenes ms diversos; as, la popularidad original de Linux se debi en parte al poco esfuerzo

necesario para tener funcionando las aplicaciones favoritas de todos, ya sean GPL o de Cdigo abierto. Las arquitecturas principales soportadas por Linux son DEC Alpha, ARM, AVR32, Blackfin, ETRAX CRIS, FR-V, H8, IA64, M32R, m68k, MicroBlaze, MIPS, MN10300, PA-RISC, PowerPC, System/390, SuperH, SPARC, x86, x86 64 y Xtensa
Arquitectura de mquina virtual

El ncleo Linux puede correr sobre muchas arquitecturas de mquina virtual, tanto como host del sistema operativo o como cliente. La mquina virtual usualmente emula la familia de procesadores Intel x86, aunque en algunos casos tambin son emulados procesadores de PowerPC o ARM
Formatos binarios soportados

Linux 1.0 admita slo el formato binario a.out. La siguiente serie estable (Linux 1.2) agreg la utilizacin del formato ELF, el cual simplifica la creacin de bibliotecas compartidas (usadas de forma extensa por los actuales ambientes de escritorio como GNOME y KDE). ELF es el formato usado de forma predeterminada por el GCC desde alrededor de la versin 2.6.0. El formato a.out actualmente no es usado, convirtiendo a ELF en el formato binario utilizado por Linux en la actualidad. Linux tiene la capacidad de permitir al usuario aadir el manejo de otros formatos binarios. Tambin binfmt_misc permite correr el programa asociado a un archivo de datos.

Versiones
Ms all de haber desarrollado su propio cdigo y de integrar los cambios realizados por otros programas, Linus Torvalds continua lanzando nuevas versiones del ncleo Linux. Estos son llamados ncleos vanilla, lo que significa que no han sido modificados por nadie.
Numeracin

La versin del ncleo Linux original constaba de cuatro nmeros. Por ejemplo, asumamos que el nmero de la versin est compuesta de esta forma: A.B.C[.D] (ej.: 2.2.1, 2.4.13 2.6.12.3).

El nmero A denota la versin del ncleo. Es el que cambia con menor frecuencia y solo lo hace cuando se produce un gran cambio en el cdigo o en el concepto del ncleo. Histricamente slo ha sido modificado tres veces: en 1994 (versin 1.0), en 1996 (versin 2.0) y en 2011 (versin 3.0). El nmero B denota la subversin del ncleo. Antes de la serie de Linux 2.6.x, los nmeros pares indicaban la versin estable lanzada. Por ejemplo una para uso de fabricacin, como el 1.2, 2.4 2.6. Los nmeros

impares, en cambio, como la serie 2.5.x, son versiones de desarrollo, es decir que no son consideradas de produccin. Comenzando con la serie Linux 2.6.x, no hay gran diferencia entre los nmeros pares o impares con respecto a las nuevas herramientas desarrolladas en la misma serie del ncleo. Linus Torvalds dictamin que este ser el modelo en el futuro.

El nmero C indica una revisin mayor en el ncleo. En la forma anterior de versiones con tres nmeros, esto fue cambiado cuando se implementaron en el ncleo los parches de seguridad, bugfixes, nuevas caractersticas o drivers. Con la nueva poltica, solo es cambiado cuando se introducen nuevos drivers o caractersticas; cambios menores se reflejan en el nmero D. El nmero D se produjo cuando un grave error, que requiere de un arreglo inmediato, se encontr en el cdigo NFS de la versin 2.6.8. Sin embargo, no haba otros cambios como para lanzar una nueva revisin (la cual hubiera sido 2.6.9). Entonces se lanz la versin 2.6.8.1, con el error arreglado como nico cambio. Con 2.6.11, esto fue adoptado como la nueva poltica de versiones. Bug-fixes y parches de seguridad son actualmente manejados por el cuarto nmero dejando los cambios mayores para el nmero C.

Tambin, algunas veces luego de las versiones puede haber algunas letras como rc1 o mm2. El rc se refiere a release candidate e indica un lanzamiento no oficial. Otras letras usualmente (pero no siempre) hacen referencia a las iniciales de la persona. Esto indica una bifurcacin en el desarrollo del ncleo realizado por esa persona, por ejemplo ck se refiere a Con Kolivas, ac a Alan Cox, mientras que mm se refiere a Andrew Morton. El modelo de desarrollo para Linux 2.6 fue un cambio significativo desde el modelo de desarrollo de Linux 2.5. Previamente exista una rama estable (2.4) donde se haban producido cambios menores y seguros, y una rama inestable (2.5) donde estaban permitidos cambios mayores. Esto signific que los usuarios siempre tenan una versin 2.4 a prueba de fallos y con lo ltimo en seguridad y casi libre de errores, aunque tuvieran que esperar por las caractersticas de la rama 2.5. La rama 2.5 fue eventualmente declarada estable y renombrada como 2.6. Pero en vez de abrir una rama 2.7 inestable, los desarrolladores de ncleos eligieron continuar agregando los cambios en la rama estable 2.6. De esta forma no haba que seguir manteniendo una rama vieja pero estable y se poda hacer que las nuevas caractersticas estuvieran rpidamente disponibles y se pudieran realizar ms pruebas con el ltimo cdigo. Sin embargo, el modelo de desarrollo del nuevo 2.6 tambin signific que no haba una rama estable para aquellos que esperaban seguridad y bug fixes sin necesitar las ltimas caractersticas. Los arreglos solo estaban en la ltima versin, as que si un usuario quera una versin con todos los bug fixed conocidos tambin tendra las ltimas caractersticas, las cuales no haban sido bien probadas. Una solucin parcial para esto fue la versin ya mencionada de cuatro nmeros (y en 2.6.x.y), la cual significaba lanzamientos puntuales creados por el equipo estable (Greg Kroah-Hartman, Chris Wright, y quizs otros). El equipo estable solo lanzaba actualizaciones para el ncleo ms reciente, sin embargo esto no solucion el problema del faltante de una serie estable de ncleo. Distribuidores de Linux, como Red Hat y Debian, mantienen los

ncleos que salen con sus lanzamientos, de forma que una solucin para algunas personas es seguir el ncleo de una distribucin. Como respuesta a la falta de un ncleo estable y de gente que coordinara la coleccin de correccin de errores, en diciembre de 2005 Adrian Bunk anunci que continuara lanzando ncleos 2.6.16 aun cuando el equipo estable lanzara 2.6.17. Adems pens en incluir actualizaciones de controladores, haciendo que el mantenimiento de la serie 2.6.16 sea muy parecido a las viejas reglas de mantenimiento para las serie estables como 2.4. El ncleo 2.6.16 ser reemplazado prximamente por el 2.6.27 como ncleo estable en mantenimiento durante varios aos. Dado el nuevo modelo de desarrollo, que mantiene fija la subversin de 2.6, tras durante el Linux Kernel Summit de ese ao, Linus Torvalds decidi modificar el sistema de numeracin, sustituyendo los dos primeros nmeros por una nica cifra, de forma que Linux 2.6.39 fue seguida por Linux 3.0

Distribuciones

Sharp Zaurus, un computador de bolsillo con Linux.

Una distribucin Linux es un conjunto de software acompaado del ncleo Linux que se enfoca a satisfacer las necesidades de un grupo especfico de usuarios. De este modo hay distribuciones para hogares, empresas y servidores. Las distribuciones son ensambladas por individuos, empresas u otros organismos. Cada distribucin puede incluir cualquier nmero de software adicional, incluyendo software que facilite la instalacin del sistema. La base del software incluido con cada distribucin incluye el ncleo Linux, en la mayora de los casos las herramientas GNU, al que suelen aadirse tambin multitud de paquetes de software.

Las herramientas que suelen incluirse en la distribucin de este sistema operativo se obtienen de diversas fuentes, y en especial de proyectos de software libre, como: GNU, GNOME (creado por GNU) y KDE. Tambin se incluyen utilidades de otros proyectos como Mozilla, Perl, Ruby, Python, PostgreSQL, MySQL, Xorg, casi todas con licencia GPL o compatibles con sta (LGPL, MPL). Usualmente se utiliza la plataforma X.Org Server, basada en la antigua XFree86, para sostener la interfaz grfica

Copyright
Inicialmente, Torvalds distribuy Linux bajo los trminos de una licencia que prohiba la explotacin comercial. Pero esta licencia fue reemplazada, poco tiempo despus, por la GNU GPL (versin 2 exclusivamente). Los trminos de esta ltima licencia permiten la distribucin y venta de copias o incluso modificaciones, pero requiere que todas las copias del trabajo original y trabajos de autora derivados del original sean publicados bajo los mismos trminos, y que el cdigo fuente siempre pueda obtenerse por el mismo medio que el programa licenciado. Torvalds se ha referido a haber licenciado Linux bajo la GPL como "la mejor cosa que he hecho" (en ingls, "the best thing I ever did"). Sin embargo, la versin oficial del ncleo Linux contiene firmware de cdigo cerrado, por ello, el Proyecto Linux-libre auspiciado por la FSFLA, publica y mantiene versiones modificadas del ncleo Linux a las que se les ha quitado todo el software no libre.

Crticas
Soporte de hardware

El ncleo Linux ha sido criticado con frecuencia por falta de controladores para cierto hardware de computadoras de escritorio. Sin embargo, el progresivo incremento en la adopcin de Linux en el escritorio ha mejorado el soporte de hardware por parte de terceros o de los propios fabricantes, provocando que, en los ltimos aos, los problemas de compatibilidad se reduzcan. Empresas como IBM, Intel Corporation, Hewlett-Packard Dell o MIPsTechnologies tienen programadores en el equipo de desarrolladores del ncleo Linux que se encargan de mantener los controladores para el hardware que fabrican. Este grupo de programadores tambin se le suman los que provee grandes distribuidores de soluciones Linux como Novell o Red Hat
Arquitectura monoltica

Andy Tanenbaum escribi el 29 de enero de 1992: ...Linux es un sistema monoltico. Esto es retroceder un paso gigante hacia la dcada de 1970. Es como tomar un programa existente escrito en C y reescribirlo en BASIC. Para m, escribir un sistema monoltico en 1991 es verdaderamente una idea pobre

Historia de Linux

Linux, es un sistema operativo. Es una implementacin de libre distribucin UNIX para computadoras personales (PC), servidores y estaciones de trabajo. Linux (pronunciacin IPA: /linuks/) es la denominacin de un sistema operativo tipo-Unix y el nombre de un ncleo. Es uno de los paradigmas ms prominentes del software libre y del desarrollo del cdigo abierto, cuyo cdigo fuente est disponible pblicamente, para que cualquier persona puede libremente usarlo, estudiarlo, redistribuirlo y, con los conocimientos informticos adecuados, modificarlo. Linux es usado como sistema operativo en una amplia variedad de plataformas de hardware y computadores, incluyendo los computadores de escritorio (PCs x86 y x86-64, y Macintosh y PowerPC), servidores, supercomputadores, mainframes, y dispositivos empotrados as como telfonos celulares. En 1983 Richard Stallman fund el proyecto GNU, con el fin de crear sistemas operativos parecidos a UNIX y compatibles con POSIX. Dos aos ms tarde cre la "Fundacin del Software Libre" y escribi la GNU General Public License para posibilitar el software libre en el sistema de copyright. El software GNU se extenda muy de prisa y dentro de poco una multitud de programas fueron escritos, de manera que ya a principios de 1990 haba bastantes software GNU como para hacer un sistema operativo propio, pero faltaba el Kernel. A principios de los aos 1990, no haba un sistema operativo libre completo. A pesar de que el proyecto GNU era desarrollado constantemente, no dispona sin embargo de ningn buen Kernel basado en UNIX, por el contrario era un nmero de proyectos de software libres que podan ser traducidos en las variantes UNIX mediante el compilador de GNU. LINUS BENEDIT TORVALD Linus Benedit Torvalds naci en Helsinki, Finlndia, en el ao de 1969. Su abuelo, matemtico y estadista le compr un Comodore en 1980 y fue quien "enganch" a Linus al mundo de los computadores. En 1988 Linus Torvalds entr a la Universidad. Ese mismo ao fue cuando el sistema operativo didctico, basado en UNIX y creado por Andy Tannenbaum, empez a cobrar importncia. Dicho sistema era el Minix. Linus entr a formar parte de la comunidad de usuarios Minix. Andy Tannenbaum cometi un error en su sistema operativo. Era demasiado limitado, tanto tcnicamente como politcamente, en ningn momento tuvo en cuenta la posibilidad de incluir Minix al proyecto GNU. La creacin de Andy Tannenbaum estaba pensando para ser distribuida. Su primer error fue ceder todos sus derechos a Prentice Hall, que empez a cobrar 150 dlares por licencia. As, Linus tom la decisin de cambiar esta poltica debido a que el sistemaMinix era ideal para los estudiantes de sistemas operativos, y su precio era considerablemente alto. Ao 1991, cuando Linus se acab de comprar su primer 386, la intencin era crear un

nuevo Kernel (al que porteriormente llamara Linux) de UNIX basado en el Kernel de Minix y modificarlo peridicamente de manera que fuera capaz de ejecutar aplicaciones GNU. La historia de Linux est fuertemente vinculada a la del proyecto GNU. Hacia 1991, cuando la primera versin del ncleo Linux fue liberada, el proyecto GNU haba producido varios de los componentes del sistema operativo, incluyendo un intrprete de comandos, una biblioteca C y un compilador, pero an no contaba con el ncleo que permitiera complementar el sistema operativo. Entonces, el ncleo creado por Linus Torvalds, llen el hueco final que el sistema operativo GNU exiga. Linus nunca anunci la versin 0.01 de Linux (agosto 1991), esta versin no era ejecutable, solamente inclua los principios del nucleo del sistema, estaba escrita en lenguaje ensamblador y asuma que uno tena acceso a un sistema Minix para su compilacin. El 5 de octubre de 1991, Linus anuncio la primera versin "Oficial" de Linux, - versin 0.02. Con esta versin Linus pudo ejecutar Bash (GNU Bourne Again Shell) y gcc (Compilador GNU de C) pero no mucho mas funcionaba. En este estado de desarrollo ni se pensaba en los terminos soporte, documentacion, distribucin. Despus de la versin 0.03, Linus salto en la numeracin hasta la 0.10, ms programadores a lo largo y ancho del internet empezaron a trabajar en el proyecto y despus de revisiones, Linus incremento el numero de version hasta la 0.95 (marzo 1992). En Diciembre de 1993 el nucleo del sistema estaba en la versin 0.99 y la versin 1.0, llego el 14 de marzo de 1994. Linux se refiere estrictamente al ncleo Linux, pero es comnmente utilizado para describir al sistema operativo tipo Unix (que implementa el estndar POSIX), que utiliza primordialmente filosofa y metodologas libres (tambin conocido como GNU/Linux) y que est formado mediante la combinacin del ncleo Linux con las bibliotecas y herramientas del proyecto GNU y de muchos otros proyectos/grupos de software (libre o no libre). La expresin "Linux" es utilizada para referirse a las distribuciones GNU/Linux, colecciones de software que suelen contener grandes cantidades de paquetes adems del ncleo. El software que suelen incluir consta de una enorme variedad de aplicaciones, como: entornos grficos, suites ofimticas, servidores web, servidores de correo, servidores FTP, etctera . Coloquialmente se aplica el trmino "Linux" a stas. Algunas personas opinan que es incorrecto denominarlas distribuciones Linux, y proponen llamarlas sistema GNU/Linux. Otras personas opinan que los programas incluidos proceden de fuentes tan variadas que proponen simplificarlo denominndolo simplemente a "Linux". Pronunciacin: /l.nuks/, no /li.nuks/ Caracteristicas de Linux [Fuente: Infosheet-Como. Autor: Ivan Casado] :

Multitarea: La palabra multitarea describe la habilidad de ejecutar varios programas al mismo


tiempo. LINUX utiliza la llamada multitarea preeventiva, la cual asegura que todos los programas que se estan utilizando en un momento dado seran ejecutados, siendo el sistema operativo el encargado de ceder tiempo de microprocesador a cada programa.

Multiusuario: Muchos usuarios usando la misma maquina al mismo tiempo. Multiplataforma: Las plataformas en las que en un principio se puede utilizar Linux son 386-,
486-. Pentium, Pentium Pro, Pentium II,Amiga y Atari, tambien existen versiones para su utilizacion en otras plataformas, como Alpha, ARM,MIPS, PowerPC y SPARC.

Multiprocesador: Soporte para sistemas con mas de un procesador esta disponible para Intel
y SPARC.

Funciona en modo protegido 386. Proteccin de la memoria entre procesos, de manera que uno de ellos no pueda colgar el
sistema.

Carga de ejecutables por demanda: Linux slo lee del disco aquellas partes de un programa
que estn siendo usadas actualmente.

Poltica de copia en escritura para la comparticin de pginas entre ejecutables: esto


significa que varios procesos pueden usar la misma zona de memoria para ejecutarse. Cuando alguno intenta escribir en esa memoria, la pgina (4Kb de memoria) se copia a otro lugar. Esta poltica de copia en escritura tiene dos beneficios: aumenta la velocidad y reduce el uso de memoria.

Memoria virtual usando paginacin (sin intercambio de procesos completos) a disco: A una
particin o un archivo en el sistema de archivos, o ambos, con la posibilidad de aadir ms reas de intercambio sobre la marcha Un total de 16 zonas de intercambio de 128Mb de tamao mximo pueden ser usadas en un momento dado con un lmite terico de 2Gb para intercambio. Este limite se puede aumentar facilmente con el cambio de unas cuantas lineas en el codigo fuente.

La memoria se gestiona como un recurso unificado para los programas de usuario y para el
cach de disco, de tal forma que toda la memoria libre puede ser usada para cach y sta puede a su vez ser reducida cuando se ejecuten grandes programas.

Libreras compartidas de carga dinmica (DLL's) y libreras estticas. Se realizan volcados de estado (core dumps) para posibilitar los anlisis post-mortem,
permitiendo el uso de depuradores sobre los programas no slo en ejecucin sino tambin tras abortar stos por cualquier motivo.

Compatible con POSIX, System V y BSD a nivel fuente. Emulacin de iBCS2, casi completamente compatible con SCO, SVR3 y SVR4 a nivel
binario.

Todo el cdigo fuente est disponible, incluyendo el ncleo completo y todos los drivers, las
herramientas de desarrollo y todos los programas de usuario; adems todo ello se puede distribuir libremente. Hay algunos programas comerciales que estn siendo ofrecidos para Linux actualmente sin cdigo fuente, pero todo lo que ha sido gratuito sigue siendo gratuito.

Control de tareas POSIX. Pseudo-terminales (pty's). Emulacin de 387 en el ncleo, de tal forma que los programas no tengan que hacer su
propia emulacin matemtica. Cualquier mquina que ejecute Linux parecer dotada de coprocesador matemtico. Por supuesto, si el ordenador ya tiene una FPU (unidad de coma flotante), esta ser usada en lugar de la emulacin, pudiendo incluso compilar tu propio kernel sin la emulacin matemtica y conseguir un pequeo ahorro de memoria.

Soporte para muchos teclados nacionales o adaptados y es bastante fcil aadir nuevos

dinmicamente.

Consolas virtuales mltiples: varias sesiones de login a travs de la consola entre las que se
puede cambiar con las combinaciones adecuadas de teclas (totalmente independiente del hardware de video). Se crean dinmicamente y puedes tener hasta 64.

Soporte para varios sistemas de archivo comunes, incluyendo minix-1, Xenix y todos los
sistemas de archivo tpicos de System V, y tiene un avanzado sistema de archivos propio con una capacidad de hasta 4 Tb y nombres de archivos de hasta 255 caracteres de longitud.

Acceso transparente a particiones MS-DOS (o a particiones OS/2 FAT) mediante un sistema


de archivos especial: no es necesario ningn comando especial para usar la particin MS-DOS, esta parece un sistema de archivos normal de Unix (excepto por algunas restricciones en los nombres de archivo, permisos, y esas cosas). Las particiones comprimidas de MS-DOS 6 no son accesibles en este momento, y no se espera que lo sean en el futuro. El soporte para VFAT (WNT, Windows 95) ha sido aadido al ncleo de desarrollo y estar en la prxima versin estable.

Un sistema de archivos especial llamado UMSDOS que permite que Linux sea instalado en
un sistema de archivos DOS.

Soporte en slo lectura de HPFS-2 del OS/2 2.1 Sistema de archivos de CD-ROM que lee todos los formatos estndar de CD-ROM. TCP/IP, incluyendo ftp, telnet, NFS, etc. Appletalk. Software cliente y servidor Netware. Lan Manager / Windows Native (SMB), software cliente y servidor. Diversos protocolos de red incluidos en el kernel: TCP, IPv4, IPv6, AX.25, X.25, IPX, DDP,
Netrom, etc. DISTRIBUIDORES LINUX Una distribucin es un modo de facilitar la instalacin, la configuracin y el mantenimiento de un sistema GNU/Linux. Existen numerosas distribuciones Linux (tambin conocidas como "distros"), ensambladas por individuos, empresas y otros organismos. Entre las distribuciones de GNU/Linux, destacan el proyecto Debian/GNU. Debian nace como una iniciativa no comercial de la FSF, aunque luego se independiza de sta y va ms all del propio sistema GNU/Linux. Es la nica de las grandes distribuciones que no tiene intereses comerciales ni empresariales. Son sus propios usuarios, quienes mantienen la distribucin de modo comunitario, incluidas todas sus estructuras de decisin y funcionamiento. Su objetivo es recopilar, difundir y promover el uso del software libre. Rene el mayor catlogo de software libre, todos ellos probados, mantenidos y documentados por algn desarrollador voluntario. En una distribucin hay todo el software necesario para instalar en un ordenador personal; servidor, correo, ofimtica, fax, navegacin de red, seguridad, etc

Cuales son las ventajas de Linux frente a Windows?, en qu se diferencian? La instalacin:

En Linux a pesar de todos los esfuerzos la instalacin no resulta sencilla siempre, pero te permite personalizar totalmente los paquetes que quieras instalar. En Windows la instalacin es mnimamente configurarle aunque es muy sencilla.

La compatibilidad: Ninguno de los dos sistemas operativos son totalmente compatibles con el Hardware, a pesar de que Windows se acerca ms, los dos estn cerca de conseguirlo.

Aunque Linux no esta detrs de ninguna casa comercial gracias a su elevada popularidad ofrece una alta compatibilidad ofreciendo, adems, actualizaciones frecuentes.

Windows al ser parte de Microsoft intenta ofrecer una gran cantidad de drivers ya que su gran poder econmico hace que las empresas mismas de hardware creen sus propios drivers.

Software:

Linux al tener menos software en algunos campos sufre una menor aceptacin por parte de las empresas, aunque gracias a los apoyos de empresas como Sun Microsystems o IBM se ha logrado muchos avances. Windows al ser el ms fcil de usar en las empresas, posee una gran cantidad de software.

Robustez:

Linux se ha caracterizado siempre por la robustez de su sistema ya que pueden pasar meses e incluso aos sin la necesidad de apagar o reiniciar el equipo, tambin si una aplicacin falla simplemente no bloquea totalmente al equipo. En Windows siempre hay que reiniciar cuando se cambia la configuracin del sistema, se bloquea fcilmente cuando ejecuta operaciones aparentemente simples por lo que hay que reiniciar el equipo.

Conclusin: Tanto Windows como Linux tienen su ventajas y inconvenientes, aunque desde un punto de vista ms tcnico Linux sale ganando. Razones para cambiar:

Es software libre, lo que quiere decir que no hay que pagar nada por el sistema en s. Es un sistema operativo muy fiable ya que hereda la robustez de UNIX. Ideal para las redes ya que fue diseado en Internet y para Internet No es cierto que tenga pocos programas, solo en algn campo muy especifico. Es 100% configurarle. Es el sistema ms seguro, ya que al disponer del cdigo fuente cualquiera puede darse cuanta de algn fallo, se puede decir que decenas de miles de personas velan por tu seguridad.

Existe muchsima documentacin, tambin en espaol gracias a los proyectos como LUCAS. Cuenta con el soporte de muchas grandes empresas como IBM, Corel, Lotus, Siemens, Motorola, Sun, etc. Puedes encontrar ayuda en millones de sitios en Internet como los foros. Es muy portable, si tienes un Mac un Alpha o un Sparc puedes usar Linux sin problemas.
El debate Linux vs Windows es una tema candente en la actualidad, por lo que intentar analizar en esta tabla los pros y los contras de elegir uno u otro. Lo he hecho con toda la subjetividad posible, pero acepto sugerencias y opiniones. Ah y tranquilos, que ya le llegar el turno a MAC. Comparativa GNU/Linux vs Microsoft Windows Tecnoblogy

Aspecto Filosofa

GNU/Linux Es un sistema al que

Windows Pertenece a una compaa,

cualquiere puede acceder. Se Microsoft, que es la nica puede distribuir, usar y modificar libremente autorizada tanto de realizar modificaciones como de distribuirlo. Precio Es software libre, de uso gratuito con tantas licencias como se deseen. Desarrollo Mantenido por miles de Dependiendo de las versiones, cientos de euros por cada licencia. Desarrollado por Microsoft,

voluntarios en todo el mundo, que vende los datos tcnicos pertenece a una comunidad en la que cualquiera puede participar. Cdigo fuente Estabilidad Abierto a todo el mundo. Muy estable, siendo relativamente difcil que el sistema se quede colgado. Cerrado, secreto empresarial. Cuelgues habituales del sistema, para muchas tareas administrativas es necesario imprescindibles y ms relevantes y oculta otros.

Comparativa GNU/Linux vs Microsoft Windows Tecnoblogy Cuando una aplicacin se bloquea es fcil e inmediato reiniciar la mquina. Cuando una aplicacin se queda

terminar ese proceso, sin que bloqueada repercute en el afecta a la estabilidad del resto del sistema. Puede funcionar durante meses sin reiniciar y con el mismo rendimiento. resto, llegando comprometer la estabilidad de todo el sistema. No es capaz de funcionar ms de una semana sin reiniciar, decreciendo enormemente el rendimiento. Seguridad Extremadamente seguro. Su Absolutamente inseguro,

sistema de permisos hace que existen miles de virus y la los pocos virus que existen no instalacin de firewares, causen ningn dao al sistema. antivirus, etc es completamente necesaria. Algunos de ellos pueden llegar a formatear la particin Windows. Facilidad de uso Para tareas cotidianas, la Precisamente la idea de

misma que Windows. Segn la Windows era llevar la distribucin, ciertas tareas administrativas pueden suponer pequeos problemas para los usuarios ms novatos. Da a da mejora en este aspecto. Controladores de Hardware Desarrollados por voluntarios. Todos los fabricantes de La mayora de dispositivos funcionan a la perfeccin, otros no lo hacen completamente ya que sus fabricantes ocultan los dispositivos los venden junto a controladores especficos de Windows, que deben funcionar en pocos minutos. informtica al usuario ms inexperto, descuidando sin embargo otros aspectos de suma importancia.

Comparativa GNU/Linux vs Microsoft Windows Tecnoblogy detalles tcnicos. Difusin Poco extendido en hogares. Utilizado casi por la totalidad de servidores (los propios server de Microsoft funcionan bajo Linux). Disponibilidad de programas Existen programas para realizar todas las tareas, aunque la variedad no es tan grande como en Windows. Precio de los programas Generalmente libres y gratuitos. No obstante, tambin existen de pago. Compatibilidad con otros sistemas operativos Se comunica por red con cualquier sistema. Escribe en todos los sistemas de La mayor parte son de pago, y es necesario abonar cientos de euros por las licencias. Suele presentar incompatibilidades con otros sistemas operativos, e incluso Millones de programas de todo tipo. Ocupa el 90% del mercado de ordenadores domsticos.

archivos, si bien el NTFS no lo con versiones anteriores del controla con total estabilidad, al no haber proporcionado Windows todos sus detalles. mismo. Slo lee y escribe sus propios sistemas de archivos.

Introduccin En una era de cambios en el ambiente computacional, de una amplia oferta en sistemas operativos e interfaces grficas y sobre todo, del costo que representa contar con un sistema operativo que interactue con el software sin problemas, surge con fuerza inusitada: Linux LINUX es un sistema operativo, compatible Unix. Dos caractersticas muy peculiares lo diferencian del resto de los sistemas que podemos encontrar en el mercado, la primera, es que es libre, esto significa que no tenemos que pagar ningn tipo de licencia a ninguna casa desarrolladora de software por el uso del mismo, la segunda, es que el sistema viene acompaado del cdigo fuente. El sistema lo forman el ncleo del sistema (kernel) mas un gran numero de programas / libreras que hacen posible su utilizacin. LINUX se distribuye bajo la GNU Public License: Ingles , por lo tanto, el cdigo fuente tiene que estar siempre accesible.

El sistema ha sido diseado y programado por multitud de programadores alrededor del mundo. El ncleo del sistema sigue en continuo desarrollo bajo la coordinacin de Linus Torvalds, la persona de la que parti la idea de este proyecto, a principios de la dcada de los noventa. Da a da, ms y ms programas / aplicaciones estn disponibles para este sistema, y la calidad de los mismos aumenta de versin a versin. La gran mayora de los mismos vienen acompaados del cdigo fuente y se distribuyen gratuitamente bajo los trminos de licencia de la GNU Public License. En los ltimos tiempos, ciertas casas de software comercial han empezado a distribuir sus productos para Linux y la presencia del mismo en empresas aumenta rpidamente por la excelente relacin calidad - precio que se consigue con Linux. Las plataformas en las que en un principio se puede utilizar Linux son 386-, 486-. Pentium, Pentium Pro, Pentium II, Amiga y Atari, tambin existen versiones para su utilizacin en otras plataformas, como Alpha, ARM, MIPS, PowerPC y SPARC. Resea Historia del Linux: Linux fue creado originalmente por Linus Torvald en la Universidad de Helsinki en Finlandia, siendo l estudiante de informtica. Pero ha continuado su desarrollado con la ayuda de muchos otros programadores a travs de Internet. Linux originalmente inicio el desarrollo del ncleo como su proyecto favorito, inspirado por su inters en Minix, un pequeo sistema Unix desarrollado por Andy Tannenbaum. l se propuso a crear lo que en sus propias palabras seria un "mejor Minix que el Minix". El 5 de octubre de 1991, Linux anuncio su primera versin "oficial" de Linux, versin 0.02. Desde entonces , muchos programadores han respondido a su llamada, y han ayudado a construir Linux como el sistema operativo completamente funcional que es hoy. QU ES LINUX? Linux es un sistema operativo diseado por cientos de programadores de todo el planeta, aunque el principal responsable del proyecto es Linus Tovalds. Su objetivo inicial es propulsar el software de libre distribucin junto con su cdigo fuente para que pueda ser modificado por cualquier persona, dando rienda suelta a la creatividad. El hecho de que el sistema operativo incluya su propio cdigo fuente expande enormemente las posibilidades de este sistema. Este mtodo tambin es aplicado en numerosas ocasiones a los programas que corren en el sistema, lo que hace que podamos encontrar muchisimos programas tiles totalmente gratuitos y con su cdigo fuente. Y la cuestin es que, seores y seoras, Linux es un sistema operativo totalmente gratuito. Mi mquina corre Linux, y puedo asegurar que es uno de los sistemas que ms aprovecha mi computadora, es decir, con el consigo ejecutar tareas mucho ms rpido que con otros sistemas operativos comerciales. Y es que Linux no requiere grandes prestaciones para funcionar. Las funciones principales de este magnfico sistema operativo son:

Sistema multitarea En Linux es posible ejecutar varios programas a la vez sin necesidad de tener que parar la ejecucin de cada aplicacin. Sistema multiusuario Varios usuarios pueden acceder a las aplicaciones y recursos del sistema Linux al mismo tiempo. Y, por supuesto, cada uno de ellos puede ejecutar varios programas a la vez (multitarea). Shells programables Un shell conecta las ordenes de un usuario con el Kernel de Linux (el ncleo del sistema), y al ser programables se puede modificar para adaptarlo a tus necesidades. Por ejemplo, es muy til para realizar procesos en segundo plano. Independencia de dispositivos Linux admite cualquier tipo de dispositivo (mdems, impresoras) gracias a que cada una vez instalado uno nuevo, se aade al Kernel el enlace o controlador necesario con el dispositivo, haciendo que el Kernel y el enlace se fusionen. Linux posee una gran adaptabilidad y no se encuentra limitado como otros sistemas operativos. Comunicaciones Linux es el sistema ms flexible para poder conectarse a cualquier ordenador del mundo. Internet se cre y desarrollo dentro del mundo de Unix, y por lo tanto Linux tiene las mayores capacidades para navegar, ya que Unix y Linux son sistemas prcticamente idnticos. Con linux podr montar un servidor en su propia casa sin tener que pagar las enormes cantidades de dinero que piden otros sistemas.

Linux no sacrifica en ningn momento la creatividad, tal y como lo hacen algunas compaas informticas. Linux es una ventana abierta por la que es posible huir hacia un mundo donde la verdadera informtica puede ser disfrutada sin limites ni monopolios. Linux es distribuido mediante una serie de distribuciones como RedHat, Slackware, Deban ... las cuales se diferencian por su mtodo de instalacin y por los paquetes (software) que viene incluido. Es posible que encuentre a la venta versiones de Linux y piense: "si, si.... decan que era gratis..." No se asuste, todo el software de Linux esta regido por la licencia de GNU, con la cual cualquier persona puede modificar un programa y venderlo segn el desee, con la condicin que la persona que compra ese producto puede realizar la misma accin o simplemente hacer copias para todos aquellos que lo quieran sin tener que pagar ms (por lo tanto no se extrae si encuentra distribucin comerciales). Esta licencia es la garanta que afirma la absoluta libertad de este sistema operativo. Si no desea ni siquiera pagar esa msera cantidad puede descargrselo de Internet totalmente gratis (bueno, slo tendr que pagar la factura de telfono ).

Caractersticas de Linux

multitarea: varios programas (realmente procesos) ejecutndose al mismo tiempo. multiusuario: varios usuarios en la misma mquina al mismo tiempo (y sin licencias para todos). multiplataforma: corre en muchas CPUs distintas, no slo Intel. funciona en modo protegido 386. tiene proteccin de la memoria entre procesos, de manera que uno de ellos no pueda colgar el sistema. carga de ejecutables por demanda: Linux slo lee de disco aquellas partes de un programa que estn siendo usadas actualmente. poltica de copia en escritura para la comparticin de pginas entre ejecutables: esto significa que varios procesos pueden usar la misma zona de memoria para ejecutarse. Cuando alguno intenta escribir en esa memoria, la pgina (4Kb de memoria) se copia a otro lugar. Esta poltica de copia en escritura tiene dos beneficios: aumenta la velocidad y reduce el uso de memoria. memoria virtual usando paginacin (sin intercambio de procesos completos) a disco: una particin o un archivo en el sistema de archivos, o ambos, con la posibilidad de aadir ms reas de intercambio sobre la marcha (se sigue denominando intercambio, es en realidad un intercambio de pginas). Un total de 16 zonas de intercambio de 128Mb de tamao mximo pueden ser usadas en un momento dado con un lmite terico de 2Gb para intercambio. la memoria se gestiona como un recurso unificado para los programas de usuario y para el cach de disco, de tal forma que toda la memoria libre puede ser usada para cach y ste puede a su vez ser reducido cuando se ejecuten grandes programas. libreras compartidas de carga dinmica (DLL's) y libreras estticas tambin, por supuesto. se realizan volcados de estado (core dumps) para posibilitar los anlisis post-mortem, permitiendo el uso de depuradores sobre los programas no slo en ejecucin sino tambin tras abortar stos por cualquier motivo. casi totalmente compatible con POSIX, System V y BSD a nivel fuente. mediante un mdulo de emulacin de iBCS2, casi completamente compatible con SCO, SVR3 y SVR4 a nivel binario. todo el cdigo fuente est disponible, incluyendo el ncleo completo y todos los drivers, las herramientas de desarrollo y todos los programas de usuario; adems todo ello se puede distribuir libremente. Hay algunos programas comerciales que estn siendo ofrecidos para Linux actualmente sin cdigo fuente, pero todo lo que ha sido gratuito sigue siendo gratuito. control de tareas POSIX. pseudo-terminales (pty's). emulacin de 387 en el ncleo, de tal forma que los programas no tengan que hacer su propia emulacin matemtica. Cualquier mquina que ejecute Linux parecer dotada de coprocesador matemtico. Por supuesto, si tu ordenador ya tiene una FPU (unidad de coma flotante), ser usada en lugar de la emulacin, pudiendo incluso compilar tu propio kernel sin la emulacin matemtica y conseguir un pequeo ahorro de memoria. soporte para muchos teclados nacionales o adaptados y es bastante fcil aadir nuevos dinmicamente. consolas virtuales mltiples: varias sesiones de login a travs de la consola entre las que se puede cambiar con las combinaciones adecuadas de teclas (totalmente independiente del hardware de video). Se crean dinmicamente y puedes tener hasta 64.

soporte para varios sistemas de archivo comunes, incluyendo minix-1, Xenix y todos los sistemas de archivo tpicos de System V, y tiene un avanzado sistema de archivos propio con una capacidad de hasta 4 Tb y nombres de archivos de hasta 255 caracteres de longitud. acceso transparente a particiones MS-DOS (o a particiones OS/2 FAT) mediante un sistema de archivos especial: no necesitas ningn comando especial para usar la particin MS-DOS, parece un sistema de archivos normal de Unix (excepto por algunas graciosas restricciones en los nombres de archivo, permisos, y esas cosas). Las particiones comprimidas de MS-DOS 6 no son accesibles en este momento, y no se espera que lo sean en el futuro. El soporte para VFAT (WNT, Windows 95) ha sido aadido al ncleo de desarrollo y estar en la prxima versin estable. un sistema de archivos especial llamado UMSDOS que permite que Linux sea instalado en un sistema de archivos DOS. soporte en slo lectura de HPFS-2 del OS/2 2.1 sistema de archivos de CD-ROM que lee todos los formatos estndar de CD-ROM. TCP/IP, incluyendo ftp, telnet, NFS, etc. Appletalk disponible en el actual ncleo de desarrollo. software cliente y servidor Netware disponible en los ncleos de desarrollo. LINUX - COMANDOS BSICOS date muestra la fecha del sistema. date u mmddhhhhaa cambia la fecha del sistema, ej. 1202120095 es igual a mes 12, da 02, hora 12:00 y ao 1995. logout sale de la actual sesin. login sale de la actual sesin. ^D sale de la actual sesin. Alt+F1 inicia una consola virtual (varias a la vez: F1,F2,F3...) passwd cambia el password del actual usuario. ^C aborta programa en ejecucin. ^S paraliza la pantalla. ^Q anula la paralizacin de la pantalla. who lista los usuarios conectados. who am i lista tu nombre. who you are lista tu nombre. mail nombre enva correo, se finaliza escribiendo un punto en una lnea sola. mail visualiza tu correo, teclea ? para ayuda. ls lista directorios y ficheros. ls i lista directorios y ficheros con sus i-nmeros. ls a lista directorios y ficheros en orden alfabtico. ls s lista directorios y ficheros con su tamao en bloque (1 bloque= 512 bytes) ls r lista directorios y ficheros en orden inverso. ls u lista directorios y ficheros segn ltimo acceso. ls l lista todos los directorios y ficheros en formato largo. Head n lines selecciona la primera lnea (ej. ls|head 1 lines) cat file file ... visualiza seguidamente los ficheros indicados. cat file file > file graba los dos archivos en uno. ln file link crea un enlace a un archivo, los dos contienen el mismo fichero fsico, si cambias uno, cambia el otro. Pero si borras uno todava queda el otro. cp file file copia ficheros. rm file borra ficheros. mv file file mueve o cambia de nombre. pwd muestra el directorio actual. cd cambia de directorio. mkdir directorio crea un directorio. rmdir directorio borra un directorio. comando & hace que el proceso sea desatendido en 2 plano (background). ps [n] muestra los procesos desatendidos. ps alx muestra los procesos desatendidos asociados a la terminal (a), los no asociados (x) y hace una lista larga (l).

Elementos de la lista larga: STA (Estado del proceso) O (Inexistente) S (Durmiendo) W (Esperando) I (Intermedio) R (Ejecutndose) Z (Terminado) Z (Parado) UID (N de Identificacin del propietario) PID (N de Identificacin del proceso) PPID (N de Identificacin del proceso padre) PRI (Prioridad, n altos=baja prioridad) WCHAN (Suceso al que espera) NICE (N para calcular la pri.) TTY (Terminal) STTY (Tiempo de ejecucin)

kill n detiene la ejecucin de un proceso en background. at hora o fecha <<EOF ejecuta algo a una hora establecida (para salir escribir EOF) Posibilidades para hora o fecha: 8am, 2130, 12N fri week (siguiente semana), 2PM apr 3, now +1minute, now +1 hour, 4PM +2 days, 1PM tomorrow,... comando ; comando se pueden escribir varios comandos a la vez. comando > file redirecciona la salida a un archivo. (comando ; comando) > file redirecciona toda la salida del conjunto a un archivo. comando >> file redirecciona la salida a un archivo, pero lo aade al final de este. comando < file > file redirecciona de forma contraria para acabar llevando el resultado a un archivo. comando | comando tubo (pipeline) la salida del 1 la enva hacia el 2. *, ?, [...], ... caracteres de sustitucin. echo * lista directorios y ficheros. echo n "Hoy es `date`, hola $variable" hace eco sin carro de retorno (-n) de la frase Hoy es, ejecuta el comando date (entre acentos), hace eco de hola y imprime el contenido de la variable. Para eliminar los valores especiales de algunos caracteres deberemos escribir / antes, ejemplo "Hola /"Pepe/"". mesg y permite que te escriban los usuarios del sistema. mesg n prohibe que te escriban a los usuarios del sistema. mesg muestra el estado actual (escribir o no). tty muestra tu nmero (archivo) de terminal. write nombre [tty] para comunicarse con un usuario conectado al sistema. Para salir ^D, para indicar al otro el fin del mensaje oo-, y el fin de la comunicacin oo-. Si el usuario pertenece a otra terminal, se debe indicar. Si el usuario tiene el mesg en no o esta realizando una tarea especfica no podremos comunicarnos. cmp file file comprueba si son idnticos, si lo son no aparece ninguna salida. comm [-n] file file lista las palabras comunes de los dos archivos, en el nmero se indica la columna a comparar: 0,1,2,3. diff file file lista las palabras diferentes de los dos archivos. find . file ... mtime 1 size +10 type f busca en el directorio actual los ficheros con dicho nombre, que hayan sido modificados hace 1 da, con un tamao mayor a 10 bloques y del tipo fichero. find / -name ... atime 1 size 20 type d busca en el directorio actual los directorios con dicho nombre, que hayan tenido acceso hace 1 da, con tamao menor que 20 bloques y del tipo directorio. find . name ok rm {} \; busca en el directorio actual y borra los ficheros encontrados que cumplan los requisitos. lpr file imprime el archivo. pr file imprime el archivo junto a un encabezamiento, la fecha, hora, ... tail n file muestra la cola de un archivo, en n se debe especificar: +2l (a partir de la segunda lnea por arriba), -10l (a partir de la dcima lnea por abajo). Si en lugar de l (lnea) podemos escribir b (bloque) c (carcter). tr caracteres caracteres cambia los caracteres por los indicados a continuacin. (Ejemplo: tr abc ABC). tee file muestra los datos en un punto intermedio. du muestra el tamao por bloques de cada archivo y directorio. du s muestra el tamao total por bloques. file file indica el tipo de archivo que es (empty\ cannot open\ directory\ English text\ ascii text\ data). stty informacin sobre nuestro terminal. stty [-] raw lee carcter a carcter. Se anula aadiendo el signo al comando. stty [-] cooked lee lnea a lnea. Se anula aadiendo el signo al comando. stty [-] cbreak mezcla de los dos anteriores. Se anula aadiendo el signo al comando. stty [-] nl no retorna el carro hasta el principio (se anula con ^J). stty [-] echo no se ven las pulsaciones en pantalla. Se anula aadiendo el signo al comando. sort file muestra en pantalla el archivo ordenado por la 1 columna (para indicar la segunda columna aadir +1 y as sucesivamente).

sort file u muestra en pantalla el archivo ordenado por la 1 columna sin las lneas duplicadas. sort file b muestra en pantalla el archivo ordenado por la 1 columna ignorando espacios en blanco. sort file f muestra en pantalla el archivo ordenado por la 1 columna distinguiendo entre minsculas y maysculas. sort file r muestra en pantalla el archivo ordenado por la 1 columna en orden inverso. sort file c comprueba si el archivo ya esta ordenado. grep palabra file busca unos caracteres determinados en un fichero. grep v palabra file busca las lneas que no contienen dicha palabra. grep c palabra file muestra el nmero de lneas que contienen la palabra. grep y palabra file busca la palabra en el fichero sin distinguir entre minsculas y maysculas. grep n palabra file busca la palabra y muestra su lnea con el nmero de esta. uniq file muestra el archivo sin las lneas que estn repetidas. wc file muestra el nmero de lneas, palabras y caracteres (en este orden) del archivo. wc l file muestra el nmero de lneas del archivo. wc w muestra el nmero de palabras del archivo. wc c muestra el nmero de caracteres del archivo. cal [n mes] n ao imprime un calendario del mes y/o ao indicado. Mes: 1-12, ao 1-9999. newgrp grupo cambia de grupo. sum file suma las palabras de un archivo. expr n + n suma +, resta -, multiplica *, divide /,... una expresin. wall mensaje manda un mensaje a todos los usuarios. (Solo lo recibirn los usuarios que tengan su sistema configurado para poder recibir estos mensajes) id muestra nuestro UserId y el GroupId. chmod nnn file cambia los permisos de un archivo. 1: Permiso de ejecucin (x), 2: Permiso de escritura (w), 3: Permiso de lectura ( r). Se deben sumar para poner ms de uno. El primer nmero corresponde al creador del archivo, el segundo al grupo del creador, y el tercero al resto de usuarios. Ej. 666 : todo el mundo tiene permiso de todo. chown nombre file cambia el propietario de un archivo. chgrp grupo file cambia el grupo del propietario de un archivo. umask muestra los permisos por defecto de los archivos creados. Ej. 022 entonces 666-022=644, es decir usuario permiso de w, r, grupo permiso de r y lo otros permiso de r. umask n cambia los permisos por defecto de los archivos creados. Ej. umask 000: todo el mundo tiene todos los permisos al ser creado un archivo. Archivos especiales: /etc/passwd Contiene todos los logins y passwords /etc/motd Mensaje del da /etc/profile Se ejecuta al introducir al entrar en el sistema Versiones El desarrollo inicial Linux ya aprovechaba las caractersticas de conmutacin de tareas en modo protegido del 386, y se escribi todo en ensamblador. Linus nunca anunci la versin 0.01 de Linux (agosto 1991), esta versin no era ni siquiera ejecutable, solamente inclua los principios del ncleo del sistema, estaba escrita en lenguaje ensamblador y asuma que uno tenia acceso a un sistema Minix para su compilacin. El 5 de octubre de 1991, Linus anunci la primera versin "Oficial" de Linux, - versin 0.02. Con esta versin Linus pudo ejecutar Bash (GNU Bourne Again Shell) y gcc (El compilador GNU de C) pero no mucho mas funcionaba. En este estado de desarrollo ni se pensaba en los trminos soporte, documentacin, distribucin. Despus de la versin 0.03, Linus salto en la numeracin hasta la 0.10, ms y ms programadores a lo largo y ancho de internet empezaron a trabajar en el proyecto y despus de sucesivas revisiones, Linus incremento el numero de versin hasta la 0.95 (Marzo 1992). Mas de un ao despus (diciembre 1993) el ncleo del sistema estaba en la versin 0.99 y la versin 1.0 no llego hasta el 14 de marzo de 1994. La versin actual del ncleo es la 2.2 y sigue avanzando da a da con la meta de perfeccionar y mejorar el sistema. La ultima versin estable es la versin 2.2, que soporta muchos ms perifricos, desde procesadores hasta joysticks, sintonizadores de televisin, CD ROMs no ATAPI y reconoce buena

cantidad de tarjetas de sonido. Incluye tambin soporte para tipos de archivos para Macintosh HFS, Unix UFS y en modo de lectura, HPFS de OS/2 y NTFS, de NT. Otras Versiones: Linux 2.0 Linux 2.2 Linux 2.3 Comparacin Se seala las diferencias de Linux con el DOS y no con otro S.O. porque la mayora provienen del DOS. No existe el concepto de unidad de disco. Todas las unidades en Linux se 'montan' como si fueran un subdirectorio ms. No existe el concepto de extensin del nombre de un fichero. Los ficheros pueden tener nombres de hasta 256 caracteres. Los puntos estn permitidos en el nombre de un fichero. As, un fichero se podr llamar: DOSEMU-HOWTO.espaol.tar.gz por poner un ejemplo. Los subdirectorios no se separan con el carcter '\', como en DOS, sino con el carcter '/'. Ejemplo: /usr/src/linux-1.2.13/Makefile

Existe diferencia entre maysculas y minsculas. Por ejemplo, no es lo mismo 'dir' que 'DIR' que 'Dir'... Adis a los atributos de los ficheros, tal y como los conoce el DOS. Cada fichero tendr ahora 10 'atributos'. Entre un comando y sus parmetros deberemos dejar obligatoriamente un espacio en blanco. Por ejemplo 'cd..' no funcionar mientras que 'cd ..' s. IMPORTANTE: Un sistema Linux NUNCA se puede apagar por las buenas . Antes le hemos de advertir al S.O. de que vamos a apagarlo (o reiniciarlo). La razn de que esto deba ser as es para que al sistema le d tiempo de escribir en disco todos los datos que tuviera pendientes de escribir, salir ordenadamente de todas las aplicaciones que tuviera arrancadas y desmontar todas las unidades que tuviera montadas. Existen muchas otras diferencias (gestin de memoria plana, ...), pero las mencionadas son las que ms nos pueden influir en la forma de trabajar, al menos en principio. Qu es el kernel? El kernel o ncleo de linux se podra definir como el corazn de este sistema operativo. Es el encargado de que el software y el hardware de tu ordenador puedan trabajar juntos. Las funciones mas importantes del mismo, aunque no las nicas, son:

Administracin de la memoria, para todos los programas en ejecucin. Administracin del tiempo de procesador, que estos programas en ejecucin utilizan. Es el encargado de que podamos acceder a los perifricos/elementos de nuestro ordenador de una manera cmoda. Existen dos versiones del Linux kernel: Versin de produccin: La versin de produccin, es la versin estable hasta el momento. Esta versin es el resultado final de las versiones de desarrollo o experimentales. Cuando el equipo de desarrollo del kernel experimental, decide que ha conseguido un kernel estable y con la suficiente calidad, se lanza una nueva versin de produccin o estable. Esta versin es la que se debera utilizar para un uso normal del sistema, ya que son las versiones consideradas mas estables y libres de fallos en el momento de su lanzamiento. Versin de desarrollo: Esta versin es experimental y es la que utilizan los desarrolladores para programar, comprobar y verificar nuevas caractersticas, correcciones, etc. Estos ncleos suelen ser inestables y no se deberan usar, a no ser que sepas lo que haces. Como interpretar los nmeros de las versiones:

Las versiones del kernel se numeran con 3 nmeros, de la siguiente forma: XX.YY.ZZ XX: Indica la serie principal del kernel. Hasta el momento solo existen la 1 y 2. Este numero cambia cuando la manera de funcionamiento del kernel ha sufrido un cambio muy importante. YY: Indica si la versin es de desarrollo o de produccin. Un numero impar, significa que es de desarrollo, uno par, que es de produccin. ZZ: Indica nuevas versiones dentro de una versin, en las que lo nico que se ha modificado, son fallos de programacin /bugs. Unos ejemplos nos ayudaran a entenderlo mejor:

ej1: versin del kernel 2.0.0: Kernel de la serie 2 (XX=2), versin de produccin 0 (YY=0 par), primera versin de 2.0 (ZZ=0) ej2: versin del kernel 2.0.1: Kernel de la serie 2, versin 0, en el que se han corregido errores de programacin presentes en la versin 2.0.0 (ZZ=1) ej3: versin del kernel 2.1.100: versin 100 del kernel de desarrollo 2.1. Sistemas de Archivos Sistema de ficheros linux (I) Bueno como sabrs el DOS funciona con FAT, File Allocation Table, o sea una tabla a principio del disco duro donde se almacena, la informacin de cada bloque del disco, de manera que tenemos una lista enlazada para cada fichero. --------- | 2| 0 FICHERO A bloques 0 2 6 --------- | 3| 1 FICHERO B bloques 1 3 4 --------- | 6| 2 --------- | 4| 3 --------- | fin| 4 --------- | | 5 --------- | fin| 6 --------Para leer un fichero A leemos en la fat el bloque 0, vemos donde continua y leemos la fat en el bloque 2, leemos el bloque del disco, y volvemos a leer el bloque de la fat donde esta el bloque 6. Esto parece rpido, y lo es i la FAT esta en memoria, pero si calculamos lo que puede ocupar una FAT de un disco duro de 1Giga donde el disco esta dividido en bloques de pongamos 4024Kb y pongamos 20 bytes por descriptor, tenemos una FAT de 5 megas, (no recuerdo de cuanto era el tamao de bloque/descriptor en MSDOS), lo cual no se puede tener en memoria y si hay que leer cada vez de disco es muy lento. Cuando MSDOS funcionaba en disquete no era demasiado problema tener en memoria unos Ks de FAT, pero con los disco de ahora de Giga ya es un problema. Como lo hace UNIX? Y por supuesto ext2 de Linux? Con otra estructura de datos llamada i-nodes, que para cada fichero tiene un array, con las posiciones del disco donde se encuentra este. De esta manera cuando queremos leer un fichero, leemos solo un trozo de disco contiguo, donde encontramos todas las referencias a se y no toda la FAT que puede ser de mas de un mega. Con los nodos-i (o inodes) no ahorramos espacio de disco (con respecto a FAT), la informacin de en que bloques esta cada fichero la tenemos igual pero mejor organizada. Las tablas de i-nodes tienen un tamao limitado, pero en caso de que se llenen con indirecciones se accede a otras tablas de i-nodes, con lo que el limite del tamao de los ficheros es grande. (bueno esto lo he explicado un poco por encima se podra explicar extensamente). IN> Me imagino que el ext2 es mejor que el msdos, pero realmente que IN> diferencias hay entre ellos (menos lo de los permisos y la lon- IN> gitud del nombre de los ficheros). Pues como has visto es mas rapido y eficiente, aparte de no tener las limitaciones de usuario, permisos, nombres largos, etc. El tamao de bloque de disco, en MS DOS es fijo en funcin del tamao de la particin, en linux en el momento en que formateas la particin con mkfs (o mk2efs no recuerdo) puedes elegir el tamao del bloque segn vayas a tener mas ficheros pequeos, o mas ficheros grandes. Sistema de ficheros linux (II) El ext2 tiene un tamao de i-nodo fijo entre 1 y 4K, independientemente del tamao de la particin. El tamao del i-nodo se selecciona al crear el sistema de archivos y es seleccionable por el usuario.

El ext2 tiene una unidad similar al cluster, llamada bloque, y que es, por lo general de 1K, especificable por el usuario e independiente del tamao de la particin, lo cual asegura un buen aprovechamiento del espacio libre con archivos pequeos. El ext2 no usa una FAT, sino una tabla de i-nodos distribuidos en un nmero determinable de grupos a travs de la superficie, lo cual permite balancear la distribucin de los bloques de archivos en la superficie a travs de dichos grupos para asegurar la mnima fragmentacin. El ext2 tiene un lmite mximo de 4GB de archivo, pero no limita el tamao mximo de la particin a 4GB, como es el caso de la FAT. El ext2 tiene soporte para deteccin de un sistema de archivos desmontado incorrectamente cuando el sistema se apaga de forma errnea, y capacidad para autorecuperarlo en caso de fallo accidental. El ext2 mantiene informacin de la ltima vez que se mont y se accedi al volumen (sistema de archivos), as como del nmero de veces que se ha montado dicho volumen desde la ltima comprobacin automtica, as como la fecha en la que se comprob su integridad por ltima vez. El ext2 permite asignar un porcentaje del disco duro que se reserva para el uso de usuarios con un "uid" y "gid" especficos. El ext2 es un sistema de archivos mucho ms avanzado que el MS-DOS, con soporte de correccin y deteccin de errores, compresin de archivos (todava por implementar), mayor tolerancia a la fragmentacin de archivos y con unos tiempos de respuesta muy superiores, aunque a un coste superior de utilizacin de memoria.

Qu es la Swap?
La swap es un espacio reservado en tu disco duro para poder usarse como una extensin de memoria virtual de tu sistema. Es una tcnica utilizada desde hace tiempo para hacer creer a los programas que existe mas memoria RAM de la que en realidad existe. Es el propio sistema operativo el que se encarga de pasar datos a la swap cuando necesita mas espacio libre en la RAM y viceversa. En Linux, la memoria total disponible por el sistema estar formada por la cantidad de memoria RAM instalada + la swap disponible. El acceso a la swap (disco duro) es mas lento que el acceso a la memoria RAM, por lo que si nuestro ordenador esta muy cargado de trabajo y hace un uso intensivo de la swap, la velocidad del sistema disminuir. Un uso muy intensivo y continuado de la swap es un indicativo de que necesitamos mas memoria en nuestro sistema para que funcione desahogado con el uso que le estamos dando. En linux generalmente se usa como mnimo una particin dedicada a swap (aunque tambin se puede tener un fichero swap).

Cuanta Swap necesito?


Esta es otra pregunta que es difcil de contestar: Todo depender del uso que se le vaya a dar al sistema y del espacio libre que tengamos. Si vas a utilizar muchos programas a la vez y tienes poca memoria RAM, necesitaras mas swap, si tienes mucha RAM, no necesitaras tanta swap. Hay que recordar que un uso no intensivo de la swap es normal y no afectara mucho a la velocidad del sistema, pero como hemos dicho antes, un uso muy intensivo y continuado es un indicativo de que necesitamos mas memoria RAM. No existe una formula mgica para saber cuanto espacio deberamos reservar para swap. Hay que recordar que la memoria total disponible en Linux es RAM + Swap. Como datos orientativos podramos decir que como mnimo, esta combinacin debera ser de 32MB para sistemas que se utilicen en modo texto y de 64MB en adelante para sistemas que se utilicen en modo grfico. Aqu tienes una serie de consejos sobre la swap: Es recomendable el tener siempre algo de swap configurada, incluso en sistemas con mucha memoria. En linux no se puede tener mas de 128MB en una particin swap, si necesitas mas de 128MB de swap, puedes tener mas de una particin dedicada a swap, por ejemplo, dos de 128MB Si tienes mas de un disco, instala la swap en el que trabaje mas rpido. Si tienes mas de un disco que se puedan acceder simultneamente (por ej. dos SCSI, o dos IDE en diferentes canales IDE), se puede ganar algo de velocidad teniendo una particion swap en cada uno de estos discos. Para un uso privado "normal-alto" del sistema, aqu tienes unos ejemplos orientativos de la cantidad de swap recomendable: 16MB RAM + 64MB Swap 32MB RAM + 96MB Swap

64MB RAM + 64MB Swap 128MB RAM + 128MB Swap 256MB RAM + 128MB Swap Como dato anecdtico, decir que existen servidores, en donde la cantidad de swap llega a ser de 256MB y hasta 512MB aunque yo tengo ordenadores con 16MB de RAM y 16MB de Swap como servidores de impresin que funcionan sin ningn problema. En fin, cada uno debe de saber el uso que le va a dar a su sistema y analizar la cantidad de memoria necesaria, aunque si tienes espacio de sobra en el disco, mas vale tener mas Swap disponible que la necesaria, por lo que pueda ocurrir en un futuro, como dice el dicho, mas vale que sobre que no que falte. Manejo de memoria

Qu es una particin? Cmo creo una particin?


Particionar el disco duro es una manera de dividir el disco fsico en varios discos lgicos. O lo que es lo mismo, al particionar un disco, dividimos el disco en varias particiones independientes unas de otras, creando la ilusin de que tenemos diferentes discos, cuando en realidad lo que tenemos es un solo disco fsico dividido en partes. Una particin es una de estas partes (divisiones) del disco. Existen dos clases de particiones: primarias y extendidas. En un disco solo podrs tener como mximo 4 particiones primaria y 1 extendida. En la particin extendida se podrn definir todas (bueno tambin existe un limite, pero es alto) las unidades lgicas que queramos. Con este sistema podemos tener una gran cantidad de particiones en nuestro disco. Cualquier disco que tengamos en nuestro ordenador tiene al menos una particin primaria, que en la mayora de los casos tiene un tamao equivalente al total del disco. Unos ejemplos aclararan las cosas: Un disco de 1Gb con una sola particin, tendr una particin primaria de 1Gb (total del disco). Ese mismo disco podra tener 4 particiones primarias de 0.25Gb cada una, dando la ilusin de que tenemos 4 discos duros de 0.25Gb en vez de un solo disco de 1Gb. Otra combinacin posible podra ser 4 particiones primarias de 0.10Gb y 1 extendida con 6 unidades lgicas de 0.10Gb, en este caso parecera que tenemos 10 discos duros de 0.10Gb cada uno. Las combinaciones son mltiples y variadas y dependern de nuestros gustos y de lo que necesitemos. Casi todos los sistemas operativos traen un programa con el que podemos crear, modificar, borrar las particiones de nuestro disco. En Ms-Dos/Windows de llama FDISK, este programa solo puede trabajar con particiones de Ms-Dos/Windows. En Linux tambin se llama FDISK (/sbin/fdisk), pero es un programa mas potente, capaz de trabajar y crear particiones tanto para Linux como otros sistemas operativos. Si vas a trabajar con Linux, es recomendable el uso del FDISK que viene con tu distribucin, para evitar problemas. Al contrario que Ms-Dos, Windows, OS/2, las diferentes particiones en linux no se denominan C:, D:, E:, ...., etc, existe una denominacin propia: Si los discos son IDE: /dev/hda: Disco duro IDE como master en el canal IDE 1. /dev/hda1: Particin primaria 1 en /dev/hda /dev/hda2: Particin primaria 2 en /dev/hda /dev/hda3: Particin primaria 3 en /dev/hda /dev/hda4: Particin primaria 4 en /dev/hda /dev/hda5: Particin extendida 1 en /dev/hda /dev/hda6: Particin extendida 2 en /dev/hda ..... ..... /dev/hda16: Particin extendida 16 en /dev/hda /dev/hdb: Disco duro IDE como esclavo en el canal IDE 1. /dev/hdb1: Particin primaria 1 en /dev/hdb ........ ........ /dev/hdc: Disco duro IDE como master en el canal IDE 2. /dev/hdc1: Particin primaria 1 en /dev/hdc

........ ........ /dev/hdd: Disco duro IDE como esclavo en el canal IDE 2. /dev/hdd1: Particin primaria 1 en /dev/hdd ........ ........ Si los discos son SCSI: /dev/sda: Disco duro SCSI nr.1. /dev/sda1: Particin primaria 1 en /dev/sda ........ ........ /dev/sdb: Disco duro SCSI nr.2. /dev/sdb1: Particin primaria 1 en /dev/sdb ........ ........ IMPORTANTE: Es muy importante saber lo que se esta haciendo cuando trabajas con programas que modifican la tabla de particiones de un disco. Al cambiar la tabla de particiones de vuestro disco, se pierden los datos contenidos en las particiones afectadas. Realizar copias de seguridad de los datos que quieras mantener antes de usar FDISK.

Particiones de disco
Con el fin de instalar Linux, debes tener espacio disponible para el. Este espacio de disco necesita estar separado del espacio de disco usado por otros sistemas operativos que puedas tener instalados en tu ordenador, tal que Windows, OS/2, o incluso una versin diferente de Linux. Un disco puede dividirse en diferentes particiones. Se puede acceder cada particin como si fuera un disco separado. Adems cada particin tiene un tipo que se usa para indicar como esta almacenada la informacin en la particin. Por ejemplo, hay distintos tipos de particiones usados por DOS, OS/2, y Linux. Aun si vas a instalar Linux en su propio disco duro, o en un ordenador que no contiene ningn otro sistema operativo, seguirs necesitando crear particiones para que las use Linux. En este caso es muy sencillo, ya que no hay otras particiones en el disco duro de las que preocuparse. Por otra parte, puede querer instalar Linux en un disco que ya contiene software o datos de un sistema operativo diferente. Las cosas pueden ser algo mas delicadas en esta situacin, ya que un error puede destruir tus particiones actuales, por no mencionar los datos que contengan. Durante el proceso de instalacin, tendrs la oportunidad de crear particiones para Linux. Llegado este punto, tu mayor preocupacin ser estar seguro de tener suficiente espacio disponible para las particiones Linux. Djame repasar las diferentes formas de liberar espacio para las particiones Linux. Estrategias para cambiar particiones Hay tres posibles escenarios a los que puedes hacer frente cuando intentas cambiar las particiones de tu disco duro: Hay espacio libre disponible y no particionado. Hay una particin no usado disponible. Hay espacio libre disponible en una particin usada actualmente. Veamos cada escenario en orden. Usando espacio libre no particionado Todo el espacio no forma parte de ninguna particin definida. En este caso, puedes crear simplemente las particiones necesarias a partir del espacio libre.

Usando una particin no usada El ao pasado reemplazaste tu pequeo disco duro de 105MB en tu sistema Windows por un mounstro de 1.2GB. Lo particionaste en dos partes iguales, pensando en que usaras el ``dispositivo'' C: (en realidad la primera particin del dispositivo) para Windows, y el ``dispositivo'' D: (en realidad ls segunda particin del dispositivo) para tu coleccin de programa de libre distribucin que copiaste de Internet. Bien, has estado tan acostumbrado a usar C: que nunca has puesto nada importante en D:. Si te encuentras en esta situacin, puedes usar el espacio asignado a la particin en desuso. Tendrs que borra la particin, y crear las apropiadas particiones Linux en su lugar. Usando espacio libre de una particin activa Esta es la situacin mas comn. Es adems, desafortunadamente, la mas difcil de tratar. El principal problema es que tenemos el espacio suficiente, pero esta actualmente asignada a una particin en uso. Si compras un ordenador con software preinstalado, el disco duro tendr seguramente una gran particin conteniendo el sistema operativo y los datos. Adems de aadir un nuevo disco duro en tu sistema, tienes otras dos opciones: Cambio de particiones destructivo -- Bsicamente, borras la nica particin grande, y creas varias mas pequeas. Como puedes imaginar, cualquier dato que tengas en esta particin ser destruido. Esto quiere decir que es necesario hacer una copia de seguridad completa. Por tu propio inters, haz dos copias de seguridad, usa la verificacin (si esta disponible en tu software de backup), e intenta leer los datos de la copia de seguridad antes de borrar la particin. Ten tambin en cuenta que si hay un sistema operativo de algn tipo instalado en la particin, ser necesario instalarlo de nuevo tambin. Despus de crear una particin mas pequea para tu software actual, puedes instalar de nuevo cualquier software, restaurar tus datos, y continuar con la instalacin de Linux. Cambio de particiones no destructivo -- En este caso, ejecutas un programa que hace lo que parece imposible; hace una particin grande mas pequea sin perder ninguno de los ficheros almacenados en la particin. Mucha gente ha encontrado este mtodo seguro y libre de problemas; sin embargo, recomendamos que hagas una copia de seguridad de la particin a la que vayamos a cambiar el tamao, por si acaso.

Hardware requerido
El Linux funciona correctamente en un 386 SX con 4 Mb de memoria. Pero se deber tener en cuenta que aquellas aplicaciones con fuerte requerimiento de memoria y carga de la CPU (por ejemplo, las X Windows) irn sumamente lentas. Una configuracin mucho ms 'usable' sera la siguiente: 486 DX 33 MHz o superior, con 8 Mb de memoria RAM y con tarjeta de video VGA o superior. Unidad de CD-ROM es altamente recomendable. Casi mejor habra que decir que imprescindible, dado que las distribuciones vienen en ese formato. En la actualidad, la mayora de ellas estn soportadas por el Linux. Asimismo tiene soporte para mdem y tarjeta de sonido. De todas formas, los propietarios de mquinas inferiores a la descrita (todava queda alguno? };-) que no se desanimen. Simplemente debern tener ms paciencia. Y es mi obligacin puntualizar que muchas veces se obtienen mejores resultados con ms memoria que con ms potencia de CPU. Debo puntualizar que en 286 no funcionar el Linux. El kernel est hecho para 386. Hay, sin embargo, un grupo de gente que est trabajando en una versin de Linux para procesadores 8086, pero an est en fase de proyecto. En cuanto al espacio en disco duro, depender en gran medida de lo que se pretenda hacer desde Linux. Segn el 'Linux installation and getting started', con 10 Mb de particin se puede hacer una instalacin mnima pero usable (personalmente me parece bastante optimista). Yo creo que alrededor de 100 Mb resulta espacio suficiente para un Linux completo, incluidas las X Windows. A partir de ah, lo que cada uno considere... Al hacer clculos del espacio en disco duro necesario, deberemos tener en cuenta que se necesita hacer una particin de swap. El tamao de la misma depender de la cantidad de memoria RAM disponible: a ms memoria, menos swap necesitaremos.

Dnde instalo Linux?


Linux se puede instalar en cualquier disco que tengas en tu sistema y en cualquier particion del disco duro (Primaria o extendida). No podrs tener Linux en una particin compartida con otro sistema operativo, Linux necesita su propia particion/es para funcionar.

Cuantas particiones necesito para Linux?


La respuesta rpida y fcil es: recomendable al menos dos, una para el sistema/datos y otra para Swap. Usualmente se suelen tener tres, una para el sistema/programas (/), otra para los datos (/home) y otra para swap. La respuesta larga y no tan fcil es mas complicada de explicar: Todo depender muchisimo del uso que se le vaya a dar al sistema. Para sistemas que se utilicen de forma particular y por uno o pocos usuarios bastara con las dos/tres particiones antes mencionadas, esto evitara los problemas de saber que cantidad de espacio necesitan las diferentes particiones y el quedarnos sin espacio en alguna particion vital, mientras que nos sobra en otras. Para sistemas servidores, con gran cantidad de servicios y usuarios es muy recomendable tener varias particiones/discos. Existe un documento (HOWTO: Multi Disk System Tuning) muy bueno y quizs complicado para el principiante que explica cuantas particiones y discos y que tamao deberan tener en funcin del uso que se le vaya a dar al sistema, o en cualquier servidor con documentacin Howto.

Porque necesito diferentes particiones?


El particionar el disco, es simplemente una manera de organizar tu disco duro. Podrs organizarlo con una sola particin o en varias. Es el usuario el que deber decidir cuantas particiones tendr su disco, y el tamao de las mismas, hay que recordar, que al menos hay que tener una particin primaria. Desventajas de tener vuestro disco dividido en diferentes particiones. Ninguna Ventajas en tener vuestro disco particionado en varias particiones: Si tienes un error/problema en una de ellas, las dems no se vern afectadas. Poder tener diferentes sistemas operativos en vuestra maquina, totalmente independientes unos de otros. Poder tener vuestros archivos de datos en particiones totalmente independientes. Poder borrar/cambiar el contenido de una particin, sin que esto afecte a las dems

BIBLIOGRAFA

http://ns.intertux.com.mx/linux.html http://www.marqueze.net/linux/explica.htm http://www.fut.es/~sblanco/linux.html http://www.internet.ve/asic/qlinux.html http://www.nyx.net/~sgjoen/disk.html

También podría gustarte