Está en la página 1de 18

C.- CONFIGURACIÓN Y ADMINISTRACIÓN DEL SISTEMA OPERATIVO LINUX.

Instalación del sistema operativo LINUX.


Si va a instalar Linux en un disco que contiene información y desea conservarla deberá hacer copias
de seguridad antes de borrarlo. También es conveniente que haga copias de seguridad si tiene su
disco duro ocupado con Windows y desea instalar también Linux.

Una copia de seguridad es simplemente una copia de sus datos, se le llama de seguridad porque no
está destinada a trabajar sobre ella, como suele hacerse sobre los datos originales, sino a prevenir
desastres.

Si le hemos convencido de que haga copias de seguridad he aquí unas pocas indicaciones:

1. Usted debería tener ya copias de seguridad de sus datos.

2. Lea el primer punto.

3. Fíjese que hablamos de "copias" en plural, lo que significa que debería tener más de una copia de
sus documentos. Además tendría que tenerlas en lugares físicos distintos, por ejemplo en su
despacho, domicilio y/o en el centro de trabajo, siempre a buen recaudo.

4. Si usted lo desea puede hacer una copia de seguridad de todo su disco duro en un juego de CDs
o DVDs con algunas de las utilidades existentes para ello. Pero en general no debiera preocuparse
de los programas o el sistema operativo, podría volver a instalarlos en cualquier momento aunque
le suponga una molestia. En cambio si pierde sus documentos personales, ese texto que escribió o
su correo electrónico, no podrá volver a recuperarlos a menos que disponga de una copia.

5. Elija un soporte fiable y compruebe periódicamente que los datos están en buen estado.

6. Todos los soportes tienen ventajas e inconvenientes, algunos de los más comúnmente usados en
informática doméstica son: DVD (gran capacidad, fiable, pero necesita de una grabadora que quizá
no tenga), CD (menor capacidad, fiable, necesita de una grabadora aunque muchos ordenadores ya
la tienen.

Los hay de una sola escritura y regrabables. Estos últimos le darán la posibilidad de ir actualizando
sus copias con un menor gasto), unidades ZIP (fiables, menor capacidad, casi se han dejado de
comercializar), disquetes (escasa capacidad, poco fiables, casi todo el mundo tiene una disquetera),
memorias USB (son fiables pero no se suelen emplear con estos fines, puesto que son
suficientemente caras como para grabar en ellas datos y dejarlas después para cuando hagan falta).

Sepa usted además que no todos los soportes CD o DVD tienen la misma calidad ni todos funcionan
bien con todas las grabadoras y lectoras. Así pues, compruebe que el soporte es de calidad y fiable,
pruébelo varias veces hasta que esté seguro de que no le va a fallar y tómese en serio las
indicaciones de conservación del fabricante.

7. Haga copias redundantes, al menos dos e incluso tres.

8. Finalmente, actualice periódicamente las copias de sus datos.


Instalación de aplicaciones bajo LINUX.
Existen distribuciones como Mandriva o Ubuntu orientadas al “usuario normal”, es decir usuarios
informáticos convencionales que no se dedican profesionalmente a la informática. En último
extremo estas distribuciones entran en competencia directa con Windows y necesitan que usuarios
de Windows empiecen a usarlas para seguir creciendo. Sin embargo, el usuario de Windows que
decide probar Linux necesita una transición lo más suave posible.

En muchas distribuciones de Linux existen los conceptos de “repositorio de paquetes” y de “gestor


de paquetes”. Mandriva, por ejemplo, tiene repositorios en servidores de Internet llenos de
paquetes y usa herramientas como urpmi o rpmdrake. Una vez configurados los repositorios instalar
una aplicación será tan sencillo como poner su nombre y se descargaran automáticamente el
paquete que contiene la aplicación y todas sus dependencias. El sistema de repositorios y paquetes
es tan perfecto que los linuxeros no quieren ver sus inconvenientes.

Aprender supone un esfuerzo y el esfuerzo a menudo genera infelicidad. El windosero que prueba
Linux espera un paquete al que se le pueda hacer doble click con el ratón pulsar continuar y
aplicación instalada. El windosero que prueba Linux no sabe ni quiere saber en muchos casos que
es un repositorio ni una dependencia. En lugar de recriminarle las pocas ganas de aprender tal vez
habría que darle lo que pide.

