Download UNIDAD 1: SISTEMA OPERATIVO LINUX

Document related concepts
Transcript
Práctica 5
UNIDAD 1: EL SISTEMA OPERATIVO LINUX
1. CARACTERÍSTICAS DE LINUX.
El sistema operativo LINUX es un conjunto de programas y una serie de utilidades que permiten al
usuario gestionar los recursos hardware del sistema y construir aplicaciones.
Al conjunto de programas que se encargan de gestionar los recursos del sistema se le llama kernel
(núcleo del sistema). El kernel define la personalidad de nuestro sistema. La versión del kernel de linux ha
ido evolucionando con el tiempo ofreciendo cada vez mayores prestaciones y un control más optimizado
sobre el hardware.
Junto al kernel, linux dispone de un conjunto de utilidades que hacen mucho mas amigable el uso de
un ordenador bajo este sistema operativo. Este conjunto de utilidades incluye editores de texto,
compiladores, gestores de ventanas, calculadora, juegos, etc.
LINUX se caracteriza por ser un sistema "MULTIUSUARIO" porque permite que dos o más
usuarios utilicen la computadora simultáneamente. Cada usuario dispone de un espacio de memoria y un
subdirectorio de trabajo al cual solo él tiene acceso. Este le confiere seguridad al sistema e impide que
otros usuarios puedan escribir o leer ficheros fundamentales para la integridad del sistema.
Puesto que el kernel es el encargado de gestionar el hardware, los usuarios necesitan comunicarse
con él; para ello se utiliza otro programa conocido como el shell. El shell es un "Intérprete de Línea de
Comandos" que traduce los comandos tecleados por el usuario y los convierte en instrucciones que puede
entender el Kernel.
A continuación enumeramos los conceptos generales de la familia de sistemas Unix
(Linux es una variante de Unix):
Kernel.
Este es el componente principal del sistema operativo. Se encarga de asignar tareas y manejar el
almacenamiento de datos. El usuario rara vez opera directamente con el kernel, que es la parte
residente en memoria del sistema operativo.
Shell.
Esta es la utilidad que procesa las peticiones de los usuarios. Cuando alguien teclea un comando
en la terminal, el shell interpreta el comando y llama el programa deseado. También es un lenguaje de
programación de alto nivel que puede utilizarse en la combinación de programas de utilidad para crear
aplicaciones completas.
El shell puede soportar múltiples usuarios, múltiples tareas, y múltiples interfaces para sí mismo. Los dos shells
más populares son el BourneShell (System V) y el Cshell (BSD Unix), debido a que usuarios diferentes
Manuel Sergio Jaime Rodríguez
1
Práctica 5
pueden usar diferentes shells al mismo tiempo, entonces el sistema puede aparecer con aspecto diferente
para usuarios diferentes. Existe otro shell conocido como KornShell (así llamado en honor de su diseñador),
que es muy popular entre los programadores.
Utilidades.
El Sistema Operativo UNIX incluye una gran variedad de programas de utilidad que pueden ser
fácilmente adaptadas para realizar tareas específicas. Estas utilidades son flexibles, adaptables, portables y
modulares, y pueden ser usadas junto con filtros y redireccionamientos para hacerlos más poderosos.
Multiusuario.
Dependiendo del equipo disponible, LINUX puede soportar desde uno hasta más de 100 usuarios,
ejecutando cada uno de ellos un conjunto diferente de programas.
Multitarea.
Linux puede ejecutar varias tareas simultáneamente. Cada tares tiene asignado un espacio de
memoria y una prioridad. Las tareas siguen líneas de ejecución distintas de forma que alguna de ellas puede
quedar bloqueada sin afectar al resto de las tareas.
Multiplataforma.
Corre en muchas CPUs distintas (Intel 386/486/Pentium y como k6/7 de AMD, procesadores de la
familia Motorota, Sun Sparc, etc).
Sistema de Archivos.
La estructura de archivos de Linux está pensada para facilitar la utilización de una gran cantidad de
archivos. Utiliza una estructura jerárquica o de árbol que permite a cada usuario poseer un directorio
principal con tantos subdirectorios como desee; LINUX también permite a los usuarios compartir archivos
por medio de enlaces (links), que hacen aparecer los archivos en más de un directorio de usuario. Cada
usuario es propietario de sus archivos y para ello cada fichero dispone de una serie de permisos. El
propietario de un fichero puede permitir que otros usuarios compartan el uso de alguno de sus ficheros
manipulando adecuadamente los permisos del fichero.
2. ESTRUCTURA DE ARCHIVOS.
a. TIPOS DE ARCHIVOS.
La base del sistema de archivos de Linux es obviamente, el archivo, que no es otra cosa que la
estructura empleada por el sistema operativo para almacenar información en un dispositivo físico como un
disco duro, un disquete, un CD-ROM, etc. Como es natural, un archivo puede contener cualquier tipo dce
información, desde una imagen en formato GIF o JPEG a un texto o una página web en formato HTML. El
sistema de archivos es la estructura que permite que Linux maneje los archivos que contiene:
Todos los archivos de Linux tienen un nombre, el cual debe cumplir algunas reglas:


