Sistemas Operativos Inf−169

Anuncio
Sistemas Operativos
Inf−169
El trabajo a desglosar contiene de manera breve una pequeña exposición acerca de un sistema operativo que
en estos tiempos entra como una nueva alternativa para los usuarios de sistemas de información. Nos
referimos a Linux una fuerte competencia actualmente para Windows, aunque ambos poseen gran similitud.
Esta pequeña exposición tratará aspectos tanto prácticos como teóricos del sistema operativo en cuestión.
Desde una breve histórica hasta las pautas necesarias para utilizar algunas de las diferentes herramientas de
este sistema.
Dentro de los temas que aquí se presentan se encuentran:
Pequeña historia e introducción a Linux, instalación de Linux, manejo del sistema, comandos, entre otros
puntos importantes que sirven de guía para iniciarse como un usuario de Linux. Además su instalación
permite introducirse a el aprendizaje de Unix.
Linux es una nueva alternativa para usuarios que deseen usar un sistema operativo más flexible. Aún cuando
Linux resulta más difícil de emplear sus fabricantes trabajan buscando la manera de facilitar su uso. Pese a
todo, la flexibilidad y gran estabilidad de Linux han hecho una opción muy interesante a tener en cuenta por
aquellos usuarios que se dediquen a trabajar a través de redes, naveguen por Internet o se dediquen a la
programación. Además el futuro de Linux es brillante y cada vez más gente y más empresas están apoyando
este proyecto, con lo que el sistema será cada día más sencillo de emplear y los programas serán cada vez
mejores.
Breve historia de Linux
Unix es uno de los sistemas operativos más populares del mundo debido a su extenso soporte y distribución.
Originalmente fue desarrollado como sistema multitarea con tiempo compartido para mini ordenadores y
mainframes a mediados de los `70, y desde entonces se ha convertido en uno de los sistemas más utilizados a
pesar de su, ocasionalmente, confusa interfaz con el usuario y el problema de su estandarización.
¿Cuál es la verdadera razón de la popularidad de Unix? Muchos hackers consideran que Unix es el auténtico y
único sistema operativo. El desarrollo de Linux parte de un grupo en expansión de hackers de Unix que
quisieron hacer su sistema con sus propias manos.
Existen numerosas versiones de Unix para muchos sistemas, desde ordenadores personales hasta
supercomputadores como el Cray Y−MP. La mayoría de las versiones de Unix para ordenadores personales
son muy caras.
Linux es una versión de Unix de libre distribución, inicialmente desarrollada por Linus Torvalds en la
Universidad de Helsinki, en Finlandia. Fue desarrollado con la ayuda de muchos programadores y expertos de
Unix a lo largo y ancho del mundo, gracias a la presencia de Internet. Cualquier habitante del planeta puede
acceder a Linux y desarrollar nuevos módulos o cambiarlo a su gusto.
Inicialmente, sólo fue un proyecto de Linus Torvalds. Se inspiraba en Minix, un pequeño Unix desarrollado
por Andy Tanenbaum, y las primeras discusiones sobre Linux surgieron en el grupo de News comp.os.minix.
Estas discusiones giraban en torno al desarrollo de un pequeño sistema Unix de carácter académico dirigido a
aquellos usuarios de Minix que querían algo más.
1
El desarrollo inicial de Linux ya aprovechaba las características de conmutación de tareas en modo protegido
del 386, y se escribió todo en ensamblador. Linus dice, "Comencé a utilizar el C tras escribir algunos drivers,
y ciertamente se aceleró el desarrollo. En este punto sentí que mi idea de hacer un Minix mejor que Minix se
hacía más seria. Esperaba que algún día pudiese recompilar el gcc bajo Linux... Dos meses de trabajo, hasta
que tuve un driver de discos (con numerosos bugs, pero que parecía funcionar en mi PC) y un pequeño
sistema de ficheros. Aquí tenía ya la versión 0.01 (al final de Agosto de 1991) no era muy agradable de usar
sin el driver de disquetes, y no hacía gran cosa. No pensé que alguien compilaría esa versión."
No se anunció nada sobre esa versión, puesto que las fuentes del 0.01 jamás fueron ejecutables: contenían solo
rudimentos de lo que sería el núcleo, y se asumía que se tenía acceso a un Minix para poderlo compilar y jugar
con él.
El 5 de Octubre de 1991, Linus anunció la primera versión "oficial" de Linux, la 0.02. Ya podía ejecutar bash
(el shell de GNU) y gcc (el compilador de C de GNU), pero no hacía mucho más. La intención era ser un
juguete para hackers. No había nada sobre soporte a usuarios, distribuciones, documentación ni nada parecido.
Hoy, la comunidad de Linux aún trata estos asuntos de forma secundaria. Lo primero sigue siendo el
desarrollo del kernel.
Linus saltó a la versión 0.10 al tiempo que más gente empezaba a participar en su desarrollo. Tras numerosas
revisiones, se alcanzó la versión 0.95, reflejando la esperanza de tener lista muy pronto una versión "oficial".
(Generalmente, la versión 1.0 de los programas se corresponde con la primera teóricamente completa y sin
errores). Esto sucedía en Marzo de 1992. Año y medio después, en Diciembre del 93, el núcleo estaba en la
revisión 0.99.pl14, en una aproximación asintótica al 1.0. Actualmente, el núcleo se encuentra en la versión
1.1 parche 52, y se acerca la 1.2.2.
Hoy Linux es ya un clónico de Unix completo, capaz de ejecutar X Windows, TCP/IP, Emacs, UUCP y
software de correo y News. Mucho software de libre distribución ha sido ya portado a Linux, y están
empezando a aparecer aplicaciones comerciales. El hardware soportado es mucho mayor que en las primeras
versiones del núcleo. Mucha gente ha ejecutado tests de rendimiento en sus sistemas Linux 486 y se han
encontrado que son comparables a las estaciones de trabajo de gama media de Sun Microsystems y Digital.
¿Quién iba a imaginar que este "pequeño" clónico de Unix iba a convertirse en un estándar mundial para los
ordenadores personales?
¿Qué es Linux?
Linux es un sistema operativo y de libre distribución inspirado en el sistema UNIX, cuya característica
principal es que es fácilmente portable a diferentes tipos de ordenadores. Lo contrario de otros sistemas
operativos por ejemplo MacOs, aunque no esta pensado para ser fácil de emplear sino para ser sumamente
flexible.
Linux tiene una mascota oficial, el pingüino de Linux,
que fue seleccionado por Linus Torvalds para representar la imagen que según él se asocia al sistema
operativo que él creó.
2
Aunque existen muchas variaciones de la palabra Linux, es lo más a menudo posible pronunciada con un
cortocircuito " i " y con la primera sílaba tensionada, como en LIH−nucks.
Básicamente podemos decir que hoy Linux es un sistema muy completo. El proyecto de Linus Torvalds aún
no ha terminado, y se piensa que nunca se terminará por ésta continua evolución de la Informática.
¿Qué son las distribuciones de Linux?
Las distribuciones: una distribución es un agrupamiento del núcleo del sistema operativo Linux (la parte
desarrollada por Linux Tolvalds) y otra serie de aplicaciones de uso general o no tan general. En principio las
empresas que desarrollan las distribuciones de Linux están en su derecho de cobrar cierta cantidad por el
software que ofrecen, aunque en la mayor parte de los casos se pueden conseguirse estas distribuciones desde
Internet, revistas o de amigos, siendo estas formas gratuitas y legales.
Las distribuciones más conocidas son Redhat, Debian, Slackware, SuSe y Corel Linux, todas ellas incluyen el
software más reciente y empleado lo cual incluye compiladores de C/CC++, editores de texto, juegos,
programas para el acceso a Internet, así como el sistema de inhalación del sistema operativo.
Características del sistema
Linux implementa la mayor parte de las características que se encuentran en otras implementaciones de
UNIX, más algunas otras que no son habituales. En esta sección nos daremos una vuelta por todo ello.
Linux es un sistema operativo completo con multitarea y multiusuario (como cualquier otra versión de
UNIX), esto significa que pueden trabajar varios usuarios simultáneamente en él, y que cada uno de ellos
puede tener varios programas en ejecución.
El sistema Linux es compatible con ciertos estándares de UNIX a nivel de código fuente, incluyendo el IEEE
POSIX.1, System V y BSD. Fue desarrollado buscando la portabilidad de las fuentes: encontrará que casi todo
el software gratuito desarrollado para UNIX se compila en Linux sin problemas. Y todo lo que se hace para
Linux (código del núcleo, drivers, librerías y programas de usuario) es de libre distribución.
LINUX soporta consolas virtuales, lo que permite tener más de una sesión abierta en la consola de texto y
conmutar entre ellas fácilmente. A los usuarios del programa "screen" les resultará familiar esto. El núcleo es
capaz de emular por su cuenta las instrucciones del coprocesador 387, con lo que en cualquier 386 con
coprocesador o sin él se podrán ejecutar aplicaciones que lo requieran.
Linux soporta diversos sistemas de ficheros para guardar los datos. Algunos de ellos, como el ext2fs, han sido
desarrollados específicamente para Linux. Otros sistemas de ficheros, como el Minix−1 o el de Xenix también
están soportados. Y con el de MS−DOS se podrán acceder desde Linux a los disquetes y particiones en discos
duros formateados con MS−DOS. Además, también soporta el ISO−9660, que es el estándar en el formato de
los CD−ROMs.
Linux implementa todo lo necesario para trabajar en red con TCP/IP. Desde administradores para las tarjetas
de red más populares hasta SLIP/PPP, que permiten acceder a una red TCP/IP por el puerto serie. También se
implementan PLIP (para comunicarse por el puerto de la impresora) y NFS (para acceso remoto a ficheros). Y
también se han portado los clientes de TCP/IP, como FTP, telnet, NNTP y SMTP.
El núcleo de Linux ha sido desarrollado para utilizar las características del modo protegido de los
microprocesadores 80386 y 80486. En concreto, hace uso de la gestión de memoria avanzada del modo
protegido y otras características avanzadas. Cualquiera que conozca la programación del 386 en el modo
protegido sabrá que este modo fue diseñado para su uso en Unix (o tal vez Multics). Linux hace uso de esta
3
funcionalidad precisamente.
El núcleo soporta ejecutables con paginación por demanda. Esto significa que sólo los segmentos del
programa que se necesitan se cargan en memoria desde el disco. Las páginas de los ejecutables son
compartidas mediante la técnica copy−on−write, contribuyendo todo ello a reducir la cantidad de memoria
requerida para las aplicaciones.
Con el fin de incrementar la memoria disponible, Linux implementa la paginación con el disco: puede tener
hasta 256 megabytes de espacio de intercambio o "swap" en el disco duro. Cuando el sistema necesita más
memoria, expulsará páginas inactivas al disco, permitiendo la ejecución de programas más grandes o
aumentando el número de usuarios que puede atender a la vez. Sin embargo, el espacio de intercambio no
puede suplir totalmente a la memoria RAM, ya que el primero es mucho más lento que ésta.
La memoria dedicada a los programas y a la caché de disco está unificada. Por ello, si en cierto momento hay
mucha memoria libre, el tamaño de la caché de disco aumentará acelerando así los accesos.
Los ejecutables hacen uso de las librerías de enlace dinámico. Esto significa que los ejecutables comparten el
código común de las librerías en un único fichero, como sucede en SunOS. Así, los ejecutables serán más
cortos a la hora de guardarlos en el disco, incluyendo aquellos que hagan uso de muchas funciones de librería.
También pueden enlazarse estáticamente cuando se deseen ejecutables que no requieran la presencia de las
librerías dinámicas en el sistema. El enlace dinámico se hace en tiempo de ejecución, con lo que el
programador puede cambiar las librerías sin necesidad de recopilación de los ejecutables.
La gran popularidad de Linux incluye los siguientes puntos:
• Se distribuye su código fuente, lo cual permite a cualquier persona que así lo desee hacer todos los
cambios necesarios para resolver problemas que se puedan presentar, así como también agregar
funcionalidad. El único requisito que esto conlleva es poner los cambios realizados a disposición del
público.
• Es desarrollado en forma abierta por cientos de usuarios distribuidos por todo el mundo, los cuales la
red Internet como medio de comunicación y colaboración. Esto permite un rápido y eficiente ciclo de
desarrollo.
• Cuenta con un amplio y robusto soporte para comunicaciones y redes, lo cual hace que sea una opción
atractiva tanto para empresas como para usuarios individuales.
• Da soporte a una amplia variedad de hardware y se puede correr en una multitud de plataformas: PCs
convencionales, computadoras Macintosh y Amiga, así como costosas estaciones de trabajo
Multitarea
La palabra multitarea describe la capacidad de ejecutar muchos programas al mismo tiempo sin detener la
ejecución de cada aplicación.
Se le denomina multitarea prioritaria porque cada programa tiene garantizada la oportunidad de ejecutarse, y
se ejecuta hasta que el sistema operativo da prioridad a otro programa para que se ejecute. Este tipo de
multitarea es exactamente lo que hace Linux. MS−DOS y Windows 3.1 no admiten la multitarea prioritaria;
admiten una forma de multitarea denominada multitarea cooperativa. Con ésta, los programas se ejecutan
hasta que permiten voluntariamente que se ejecuten otros programas o no tienen nada más que hacer por el
momento. Para comprender mejor la capacidad multitarea de Linux, examínelo desde otro punto de vista. El
microprocesador sólo es capaz de hacer una tarea a la vez, pero las realiza en tiempos tan cortos que se
escapan a nuestra comprensión es por eso que en sus "ratos libres" se dedica a ejecutar otras tareas que se le
hayan pedido.
4
Es fácil ver las ventajas de disponer de multitarea prioritaria. Además de reducir el tiempo muerto (tiempo en
el que no puede seguir trabajando en una aplicación porque un proceso aún no ha finalizado), la flexibilidad
de no tener que cerrar las ventanas de las aplicaciones antes de abrir y trabajar con otras es infinitamente
mucho más cómoda.
Linux y otros sistemas operativos multitarea prioritaria consiguen el proceso de prioridad supervisando los
procesos que esperan para ejecutarse, así como los que se están ejecutando. El sistema programa entonces
cada proceso para que disponga de las mismas oportunidades de acceso al microprocesador. El resultado es
que las aplicaciones abiertas parecen estar ejecutándose al mismo tiempo (en realidad, hay una demora de
billonésimas de segundo entre el momento en que el procesador ejecuta una serie de instrucciones de una
aplicación y el momento programado por Linux para volver a dedicar tiempo a dicho proceso). Es esta
capacidad de asignar tiempo a las aplicaciones que se están ejecutando desde una sistema operativo de acceso
gratuito, lo que destaca a Linux de otros sistemas operativos y entornos disponibles en la actualidad.
Multiusuario
La idea de que varios usuarios pudieran acceder a las aplicaciones o la capacidad de proceso de un único PC
era una utopía hace relativamente pocos años. UNIX y Windows NT ayudaron a convertir ese sueño en
realidad. La capacidad de Linux para asignar el tiempo de microprocesador simultáneamente a varias
aplicaciones ha derivado en la posibilidad de ofrecer servicio a diversos usuarios a la vez, ejecutando cada uno
de ellos una o más aplicaciones. La característica que más resalta de Linux es que un grupo de personas puede
trabajar con la misma versión de la misma aplicación al mismo tiempo, desde el mismo terminal o desde
terminales distintos. No se debe confundir esto con el hecho de que varios usuarios puedan actualizar el
mismo archivo simultáneamente, característica que es potencialmente confusa, peligrosa y decididamente
indeseable.
Seguro.
El concepto de seguridad en redes de ordenadores es siempre relativo. Un sistema puede ser seguro para un
determinado tipo de actividades e inseguro para otras. Por ejemplo, no sería recomendable guardar secretos de
estado en un sistema Linux al que pudiera acceder mucha gente y careciese de un administrador dedicado
absolutamente a la tarea, ya que según todos los hackers, no hay sistema cuya seguridad sea perfecta. El
sistema de contraseñas que protege el acceso al sistema se basa en el algoritmo DES, el más probado de los
algoritmos de seguridad. Pero claro, por muy bueno que sea el algoritmos, si después permitimos a sus
usuarios poner como contraseña su nombre de usuario, de nada servirá la contraseña y todos sus esfuerzos.
Si se quiere que el sistema sea seguro, se debe administrar de tal forma que se tengan controlados a los
usuarios en todo momento, para poder aconsejarles e incluso regañarles, en caso de que cometan alguna
imprudencia, todo ello con el fin de mantener la propia seguridad de sus datos y de los nuestros. Para ayudarse
a mantener la seguridad surgen nuevas herramientas constantemente, tanto para detectar intrusos como para
encontrar fallos en el sistema y evitar así ataques desde el exterior.
Independencia de dispositivos
Linux admite cualquier tipo de dispositivo (módems, impresoras) gracias a que cada una vez instalado uno
nuevo, se añade 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.
Comunicación en Linux
Linux es el sistema más 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
5
Unix y Linux son sistemas prácticamente idénticos. 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 ningún momento la creatividad, tal y como lo hacen algunas compañías informáticas.
Linux es una ventana abierta por la que es posible huir hacia un mundo donde la verdadera informática puede
ser disfrutada sin limites ni monopolios.
Linux es distribuido mediante una serie de distribuciones como Red Hat, Slackware, Debían ... las cuales se
diferencian por su método de instalación y por los paquetes (software) que viene incluido. Es posible que
encuentre a la venta versiones de Linux y piense: "si, si.... decían 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 según el desee, con la condición que la persona que compra ese producto puede realizar
la misma acción o simplemente hacer copias para todos aquellos que lo quieran sin tener que pagar más (por
lo tanto no se extrañe si encuentra distribución comerciales). Esta licencia es la garantía que afirma la absoluta
libertad de este sistema operativo. Si no desea ni siquiera pagar esa mísera cantidad puede descargárselo de
Internet totalmente gratis (bueno, sólo tendrá que pagar la factura de teléfono).
Shells de Linux
Cada usuario de un sistema Linux tiene su propia interfaz de usuario o Shell. Los usuarios pueden
personalizar sus shells adecuándolos a sus propias necesidades específicas. En este sentido, el Shell de un
usuario funciona más como un entorno operativo que el usuario puede controlar. Linux permite la utilización
de distintos tipos de shell programables. Para aquellos que se pregunten qué es un shell es como el
command.com de MS−DOS, es decir, un intérprete de comandos. Es básicamente la interfaz, el modo de
comunicación, entre el usuario y el sistema. Cada shell tiene sus características propias. La principal
diferencia que existe entre los distintos tipos de shell radica en la sintáxis de la línea de comandos. No es
necesario aprender a programar con todos los tipos de shell ya que sabiendo uno los conocemos todos, así que
es mucho más sencillo de lo que parece. Concluyendo podemos decir que un shell conecta las ordenes de un
usuario con el Kernel de Linux (el núcleo 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.
Diferencias entre Linux y otros sistemas operativos.
Es importante entender las diferencias entre Linux y otros sistemas operativos, tales como MS−DOS, OS/2, y
otras implementaciones de UNIX para ordenador personal. Primeramente, conviene aclarar que Linux puede
convivir felizmente con otros sistemas operativos en la misma máquina: es decir, Ud. puede correr MS−DOS
y OS/2 en compañía de Linux sobre el mismo sistema sin problemas.
◊ ¿Por qué usar Linux en lugar de un sistema operativo comercial conocido, bien
probado, y bien documentado?
Podríamos darle miles de razones. Una de las más importantes es que Linux es una excelente elección para
trabajar con Unix a nivel personal. Si Ud. es un desarrollador de software Unix, Linux le permitirá desarrollar
y probar el software Unix en su PC, incluyendo aplicaciones de bases de datos y X Windows. Si es Ud.
estudiante, la oportunidad está en que los sistemas de su universidad correrán Unix. Con Linux, podrá correr
su propio sistema Unix y adaptarlo a sus necesidades. La instalación y uso de Linux es también una excelente
manera de aprender Unix si no tiene acceso a otras máquinas Unix.
Pero no perdamos la vista. Linux no es sólo para los usuarios personales de Unix. Es robusto y
suficientemente completo para manejar grandes tareas, así como necesidades de cómputo distribuidas.
Muchos negocios, especialmente los pequeños, se están cambiando a Linux en lugar de otros entornos de
estación de trabajo basados en Unix. Las universidades encuentran a Linux perfecto para dar cursos de diseño
6
de sistemas operativos. Grandes vendedores de software comercial se están dando cuenta de las oportunidades
que puede brindar un sistema operativo gratuito.
Se señalan las diferencias de Linux con el DOS y no con otro S.O. porque la mayoría provienen del
DOS.
• No existe el concepto de unidad de disco. Todas las unidades en Linux se 'montan' como si fueran un
subdirectorio más.
• No existe el concepto de extensión del nombre de un fichero. Los ficheros pueden tener nombres de
hasta 256 caracteres. Los puntos están permitidos en el nombre de un fichero. Así, un fichero se
podrá llamar:
DOSEMU−HOWTO.español.tar.gz
• Los subdirectorios no se separan con el carácter '\', como en DOS, sino con el carácter '/'.
• Existe diferencia entre mayúsculas y minúsculas. Por ejemplo, no es lo mismo 'dir' que 'DIR' que
'Dir'...
• Adiós a los atributos de los ficheros, tal y como los conoce el DOS. Cada fichero tendrá ahora 10
'atributos'.
• Entre un comando y sus parámetros 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 razón 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.
Estructura general del sistema operativo UNIX.
Se puede dividir en tres componentes:
• Núcleo o Kernel: Comprende de un 5 −10% del código total.
• Caparazón o Shell: Actúa como interprete de comandos.
• Programa de utilidad.
KERNEL.
Es el núcleo del S.O. Unix. Tiene diversas tareas asignadas:
• Planificar, coordinar y gestionar la ejecución de los procesos. Para ello, hace uso de las prioridades
asignadas a cada proceso y utiliza algoritmos específicos para repartir el tiempo entre los diversos
procesos que compiten por él.
• Dar servicios del sistema, como entrada / salida gestión de ficheros.
• Manejar las operaciones dependientes del hardware, es decir las funciones de mas bajo nivel de
manera se oculten al usuario.
Un Kernell puede constar de 20.000 líneas de código de las cuales un 70/80% esta escrita en C y el resto
depende de la maquina.
SHELL.
7
Al contrario de otros sistemas operativos, por defecto el trabajo en Linux no se realiza de una forma gráfica,
sino introduciendo comandos de forma manual. Linux dispone de varios programas que, desde el punto de
vista del usuario actúa como un interprete de comandos que introduce el usuario y realiza las acciones
oportunas en respuesta. Estos programas denominados shell son el modo de trabajo en los sistemas Unix
incluido Linux. Es un programa que siempre esta en ejecución.
El shell lee las ordenes suministradas, las decodifica y lo comunica al núcleo para realizar la acción
especificada.
No obstante, casi todas las distribuciones recientes incluyen el sistema X Window (no X Windows), el cual es
el encargado de controlar y manejar la interfaz del usuario. X Window es mucho más poderoso y que otros
entornos similares como Microsoft Windows, puesto que permite que el usuario tenga un control absoluto de
los elementos gráficos.
El shell puede constar, en total, de unas 200.000 líneas en código C.
Los componentes del sistema operativo pueden verse de forma jerárquica en la figura siguiente:
Algunos comandos básicos del usuario en Linux:
Date: muestra la fecha del sistema.
Date −u: mddhhhhaa cambia la fecha del sistema, ej. 1202120095 es igual a mes 12, día 02, hora 12:00 y año
1995.
Logout, login y^D: salen de la actual sesión.
Alt+F1: inicia una consola virtual (varias a la vez: F1,F2,F3...)
Passwd: cambia el password del actual usuario.
^C: aborta programa en ejecución.
^S: paraliza la pantalla.
^Q: anula la paralización de la pantalla.
who: lista los usuarios conectados.
who ami: lista tu nombre.
who you are: lista tu nombre.
mail nombre: envía correo, se finaliza escribiendo un punto en una línea sola.
whereis: permite encontrar el lugar donde se encuentra algún programa.
whatis: informa brevemente para que sirve un programa.
mail: visualiza tu correo.
ls: lista directorios y ficheros.
8
cp file : copia ficheros.
rm file: borra ficheros.
mv file: mueve o cambia de nombre.
mkdir: crea un directorio.
pwd: muestra el directorio actual.
cd: cambia de directorio.
rmdir: borra un directorio.
reboot: reinicia el computador.
vi: permite invocar un procesador de textos .
clear: este comando limpia la consola.
man: imprime la pagina del comando deseado.
emacs: permite crear un texto.
exit: permite terminar el trabajo como un usuario en particular.
mount: se emplea para tener acceso a unidades.
unmount: cuando el usuario a terminado de utilizar el disco (en Linux las unidades de disco deben ser
desmontadas antes de ser extraídas de la unidad).
Startx: lanza el gestor de ventanas de X Window.
Clasificación de los usuarios en UNIX.
Unix es un sistema operativo multitarea y multiusuario, por lo que se deben establecer ciertos mecanismos de
tal manera que, simultáneamente, se protejan los datos de un usuario frente a otros y estos puedan ser
compartidos en caso necesario. Unix posee un mecanismo de permisos asociados a cada fichero. Este
mecanismo permite que los ficheros y directorios pertenezcan a un usuario en particular. Unix también
permite que los ficheros sean compartidos entre usuarios en particular. El comportamiento por defecto en la
mayoría es que todos los usuarios pueden leer los ficheros de otro usuario pero no pueden modificarlos o
borrarlos.
Los grupos de usuarios se definen normalmente en función al tipo de usuario. Cada usuario (perteneciente a
un grupo) tiene asociado un nombre, una palabra clave o password, un directorio y un proceso de arranque:
• Nombre: identificación del usuario cuando entra en la máquina (login).
• Clave: palabra oculta que solo conoce el usuario.
• UDI, GID: números de identificación de usuarios de grupos, respectivamente.
• Directorio: directorio inicial donde se situara el usuario al entrar en el sistema.
• Proceso: primer proceso que se arranca una vez dentro del sistema.
9
♦ Diferentes categorías de usuarios en función de sus privilegios (lo que puede y no puede
hacer):
• Superusuario o root: es el administrador del sistema. Tiene todos los privilegios.
• Usuarios normales: el resto de usuarios que pertenecen a distintos grupos, los cuales pueden tener una
serie de propiedades comunes.
• Usuarios especiales: asignados a tareas específicas por el sistema, generalmente de información o
manejo de aplicaciones ya instaladas de uso común a usuarios externos o internos. Por ejemplo: mail
(se encarga de recoger el correo y repartirlo a los diferentes usuarios), lp (se encarga de aceptar
trabajos de impresión y mandarlos a la impresora), bin, admin.
Desde el punto de vista del usuario el carácter u significa el propio usuario, significa el conjunto de usuarios
que pertenecen a su mismo grupo, o significa el resto de usuarios. Estos caracteres serán reconocidos por
ciertos comandos u órdenes.
Al contrario de lo que ocurre en Microsoft Windows la instalación de Linux no es un proceso sencillo, puesto
que Linux permite el control y la personalización de una cantidad mayor de parámetros y opciones. Pese a
todo se están realizando una serie de trabajos buscando que la instalación de Linux sea un proceso lo menos
traumático posible, dependiendo la sencillez de la distribución que se emplee.
Antes de proceder a instalar Linux es necesario tener en cuenta una serie de aspectos fundamentales. El
primero de ellos es leer la información del CD de instalación, esta puede aparecer en dos formas distintas, los
llamados HOWTO o en forma de manuales desarrollados para la distribución.
Uno de los conceptos principales que se debe tener en cuenta antes de la instalación es el de partición. Cada
S.O. organiza la información utilizando cada uno su propio sistema de archivos, como se muestra a
continuación:
Sistema Operativo Sistema de archivos
MS−DOS FAT
MS Windows 95 VFAT
MS Windows 98 FAT32
MS Windows NT NTFS
IBM OS/2 Warp HPFS
Linux Ext2
Esto en general impide que se puedan instalar varios sistemas operativos mezclados en un mismo disco duro.
Para solucionar este problema existen las llamadas particiones con las que se divide un determinado disco
duro de forma que pueda contener ambos sistemas de archivos. A todos los efectos una partición equivale a
que el disco se divida en dos (aunque por supuesto no se divide en forma física).
Los problemas fundamentales al instalar Linux es que el usuario desea conservar Windows y todos los
programas para este sistema. Aunque en la actualidad existen varias distribuciones que permiten la instalación
de Linux en un sistema de archivos de Windows lo más recomendable es instalar ambos sistemas en
particiones diferentes. Hasta épocas recientes esto suponía la perdida total e inevitable de toda la información
que contuviese el disco duro. En la actualidad las distribuciones de Linux incluyen una pequeña utilidad
10
llamada fips que permite dividir el disco sin perder información. Tras emplear fips habrá reducido el tamaño
de la partición de Windows y se habrá creado una nueva para ser utilizada en Linux.
Durante el proceso de instalación de Linux habrá que borrar la partición creada por fips y sustituirla por las
particiones que va a emplear Linux.
Otro de los puntos a tener en cuenta es como se quiere arrancar Linux si existe Windows, la forma más
sencilla es instalar LILO, un programa que se encarga de arrancar ambos sistemas operativos según lo que
indique el usuario al arrancar le PC. Los problemas surgen si hay que reinstalar Windows de nuevo, puesto
que el sistema el sistema operativo asume el control del PC y el sistema de arranque eliminando LILO (e
impidiendo arrancar Linux). Otra forma muy sencilla es emplear el disquete de arranque que se crea durante la
instalación.
Por ultimo existe otro concepto fundamental a la hora de instalar y usar Linux que es el de Súper Usuario o
usuario Root. Este usuario es el administrador del sistema y se crea durante la instalación. Como
administrador tiene acceso a toda la información del sistema, por lo que hay que evitar en la medida de lo
posible trabajar como root...
Detalles de instalación de Linux
(Red Hat)
Lo primero que hay que configurar es el modo de arranque del computador para que arranque directamente
desde el CD. Para ello ingresamos al programa de configuración del computador (setup) presionando al
momento de arranque la tecla <del> o <supr>.
Luego escogemos el tipo de instalación que deseemos siempre es más recomendable una instalación en modo
texto ya que al instalarlo de forma grafica podría no iniciase en caso de que la tarjeta de video no sea
reconocida por el sistema.
Elegimos el tipo de distribución que corresponda al teclado de nuestra maquina, luego el tipo de instalación
(para los nuevos en este tipo de trabajos siempre es recomendable la custom <personalizada>), lo siguiente es
el paso mas importante la creación de particiones del disco.
En Linux es necesario crear particiones, las diferentes particiones en Linux no se denominan C:, D:, E:, etc
existe un denominación propia.
• Particiones en Linux.
Los discos duros de IDE se identifican por hd (hard disk), y de acuerdo con la posición en las correas de IDE
tienen las siguiente identificación:
• /dev/hda: disco duro que corresponde al maestro primario (IDE1).
• /dev/hdb: disco duro correspondiente al esclavo primario (IDE1).
• /dev/hdc: disco duro que corresponde al maestro secundario (IDE2).
• /dev/hdd: disco duro correspondiente al esclavo secundario (IDE2).
La particiones que se hagan dentro de cada uno de estos dispositivos se enumera en la siguiente forma:
• del 1 al 4 para particiones primarias (en Linux pueden existir hasta 4 particiones primarias) dejando
uno de ellos para partición extendida si se desea.
• del 5 en adelante para las unidades lógicas de la partición extendida.
11
Una partición primaria o una unidad logica no esta en capacidad de almacenar información hasta que hasta
que no se definido para ella el tipo de sistema de archivos, como se menciono anteriormente en Linux se llama
ext2.
En Linux necesitamos crear al menos dos particiones, una para el sistema y otra para Swap. Usualmente se
suelen tener tres, una para el sistema /, otra para los datos /home y otra para Swap.
¿Qué es la swap?
La swap es un espacio reservado en tu disco duro para poder usarse como una extensión de memoria virtual
de tu sistema. Es una técnica 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.
Creando Swap.
Para tal fin empleamos Fdisk o en caso de Red Hat tomamos una llamada Disk Druid. La primera partición
que crearemos será la de tipo Swap con el fin de luego crear la Root. La Swap no requiere de ningún tipo de
montaje ya que es solamente accedida por la RAM, nosotros no necesitamos acceder a dicha información. El
tamaño de esta partición debe ser igual al doble de RAM que posea nuestro PC (en computadores con más de
128 mb este tamaño puede ser igual al tamaño puede ser igual a la cantidad de RAM del equipo).
Creando Root.
El procedimiento para esta partición es prácticamente el mismo que para la Swap. A esta partición le
asignaremos el tamaño total del disco y el punto de montaje será /. Esta partición debe ser activada.
Si el disco no ha sido formateado es necesario formatear la recién/ creada partición /, lo mas aconsejable es
hacerlo ya que de esa forma aseguramos la integridad de garantizar la integridad de los datos.
Iniciación a Linux
Existen tres formas de acceder a un sistema Linux:
• A través de una consola de texto, el usuario se conecta directamente al ordenador que tiene instalado
Linux y accede mediante un sistema no gráfico.
• Desde un gestor de sesiones gráfico (X window), el usuario se conecta directamente al ordenador que
tiene instalado Linux y accede al sistema mediante un programa gráfico.
• Desde un ordenador remoto mediante telnet o secure shell.
En cualquiera de estos casos en pantalla aparecerá (más o menos) lo siguiente:
Login: (se teclea el nombre de usuario)
Password: ( se teclea la contraseña)
La estructura del sistema de archivos en Linux es jerárquica como se muestra:
El directorio /dev.
Contiene la representación, por medio de archivos, de los dispositivos que se encuentran conectados al
sistema: discos duros, unidades de floppy disk, puertos seriales y puertos paralelos, entre otros. Estos archivos
12
son esenciales para el correcto funcionamiento del computador.
El directorio /etc.
Contiene los archivos de configuración del sistema, es decir, aquellos que definen, por ejemplo, el
funcionamiento del servidor de correo, del monitor y de la tarjeta de video, entre otros.
El directorio /lib.
El estándar dice que este directorio debe contener estrictamente aquellas librerías necesarias para el
funcionamiento de los binarios que se encuentran en los directorios /bin y /sbin. Se llama binario en Linux a
un programa que ya ha sido compilado y en espera de que se le ejecute.
El directorio /proc.
Contiene algunos archivos especiales que se comunican con el Kernell, enviando información hacia este y
extrae información del mismo.
El directorio /sbin.
En el se almacenan los programas que solamente pueden ser empleados por el administrador del sistema
(root).
El directorio /usr.
Este directorio puede tener su propia partición (la cual hay que crear al momento de la instalación de Linux
por medio de fdisk o disk druid).
El directorio /var.
Aquí se almacenan algunos archivos de tipo temporal, o que informan sobre actividades administrativas o solo
la carga del sistema y sus programas.
El directorio /home.
En este directorio se almacenan las casa de los usuarios del sistema (a excepción de root); además también
pueden estar aquí los archivos correspondientes a la publicación en el web: /home/http; la transferencia de
archivos: /home/ftp.
El directorio /root.
Es la casa del administrador del sistema, en la cual sólo él define qué debe guardar.
A llegado el momento de conocer la otra cara de Linux, una cara más amigable y que nos ayudará a
incrementar nuestra productividad y a sacar el máximo de este sistema operativo.
Unix emplea una herramienta grafica de mucha utilidad llamada X Window, como se menciono
anteriormente. Este sistema se instala como una opción más o se instala automáticamente. Xfree86 es la
versión de X Window disponible en Linux. Es una colección de servidores para sistemas operativos similares
a Unix que funciona con procesadores 386 en adelante.
Gestores de ventana y escritorios
13
Un gestor de ventanas es el programa encargado de generar y manejar las ventanas y demás recursos gráficos
que configuran la IGU(Interfase Grafica del Usuario);la forma en que lo depende de la filosofía con la cual se
halla diseñado.
Cuando introducimos startx lo primero que hace es determinar el gestor de ventanas que quiere utilizar, para
luego lanzarlo, cuado se encuentra activo, las ventanas aparecen en la forma en que nos gusta verlas.
Además de los gestores existen los escritorios. La diferencia es que el primero se encarga de la creación y
manipulación de la IGU y el segundo proporciona al usuario una serie de aplicaciones de utilidad para el
trabajo diario el usuario.
Las diferencias entre estos dos escritorios son muy simples. Cada uno tiene sus fortalezas y debilidades y cada
uno también tiene su historia de desarrollo bastante larga (en caso de KDE es un proyecto que lleva más de 6
años).
Entorno gráfico KDE
Entorno gráfico Gnome
Consejos para novatos en UNIX
Instalar y utilizar su propio sistema Linux no requiere grandes conocimientos de UNIX. De hecho, muchos
novatos de UNIX instalan con éxito sus sistemas. Es una experiencia de la que se aprende, pero de la que se
pueden generar fustraciones. Si tiene suerte, podrá instalar y usar Linux sin conocimiento alguno de UNIX.
Sin embargo, cuando quiera introducirse en tareas más complejas (instalar nuevo software, recompilar el
núcleo, etc.) el conocimiento de UNIX empieza a ser necesario.
Por suerte, ejecutando su propio sistema Linux podrá aprender las cosas esenciales de UNIX para llevar a
cabo esas tareas. Quizás le parezca interesante leer esos capítulos antes de instalar Linux. En este caso, se
ahorrará algunos problemas.
Nadie puede esperar hacerse experto administrador de la noche a la mañana. No hay implementación alguna
que esté libre de mantenimiento. Por lo tanto, prepárese si es novato, pero no se desespere ante los
problemas.
Linux es una excelente elección para trabajar con UNIX a nivel personal. El mismo permite desarrollar y
probar el software dicho software en nuestra PC, incluyendo aplicaciones de bases de datos y X Windows.
Con Linux, se puede correr un sistema UNIX y adaptarlo a las necesidades. La instalación y uso de este es
también una excelente manera de aprender UNIX si no se tiene acceso a otras máquinas con este sistema.
Linux no es solo para los usuarios personales de UNIX. Es robusto y suficientemente completo para manejar
grandes tareas, así como necesidades de cómputo distribuidas. Muchos negocios especialmente los pequeños
se están cambiando a este sistema operativo en lugar de otros entornos de estación de trabajo basados en
UNIX. Grandes vendedores de software comercial se están dando cuenta de las oportunidades que puede
brindar un sistema operativo gratuito.
Linux es, propiamente, el núcleo de un sistema operativo. Es decir, el conjunto de programas que controla los
aspectos más básicos del funcionamiento de un ordenador.
19
14
Procesos
Caparazón o Shell
Núcleo o Kernel
Hardware
15
Descargar