Yo imagino un nuevo tipo de paquetes llamado .rol. Un .rol es un archivo comprimido y dentro del
archivo comprimido existen una serie de rpms y un pequeño archivo de texto que clasifica a cada
.rpm en tres categorías: principal, necessary y suplementary. En la categoría principal normalmente
sólo habría un .rpm que contiene la aplicación. En la categoría necessary estarían los rpms que
contienen las dependencias que el creador del .rol estima que va a necesitar el usuario. En la
categoría suplementary están los rpms que amplían la aplicación pero que no son necesarias para
su funcionamiento como por ejemplo una colección de carátulas.

Cuando el usuario el usuario hace doble click sobre un .rol aparece la aplicación RolInstaller que
actúa así:

1. Solicita la contraseña de root si el sistema cuenta con contraseña.

2. Descomprime el .rol en /tmp/rol/.

3. Deshabilita todos los repositorios que tenía configurados el usuario.

4. Añade y habilita /tmp/rol/ como repositorio local.

5. Advierte al usuario que se van a instalar los rpms de la categoría principal y aquellos de la
categoría necessary que no estén presentes en el sistema.

6. Si el usuario acepta instala los rpms.

7. Invita al usuario a seleccionar rpms de la categoría suplementary.

8. Si el usuario selecciona rpms se instalan más paquetes.

9. Borra y elimina /tmp/rol/.


10. Habilita los repositorios que tenía el usuario. 11. Indica que el proceso de instalación ha
concluido. La aplicación RolUninstaller no existiría y el usuario sólo podría quitar rpms en un futuro.

Este sistema de paquetes no solo ayudaría a usuarios noveles de Linux, sino que resolvería otro gran
problema de Linux: que se trata de un sistema operativo on-line. Cualquier linuxero sabe lo difícil
que es instalar una aplicación cuando no se dispone de una banda ancha. De hecho el nombre de
.rol se me ha ocurrido por “Rpm Off-Line”.

La gran contrapartida de los .rol sería un mayor gasto de ancho de banda para los servidores al
enviarle al usuario de forma repetida dependencias que ya podrían estar en el sistema. Por otra
parte se podría generar una cultura Linux de comprar aplicaciones en Cds o adquirir Cds de
aplicaciones a través de revistas. También podría generarse una cultura Linux similar a la actual
cultura Windows de pasarle al vecino o amigo una aplicación en un CD o una pendrive.

Administradores de inicio.
El administrador de cualquier tipo de servidor debe ser una persona especializada, que
conozca lo mejor posible sus equipos, sus aplicaciones y sus usuarios; manteniéndose al día
en los avances tecnológicos, en las revisiones y parches de los programas instalados y en las
necesidades de su empresa.

LILO.
El Cargador de Linux (LILO) sigue utilizándose como gestor de arranque para Red Hat, aunque
GRUB es el que se está utilizando en la configuración por omisión.

Tanto LILO como GRUB tienen un comportamiento básico equivalente, aunque existen algunas
diferencias :

 LILO no cuenta con interfaz de mandatos interactivo.


 Guarda en el sector de arranque la información de las localizaciones de los núcleos de los
sistemas operativos disponibles, lo que obliga a reinstalar LILO cuando se realiza
alguna modificación en el menú de selección.
 LILO no puede leer a particiones ext2.

El fichero de configuración /etc/lilo.conf almacena la información que será instalada en el


sector de arranque del disco principal.

El siguiente ejemplo describe una configuración de LILO que despliega un menú que permite
arrancar Red Hat desde una partición extendida con núcleo 2.4.0 y MS-DOS desde la primera
partición del disco.
Loading.
El proceso de arranque en Linux es el proceso de inicialización del sistema operativo que realiza
Linux el núcleo o kernel (un componente de este sistema informático), el programa en el sistema
que asigna los recursos de la máquina a los otros programas que ejecuta.

Configuración del sistema operativo LINUX.


 Si fuera necesario, instale una segunda tarjeta gráfica.
 En el Manual de servicio de la estación de trabajo Estación de trabajo Sun Ultra 27
encontrará información relativa a la instalación de tarjetas opcionales.
 Conecte un monitor al conector para vídeo de cada tarjeta gráfica e inicie el sistema.
 El sistema tiene salida en la ranura PCIe 2 (predeterminada). Puede modificarlo en la
pantalla del adaptador gráfico del BIOS, situada en el menú Advanced (Avanzado), submenú
Initiate (Iniciar).
 Cuando el sistema se inicie, inserte el DVD de herramientas y controladores y cambie el