Un nombre de archivo puede tener entre 1 y 255 caracteres.
Se puede utilizar cualquier carácter excepto la barra inclinada / y no es recomendable emplear los
caracteres con significado especial en Linux, que son los siguientes:
Manuel Sergio Jaime Rodríguez
2
Práctica 5
=, ^, ˜, ‘, “, `, *, ;, -, ¿, [, ], (, ), !, &, < y >
para emplear ficheros con estos caracteres o espacios, hay que introducir el nombre del fichero entre
comillas.

Se pueden utilizar números exclusivamente si así se desea. Las letras mayúsculas y minúsculas se
consideran diferentes y, por tanto, no es lo mismo carta.txt que Carta.txt o carta.Txt
Como en Windows, se puede emplear un cierto criterio de “tipo” para marcar las distintas clases de
ficheros empleado una serie de caracteres al final del nombre que identifiquen el tipo de fichero del que se
trata. Así, los ficheros de texto, HTML, las imágenes PNG o JPG tienen extensiones .txt .htm (o html), .png y .
jpg (o .jpeg), respectivamente.
Pese a esto, Linux sólo distingue tres tipos de archivos:



Archivos o ficheros ordinarios, que son los mencionados anteriormente.
Directorios (o carpetas). Es un archivo especial que agrupa otros ficheros de una forma estructurada.
Archivos especiales. Son la base sobre la que se asienta Linux, puesto que representa dispositivos
conectados a un ordenador, como puede ser una impresora. De esta forma, introducir información en ese
archivo equivale a enviar información a la impresora. Para el usuario estos dispositivos tienen el mismo
aspecto y uso que los archivos ordinarios.
b. ENLACES.
El enlace es un tipo de archivo ordinario cuyo objetivo es crear un nuevo nombre para un archivo
determinado. Una vez creado el enlace simbólico, éste permite acceder al fichero que enlaza de igual modo
como si se accediese desde el archivo original. Los enlaces simbólicos son especialmente útiles cuando se
quiere que un grupo de personas trabajen sobre un mismo fichero, puesto que permiten compartir el fichero,
pero centralizan las modificaciones.
c. EL CAMINO O PATH.
En cualquier sistema operativo moderno la estructura de archivos es jerárquica y depende de los
directorios. En general, la estructura del sistema de archivos se asemeja a una estructura de árbol, estando
compuesto cada nudo por un directorio o carpeta, que contiene otros directorios o archivos.
En Windows, cada unidad de disco se identifica como una carpeta básica que sirve de raíz a otras y cuyo
nombre es especial: a:, c:, d: etc. En los sistemas UNIX y, por lo tanto, en Linux, existe una única raíz
llamada / de la que cuelgan todos los ficheros y directorios, y que es independiente de los dispositivos que
estén conectados al ordenador.
El camino o path de un fichero o directorio es la secuencia de directorio que se ha de recorrer para
acceder a un determinado fichero separados por /.
Existen dos formas del path o camino:
 El camino absoluto que muestra toda la ruta a un fichero (por ejemplo,
/home/luis/Carta.txt).
 El path relativo a un determinado directorio (por ejemplo, si nos encontramos en el
directorio /home, el path relativo al fichero Carta.txt es luis/Carta.txt).
Además, todos los directorios contienen dos directorios especiales:
Manuel Sergio Jaime Rodríguez
3
Práctica 5


El directorio actual, representado por el punto (.).
El directorio padre representado por dos puntos (..).
Estando en el directorio /home/pedro, se puede acceder a Carta.txt con /home/luis/Carta.txt (path
absoluto), o bien, ../luis/Carta.txt (path relativo); en luis como ./Carta.txt o, simplemente, Carta.txt.
d. ESTRUCTURA DEL SISTEMA DE ARCHVOS EN LINUX.
La estructura de archivos del sistema operativo linux suele organizarse conforme a una convención, en
donde generalmente se encuentra los siguientes archivos y directorios:
/ (root)
El directorio raíz, que se encuentra en todos las estructuras de archivos de linux.
/bin
Recibe su nombre de la abreviación de “binarios” o ejecutables. Es donde residen la mayor parte de los
programas ejecutables del sistema. Por ejemplo los ejecutables de las órdenes ls, cd, cp y mv están en
este directorio. Es decir, cuando se usa la orden cd se está ejecutando el programa /bin/cd.
/dev
Todos los archivos que representan dispositivos se almacenan en este directorio.
/dev/console
Es la consola principal del sistema.
/dev/fd
Todos los ficheros que comienzan con fd se refieren a diferentes configuraciones y
unidades de disco flexible.
/dev/hd
/dev/ttyS,
Discos duros con interfaz IDE.
/
A través de estos ficheros se accede a los puertos serie
dev/cua
/dev/sd
Discos duros con interfaz SCSI.
/dev/lp
Ficheros de acceso a los puertos paralelo.
/dev/null
Dispositivo nulo, cualquier dato enviado a este dispositivo se pierde.
/dev/tty
Consolas virtuales, el sistema simula la conexión a varios terminales. Al pulsar la
combinación de teclas Alt+Tecla_de_función se puede conmutar entre los diferentes
terminales.
/etc
Aquí se almacenan archivos varios. El más útil es el archivo PASSWD, que es una lista de todos los
usuarios que tienen permiso para utilizar el sistema. Además de este archivo, aquí se encuentran
comandos usados por el supervisor, archivos de configuración, archivos de configuración de discos,
archivos de inicialización, listas válidas de usuarios, grupos, ethernet, hosts, a donde mandar mensajes
críticos, etc.. Solamente el superusuario (root) puede modificar ficheros de este directorio.
/home
Contiene el directorio “home” de los usuarios. Así, por ejemplo, /home/juan es el directorio del usuario
“juan”. Naturalmente, en un sistema recién instalado este directorio estará vacío.
/lib
Contiene las librerías de compartidas. Los nombres de los ficheros indican la versión, el tipo de objeto que
es y a qué lenguaje o utilidad pertenecen. Por ejemplo, libc.so.4.3.2. es una librería de C (libc), se trata de
Manuel Sergio Jaime Rodríguez
4
Práctica 5
una librería compartida (so shared object) y pertenece a la versión 4.3.2.
/lost+found
Aquí se va la información y los procesos que se estaban ejecutando cuando el sistema se cae.
/mnt
Directorio para poder montar sistemas de ficheros Linux.
/proc
Al acceder a este directorio, se consigue obtener información de los procesos que se ejecutan en el
sistema.
/root
Directorio raíz de superusuario.
/sbin
Contiene programas para la administración del sistema, que son únicamente accesibles al superusuario.
Aquí residen los comandos para montar y desmontar los sistemas de archivos, apagar el sistema y
utilidades para configurar la red y los dispositivos.
/tmp
Contiene ficheros temporales, resultado de la necesidad que tienen muchos programas del sistema de
general información temporal y posteriormente guardarla en dichos ficheros.
/usr
Es uno de los directorios más importantes del sistema puesto que contiene los programas de uso común
para todos los usuarios. Su estructura suele ser similar a la siguiente.
/tmp Aquí se guardan los archivos temporales que crean los programas que son ejecutados.
3. DISTRIBUCIONES DE LINUX.
Linux se puede dividir en cuatro componentes:
1.
2.
3.
4.
El núcleo.
El shell.
El sistema de archivos.
Programas básicos con los que trabajar.
Al conjunto formado por estos cuatro componentes es a lo que se llama distribución. Es decir, al núcleo junto
con las aplicaciones y utilidades necesarias para realizar nuestro trabajo. En la actualidad hay más de treinta.
Sólo vamos a enumerar las “más importantes” ya que muchas de las existentes se basan en alguna de las
aquí listadas.
® Redhat
Web: http://www.redhat.com
FTP: ftp://ftp.redhat.com/pub
Manuel Sergio Jaime Rodríguez
5
Práctica 5
® Debian
Web: http://www.debian.org
FTP: ftp://ftp.debian.org/debian
® SuSE
Web: http://www.suse.de/es/
FTP: ftp://ftp.suse.com
® Caldera Openlinux
Web: http://www.caldera.com
FTP: ftp://ftp.caldera.com/pub/OpenLinux
® Slackware
Web: http://www.slackware.com
FTP: ftp://ftp.slackware.com
® Mklinux
Web: http://www.mklinux.org
FTP: ftp://ftp.mklinux.org/pub/
® Mandrake
Web: http://www.linux-mandrake.com/es/
FTP: ftp://ftp.rediris.es/pub/linux/distribucions/mandrake/
Manuel Sergio Jaime Rodríguez
6
Práctica 5
ACTIVIDADES
1.- Entra como root y crea el grupo ciclo con el GID 600. Para ello, crea previamente el subdirectorio /
home/ciclo.
2.- Edita el fichero /etc/group. Analiza su contenido.
3.- Crea los subdirectorios al1, al2 y al3 en ciclo.
4.- Añade los usuarios al1, al2 y al3 y utiliza como directorio de trabajo los que has creado anteriormente. Los
tres usuarios deben pertenecer al grupo ciclo.
5.- Asigna a cada subdirectorio los permisos oportunos para que los tres usuarios puedan trabajar en grupo.
6.- abre una nueva consola y entra como usuario al1.
7.- analiza el contenido de la variable umask.
8.- crea con el comando dd un fichero llamado texto.
9.- analiza sus permisos.
10.- cambia los permisos de forma que puedan leerlo todos los usuarios.
11.- haz una copia del fichero anterior con el nombre nuevo.
12.- Analiza sus permisos.
13.- copia todos los ficheros a al2.
14.- Abre una nueva consola y entra como usuario al2.
15.- copia el fichero nuevo con el nombre otro.
16.- En la consola del root, edita el fichero issue para que aparezca el rotulo
“CICLO DE ADMINISTRACIÓN DE SISTEMAS”
17.- Edita el fichero motd para indicar a cada usuario un mensaje de bienvenida.
18.- Analiza el fichero /etc/passwd
Manuel Sergio Jaime Rodríguez
7