directorio a la ubicación siguiente:
 /cdrom/nombre_disco_HC/drivers/linux/ SO
 donde nombre_disco_HC es el nombre del disco de herramientas y controladores y SO es
redhat o suse.
 Ejecute la secuencia de comandos install.sh.
 Cuando la secuencia de comandos install.sh haya finalizado correctamente, reinicie el
sistema.
 Inicie sesión para ejecutar las parametrizaciones de Nvidia en una ventana del terminal.
 Configure el modo de visualización múltiple en X Server Display Configuration
(Configuración de visualización del servidor X).
 Haga clic en Apply (Aplicar) para actualizar el servidor X con la configuración nueva.
 Haga clic en Save to X Configuration File (Guardar en archivo de configuración X) para
guardar la configuración de la visualización en el archivo /etc/X11/xorg.conf.

Administración del sistema operativo LINUX.


Si queremos instalar Linux en un equipo con Windows y que coexista con él, debemos crear e
instalarlo en una partición diferente. Debemos de tener en cuenta que el “Sistema de Archivos” que
cada uno de estos sistemas operativos utiliza es diferente.

Para empezar, ¿qué es un “Sistema de Archivos”? Pues este término (también se utiliza “Sistema de
Ficheros” o directamente el inglés: “File System“), hace referencia a la forma en la que la
información se organizará en el disco duro (o dispositivo de almacenamiento utilizado), definiendo
cómo se realizarán las operaciones de lectura/escritura, búsquedas e indexación de los datos.

El disco duro de nuestro ordenador está confeccionado por múltiples bloques (denominados
sectores) donde se almacenan los datos que manejamos. El “sistema de archivos” es el que
determina como se organizan dichos bloques para confeccionar lo que conocemos bajo el nombre
de “archivos” y “directorios”, manteniendo información acerca del espacio disponible en cada
instante.

A lo largo de la historia, cada uno de los sistemas operativos que conocemos, ha tenido su propio
“Sistemas de archivos”. Así, podemos encontrar que Microsoft trabaja con dos tipos de sistemas de
archivos bien identificados: FAT (que tenía varias versiones, y que era utilizado para Microsoft
Windows 95, Windows 98, y Windows XP) y NTFS (propio de Microsoft Windows NT, Windows XP,
Windows Vista o el actual Windows 7). Son muchas las diferencias entre FAT y NTFS, pero las más
importantes están orientadas a la posibilidad de contar con dispositivos de almacenamiento más
grandes (FAT estaba limitado en tamaño de particiones) y más seguridad en el acceso a los ficheros
del sistema.

Por el contrario, GNU/Linux comenzó su andadura con su sistema de archivos “Ext2”, pero éste fue
sustituido por nuevas versiones que si tenían la capacidad de trabajar con grandes volúmenes de
información (Terabytes) y de poder restituir rápidamente (gracias al “Journaling”) el sistema ante
un fallo importante en el sistema de archivos. Posteriormente aparecieron otros sistemas de
archivos nuevos y mejoras sobre el modelo existente.

Veámoslo con más detalle:

(Sistema de archivos Extendido, versión 2) el primer sistema de archivos utilizado


por GNU/Linux fue creado por Remy Card (no es del todo cierto, antes existió “Ext”,
utilizado con “Minix”, pero debido a sus limitaciones y usos no suele contar como un
sistema de archivos válido para las distribuciones GNU/Linux que conocemos hoy en
día). Como todos los sistemas de archivos de Linux, éste también es asíncrono, es
Ext2 decir, no escribe inmediatamente los metadatos en el dispositivo de
almacenamiento, sino que lo hace de manera periódica. Con ello consigue
aprovechar los tiempos muertos de la CPU y consecuentemente, el rendimiento
general del equipo. Pese a ser el primero, ya dispone de mecanismos que permiten la
recuperación de la información en caso de fallo (detectando particiones
desmontadas erróneamente).

(Sistema de archivos Extendido, versión 3) es compatible con Ext2 (la única


diferencia con éste es que posee un fichero adicional de registro para implementar
“journaling”). De hecho, el objetivo de Ext3 era mejorar Ext2, pero manteniendo la
compatibilidad con éste. Entre las principales diferencias cabe destacar que Ext3
Ext3
mantiene la consistencia no solo de los metadatos (como ya hace Ext2) sino también
de los propios datos. Por supuesto, la seguridad de poder recuperar los datos de
nuestro sistema tiene un coste, y es que tendremos menos rendimiento y más
consumo de espacio en disco.

(Sistema de archivos Extendido, versión 4) mantiene la compatibilidad con sus


antecesores, posee “journaling”, reduce considerablemente la fragmentación de
Ext4
archivos (mejorando con ello el rendimiento), permite dispositivos de
almacenamiento de más capacidad.

Desarrollado por la empresa Namesys, fue el primer sistema de archivos con


ReiserFS
“journal” incluido en un núcleo estándar de Linux. Pero además, implementa otra
serie de ventajas no disponibles en otros sistemas de archivos, como puede ser la
repartición de sistemas de ficheros montados, o un esquema para reducir la
fragmentación. La versión más reciente de este sistema de archivos se denomina
“Reiser4”, y además de las características antes indicadas, posee mecanismos que le
permiten trabajar con cientos de miles de archivos, y una estructura de archivos
optimizada.

Creado por Silicon Graphics Inc., se trata de un sistema de archivos con “journaling”
que inicialmente funcionaba sobre la implementación IRIX de UNIX, pero que
XFS posteriormente se liberó como código abierto. Destaca por su alta escalabilidad y
fiabilidad (admite redireccionamiento de 64 bits, implementación paralelizada), y
sobre todo porque es capaz de trabajar con archivos muy grandes.

Desarrollado por IBM, inicialmente fue creado para servidores de alto rendimiento y
equipos de altas prestaciones. Posee un eficiente “journaling” que le permite
JFS trabajar cómodamente con archivos de gran tamaño como con otros más pequeños.
Las particiones JFS pueden ser dinámicamente redimensionadas (como ya hacía
RaiserFS), pero no pueden ser comprimidas (algo que si hacen RaiserFS y XFS).

Administración de usuarios y grupos.


La administración de usuarios y grupos solamente puede realizarlas el usuario root utilizando los
comandos de gestión de usuarios. Las tareas y los comandos para realizarlas son:

 Creación de usuarios / useradd


 Modificación de usuarios / usermod
 Eliminación de usuarios / userdel
 Creación de grupos / groupadd
 Modificación de grupos / groupmod
 Eliminación de grupos / groupdel
 Añadir usuarios a un grupo / adduser
 Quitar usuarios de un grupo / deluser
 Creación de usuarios: El comando useradd permite añadir un usuario indicando como
parámetros la información particular para crear el usuario en la misma líne de comandos.
La sintaxis es:

//Crear usuario

useradd [opciones] nombre-usuario

Entre las opciones más destacables tenemos:

-g: Grupo principal que queremos tenga el usuario (debe existir previamente)

-d: Carpeta home del usuario. Suele ser /home/nombre-usuario

-m: Crear carpeta home si es que no existe.


-s: Intérprete de comandos (shell) del usuario. Suele ser /bin/bash

Ejemplo, si deseamos crear un usuario llamado 'pedro' cuyo grupo principal sea 'profesores', cuya
carpeta home sea /home/pedro y su intérprete de comandos sea /bin/bash, ejecutaremos el
siguiente comando:

// Crear un usuario

sudo useradd -g profesores -d /home/pedro -m -s /bin/bash pedro

De esta manera habremos creado al usuario pedro y su carpeta home. Si no utilizamos la opción -
m, no se creará la carpeta home del usuario; en tal caso tendríamos que crearla manualmente. Tan
solo nos quedará establecer su contraseña con el comando passwd:

// Establecer la contraseña del usuario

sudo passwd pedro

Entonces el sistema nos preguntará dos veces la contraseña que queremos asignar a pedro.

El comando useradd permite crear muchos usuarios automáticamente mediante archivos de


comandos (scripts).

Se recomienda que el nombre de usuario sea en minúsculas y además de letras también puede
contener números y algún signo como guiones normales y guiones bajos. Debemos recordar que
unix distingue entre mayúsculas y minúsculas, es decir, Pepe es distinto de pepe.

 Modificación de usuarios: Se utiliza el comando usermod y permite cambiar el nombre del


usuario, su carpeta home, su intérprete de comandos, los grupos a los que pertenece y
algunos otros parámetros.

// Cambiar el home de un usuario

sudo usermod -d /home/carpeta_pedro pedro

 Eliminación de usuarios: Se realiza con el comando userdel seguido del nombre del usuario.
Con la opción -r eliminará también su carpeta home, ejemplo:

// Eliminación de un usuario

sudo userdel -r pedro

Eliminaría el usuario pedro y su carpeta home.

 Creación de grupos: El comando groupadd permite añadir un grupo indicando como


parámetro el nombre del grupo. Ejemplo, si deseamos crear un grupo llamado 'alumnos'
ejecutaremos:

// Añadir un grupo

sudo groupadd alumnos


 Modificación de grupos: El comando groupmod permite modificar el nombre de un grupo
o el gid del mismo. La sintaxis es: sudo groupmod [-g nuevo-gid] [-n nuevo-nombre] nombre-
grupo, ejemplo:

// Cambiar el gid del grupo profesores

sudo groupmod -g 2000 profesores

 Eliminación de grupos: Se realiza con el comando groupdel seguido del nombre del grupo,
ejemplo:

// Eliminación de un grupo

sudo groupdel profesores

Eliminaría el grupo profesores. Si algún usuario tuviera dicho grupo como grupo primario, el
comando groupdel no eliminará el grupo.

 Añadir usuarios a un grupo: Se utiliza el comando adduser seguido del nombre del usuario
y del nombre del grupo al que queremos añadirle, ejemplo:

// Añadir a 'juan' al grupo 'profesores'

sudo adduser juan profesores

 Quitar usuarios de un grupo: Se utiliza el comando deluser seguido del nombre del usuario
y del nombre del grupo del que queremos quitarle, ejemplo:

// Quitar a 'juan' del grupo 'profesores'

sudo deluser juan profesores

Para más información de todos estos comandos se puede consultar la ayuda del manual ejecutando
man seguido del nombre del comando, ejemplo man adduser.

Herramienta gráfica de administración de usuarios

Ubuntu dispone de una herramienta gráfica de administración de usuarios que es 'users-admin'.


Para ejecutarla podemos abrir una consola de root y ejecutar users-admin o si hemos iniciado sesión
como root, podemos pulsar Alt+F2 y ejecutar users-admin.

Herramienta users-admin para administración de usuarios y grupos

Se trata de una herramienta bastante intuitiva que dispone de una pestaña para administrar
usuarios y otra para administrar grupos.

Permisos de archivos y de directorios.


En Linux, todo archivo y directorio tiene tres niveles de permisos de acceso: los que se aplican al
propietario del archivo, los que se aplican al grupo que tiene el archivo y los que se aplican a todos
los usuarios del sistema. Podemos ver los permisos cuando listamos un directorio con ls -l:
$> ls -l

-rwxrwxr-- 1 sergio ventas 9090 sep 9 14:10 presentacion

-rw-rw-r-- 1 sergio sergio 2825990 sep 7 16:36 reporte1

drwxr-xr-x 2 sergio sergio 4096 ago 27 11:41 videos

Veamos por partes el listado, tomando como ejemplo la primera línea. La primera columna (-
rwxrwxr--) es el tipo de archivo y sus permisos, la siguiente columna (1) es el número de enlaces al
archivo, la tercera columna (sergio) representa al propietario del archivo, la cuarta columna (ventas)
representa al grupo al que pertence al archivo y las siguientes son el tamaño, la fecha y hora de
última modificación y por último el nombre delarchivo o directorio.

El primer caracter al extremo izquierdo, representa el tipo de archivo, los posibles valores para esta
posición son los siguientes:

- un guión representa un archivo comun (de texto, html, mp3, jpg, etc.)

d representa un directorio

l link, es decir un enlace o acceso directo

b binario, un archivo generalmente ejecutable

Los siguientes 9 restantes, representan los permisos del archivo y deben verse en grupos de 3.

Los tres primeros representan los permisos para el propietario del archivo. Los tres siguientes son
los permisos para el grupo del archivo y los tres últimos son los permisos para el resto del mundo u
otros.

rwx rwx rwx

usuario grupo otros

En cuanto a las letras, su significado son los siguientes:

r read - lectura

w write - escritura (en archivos: permiso de modificar, en directorios: permiso de crear archivos
en el dir.)

x execution - ejecución

Las nueve posiciones de permisos son en realidad un bit que o esta encendido (mostrado con su
letra correspondiente) o está apagado (mostrado con un guión -), asi que, por ejemplo, permisos
como rwxrw-r--, indicaría que los permisos del propietario (rwx) puede leer, escribir y ejecutar el
archivo, el grupo (o sea los usuarios que esten en mismo grupo del archivo) (rw-) podrá leer y escribir
pero no ejecutar el archivo, y cualquier otro usuario del sistema (r--), solo podrá leer el archivo, ya
que los otros dos bits de lectura y ejecucción no se encuentran encendidos o activados.
Sistemas de impresoras.
Las impresoras son unos de los recursos esenciales de cualquier servidor, ya que permiten
crear copiar en papel de documentos. Se utilizan tanto en oficinas como en ámbitos
académicos y domésticos .

Debe realizarse una previsión exhaustiva del tipo de documentación que los usuarios van a
necesitar imprimir, ya que de ello depende y de las posibilidades económicas de la empresa- la
elección del tipo de dispositivo impresor que deba adquirirse, de cómo va a accederse a
dicho periférico y del tipo de servicio que debe ser instalado y activado en el sistema.

La siguiente tabla presenta las características generales para los tipos de impresoras más
utilizados .

Por último debe evaluarse si la impresora va a estar enchufada localmente al servidor, si


va a usarse como un recurso compartido con otros clientes o si se conectará directamente a la
red informática, en el caso de que ésta cuente con tarjeta de red.

Mantenimiento del sistema: seguridad.

Este es el primero de una serie de artículos que tienen como objetivo introducir al lector en
GNU/Linux, dando sus fundamentos y teniendo como objetivo la seguridad de este sistema
operativo.

El Sistema de Archivos de Linux: Linux es un sistema operativo multiusuario, lo que significa que
podemos tener más de un usuario trabajando al mismo tiempo desde sus diferentes estaciones de
trabajo. A raíz de esto, el sistema debe proteger a unos usuarios frente a otros y a sí mismo.

En Linux se adopta como norma básica de seguridad, asignarle a cada uno de los usuarios, sólo los
permisos mínimos y necesarios para que este pueda realizar su trabajo, sin comprometer el de los
demás y la integridad del sistema.
El sistema de archivos de Linux sigue el estándar de Unix, posee una estructura determinada y
compatible con los demás sistemas Unix. Estos tienen su origen en la denominada raíz" o "root" que
es representado por "/". De este directorio se desprenden todos los Archivos (Archivos ordinarios -
Directorios - Archivos Especiales) a los que el sistema operativo tiene acceso. Entre los que se
encuentran:

/bin Contiene los archivos binarios del sistema.

/boot Contiene los archivos del cargador del sistema.

/dev Contiene los archivos que representan a los dispositivos que tenemos instalados.

/etc Es reservado para los ficheros de configuración del sistema y aquí no deben existir archivos
ejecutables.

/home Contiene los directorios personales de los distintos usuarios.

/lib Contiene las librerías para que se ejecuten los programas de /bin y /sbin

/opt Es donde se aloja la mayoría del software creado por terceros.

/proc Contiene archivos que envía o reciben información de Kernel del sistema.

/root Carpeta personal del superusuario o root.

/sbin Contiene programas que son accedidos únicamente por root y aquellos que se necesitan
durante el arranque y para montar /usr. Además, programas para poder realizar el mantenimiento
y la recuperación del sistema.

/usr Es para los archivos que pueden ser compartidos por todos los usuarios del sistema, es
altamente recomendable que sea montada en modo sólo lectura.

/tmp Es la destinada a almacenar archivos temporales.

/var Contiene ficheros de datos variables. Esto incluye datos de administración y registro, así como
ficheros temporales.

Para mantener un sistema Linux seguro, lo primero que debemos hacer es una apropiada
distribución del espacio de almacenamiento. Al particionar correctamente el o los discos de
almacenamiento, estamos minimizando el riesgo de que al deteriorarse por alguna circunstancia
una partición, se vea afectada la totalidad del sistema, sólo nos veríamos expuestos a dicha
partición.

En este sentido, no existe un estándar que nos indique como debemos realizar esta tarea,
dependerá del uso que se le aplique al sistema y a la experiencia de quien la realice. Aunque sí,
puedo presentarles como consejo, el siguiente ejemplo en donde se tienen 8 particiones:
1. /boot
En esta partición se alojan todos los archivos a los que necesita acceder el cargador del
sistema que interactúa con el BIOS. A diferencia de las muchas particiones que se presentan
en este ejemplo, en donde se justificarían en sistemas grandes, esta puede ser muy útil si
nos vemos limitados de espacio libre.
2. swap
Es destinada al soporte de la Memoria Virtual, esta partición es obligatoria y de no llegar a
ser así, es altamente recomendable. Generalmente se calcula su tamaño como el doble de
la memoria principal, mayor a esto, generaría pérdidas de espacio en el disco. En grandes
instalaciones podríamos tener más de una partición de intercambio o swap.
3. /
Es la partición root o raíz. Es montada cuando el sistema inicia, y debe contener todos los
archivos necesarios para el arranque y la configuración del sistema. En esta, son necesarios
algunos de los siguientes directorios: /bin, /dev, /etc, /lib, /mnt, /proc, /root, /sbin.
4. /usr
Es una de las particiones con la que tendríamos que ser más cuidadosos y generosos en
cuanto a tamaño, ya que en ella se va a ubicar la mayoría del software que el sistema
operativo pone a disposición de los usuarios. Además en /usr/src encontramos gran
cantidad de códigos fuentes, ya sea del núcleo de Linux como de los paquetes basados en
RPM.
5. /home
Es la partición que contiene los directorios personales de los diferentes usuarios del sistema,
el espacio que se le asignará a esta, dependerá exclusivamente del número de usuarios y de
la cantidad de datos que maneje cada uno de ellos.
6. /opt
En el directorio /opt, es donde la mayoría del software de terceros está diseñado para
instalarse. De no crear esta partición, se instalarán en la partición raíz, la cual podría llegar
a no tener el espacio necesario, aunque obviamente existen otras maneras de resolver esto,
ya que podríamos crear un link simbólico a otra partición con mayor tamaño.
7. /var
De esta partición se hace un uso efectivo solo en sistemas servidores, por ejemplo de
impresión, y multiusuarios, ya que está destinada a ir guardando los distintos archivos de lo
que el sistema Linux irá creando y que ubica en /var/log. En el caso de tener un servidor de
impresión, en /var/spool se encuentran los archivos en cola de impresión.
8. /tmp
Es la partición encargada de almacenar los archivos temporales. Al igual que la partición
/var, de esta se hará un uso efectivo en sistemas con gran cantidad de usuarios o servidores
de red. De no crearse, /tmp se ubica en la partición raíz y haría posibilidades de que los
usuarios ocupen todo el espacio en disco de la mencionada partición. No es necesaria la
creación de ésta en estaciones de trabajo.

El entorno de ayudas del sistema LINUX.


Como bien dices hacemos muchas referencias a la famosa ayuda de Linux, esto es debido a que
normalmente los comandos de Linux tienen multitud de opciones y parámetros y no podemos
explicar cada una de estas opciones o tendríamos que publicar un artículo para explicar bien cada
comando.

Linux incorpora un sistema de manuales internos donde vienen detallados cada uno de los
comandos básicos de Linux.

Para visualizar estos manuales se utiliza en comando man seguido del nombre del parámetro a
consultar.

Para desplazarnos a través de la documentación utilizamos las teclas AVPAG y REPAG y para salir se
utiliza la tecla “q”

No solo se pueden consultar manuales de comando sino que hay también de programas utilidades,
etc.

Estos manuales se clasifican normalmente en 9 grupos:

1. Programas ejecutables
2. Llamadas a librerías de sistema
3. Llamadas al sistema
4. Juegos
5. Archivos especiales
6. Paquetes de marco
7. Formato de los archivos de configuración
8. Rutinas del núcleo
9. Comandos de administración del sistema

Si man no te proporciona suficiente información sobre lo que estás buscando también existe otro
comando que te puede ayudar, se trata del comando info que es algo más extendido que man.

Comunicación entre usuarios


Las comunicaciones entre usuarios del sistema operativo Linux son de una gran importancia, ya que
permite al superusuario avisar a los usuarios de los cambios que se produzcan en el sistema, nuevos
usuarios, nuevas normas, apagado del sistema, noticias, etc. Pero también se utilizan para
comunicarse entre los usuarios.

Emuladores.
Es un software que permite ejecutar programas o videojuegos en una plataforma (sea una
arquitectura de hardware o un sistema operativo) diferente de aquella para la cual fueron escritos
originalmente. A diferencia de un simulador, que solo trata de reproducir el comportamiento del
programa, un emulador trata de modelar de forma precisa el dispositivo de manera que este
funcione como si estuviese siendo usado en el aparato original.
D.- ADMINISTRACIÓN DE APLICACIONES EN ENTORNOS MULTIUSUARIOS
BAJO LINUX.
Código reentrante
Decimos que una determinada función (o método) es threadsafe cuando se puede ejecutar de forma
concurrente por varias tareas. Esto implica que, para los accesos a toda información estática
(común) se realizan las operaciones de sincronizan necesarias para garantizar el acceso coherente
al recurso dado.

Decimos que una determinada rutina es reentrante cuando soporta la reentrada en el código en
cuestión mientras este está ejecutando, es decir, es capaz de funcionar correctamente cuando, en
mitad de su ejecución por algún motivo (como por ejemplo una interrupción) esta se detiene en
mitad de proceso y desde algún otro punto se invoca de nuevo la rutina, reentrando en esta,
ejecutándola y restaurando la ejecución en el punto en que se interrumpió en un principio.

Una función es reentrante si:

 No se modifica a si misma (no modifica su propio código). Esto es lo más normal en la gran
mayoría de los programas.
 No hace uso de memoria estática (situada en el heap o en el segmento de datos)
 No realiza llamadas a funciones no reentrantes

Si una función cumple esos parámetros entonces es reentrante (lo cual no significa que una función
no pueda ser reentrante cumpliendo otros requisitos. Cualquier función que garantice la reentrada
de código (por ejemplo realizando el acceso a variables globales de forma atómica) es reentrante.

El código reentrante puede a veces confundirse con el concepto de código treadsafe (seguro para
tareas), principalmente por que suele ser normal que el código reentrante sea también threadsafe,
sin embargo son conceptos distintos.

Zona de datos en memoria


La memoria compartida es uno de los mecanismos de Comunicación Entre Procesos (IPC) que hay
en Linux.

1. Para usar memoria compartida en Linux es necesario seguir una serie de pasos que luego se
traducen a llamadas al sistema.

2. Necesitamos obtener un identificador de IPC. Para ello convertimos una ruta (path) del
sistema en un identificador IPC. Este identificador es necesario para crear la crear la zona
de memoria virtual. Esto es muy sencillo de hacer con la llamada al sistema ftok.
3. Crear el segmento de memoria compartida con la llamada al sistema shmget.
4. Operar con la memoria compartida. Indicamos lo que queremos compartir con la llamada
al sistema shmat.
5. Destruimos el segmento de memoria compartida con la llamada al sistema shmdt y shmctl.

Variables de entorno en aplicaciones de usuario


Las variables de entorno en Linux son variables que contienen valores que pueden ser utilizadas por
diferentes programas.

Existen varias variables de entorno que ya están definidas con la instalación del sistema operativo,
pero también es posible agregar otras según sean las necesidades.

Entre las variables de entorno predefinidas están:

1. HOME: Contiene la dirección al home del usuario actual.


2. LANG: Especifica el lenguage que está siendo utilizado en el sistema operativo.
3. PATH: Una de las más importantes variables de entorno. Contienen direcciones a carpetas
donde están los binarios. Esto nos permite poder escribir el comando en la consola sin
necesitar escribir toda la dirección hasta donde se encuentra el binario.
4. PWD: Contiene la dirección del directorio actual de trabajo.
5. SHELL: Nombre de la consola que se ocupa por defecto en el sistema.
6. USER: Nombre del usuario actual.

Para poder consultar todas las variables que están seteados como variables globales podemos usar
el comando export:

emco@debian:~$ export

Lo que da como resultado una salida similar a esta:

declare -x COLORTERM="Terminal"

declare -x DISPLAY=":0.0"

declare -x GLADE_CATALOG_PATH=":/usr/share/glade3/catalogs"

declare -x GLADE_MODULE_PATH=":/usr/lib/glade3/modules"

declare -x GLADE_PIXMAP_PATH=":/usr/share/glade3/pixmaps"

declare -x GTK_PATH=":/usr/lib/gtk-2.0"

declare -x HOME="/home/emco"

declare -x HUSHLOGIN="FALSE"

declare -x LANG="es_SV.UTF-8"

declare -x LANGUAGE="es_SV:es"

declare -x LIBGLADE_MODULE_PATH=":/usr/lib/libglade/2.0"

declare -x LOGNAME="emco"
declare -x PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"

declare -x PWD="/home/emco"

declare -x SHELL="/bin/bash"

declare -x SHLVL="2"

declare -x XDG_DATA_DIRS="/usr/local/share:/usr/share:/usr/share"
E.- GESTIÓN DE LAS UNIDADES FUNCIONALES.
Procesos del sistema operativo.

- Procesos. Estados, operaciones.

- Procesos concurrentes, comunicación entre procesos.

- Planificación de procesos.

Gestión de la memoria.

- Paginación.

- Segmentación.

Sistemas de archivos.

- Punto vista de usuario.

- Punto vista sistemas operativos.

Gestión de entrada/salida.

- Hardware de entrada/salida.

- Software de entrada/salida.