Anda di halaman 1dari 7

CURSO TALLER DE GNU/LINUX – NIVEL ADMINISTRADOR

Tema: Fundamentos GNU/Linux

c) La segunda etapa del gestor de arranque


Unidad III: Fundamentos carga el kernel en memoria, lo cual en su
GNU/Linux momento carga los módulos necesarios y
monta la partición root para sólo-lectura.

d) El kernel transfiere el control del proceso de


3.1 Objetivos
arranque al programa /sbin/init.
• Identificar los procesos de arranque,
inicio y cierre del sistema utilizando el e) El programa /sbin/init carga todos los
interprete Shell servicios y herramientas de espacio del
• Identificar las diferentes jerarquías del usuario y monta todas las particiones listadas
sistema de archivo. en /etc/fstab.

f) Se le presenta al usuario una pantalla de


3.2 Temática de la Guía Taller inicio de conexión para el sistema Linux recién
iniciado. (En modo gráfico o en modo texto)
• Proceso de arranque, inicio y cierre
3.4.2 El gestor de arranque
del sistema
• Vista preliminar del estándar de
El gestor de arranque para la plataforma
jerarquía del sistema de archivos
x86 se divide en dos etapas. La primera es
• Información del sistema un código binario de máquina pequeña en
el MBR. Su única función es la de localizar
3.3 Introducción
el gestor de arranque de la segunda etapa
Antes de aprender a usar el sistema debe y cargar la primera parte de éste en
también entender como se inicia y como debe memoria.
terminar el sistema, al mismo tiempo debe
conocer la información esencial sobre sus GRUB tiene la ventaja de ser capaz de
archivos y directorios principales del sistema. leer particiones ext2 y ext3 y cargar su
Finalmente comandos útiles para ver archivo de configuración —
procesos, espacio en disco, memoria, /boot/grub/grub.conf — al momento de
rendimiento, etc . arranque.
3.4 Proceso de arranque, inicio y cierre del
sistema
3.4.3 El kernel

3.4.1 Proceso de arranque Las versiones del kernel se numeran con 3


números, de la siguiente forma: XX.YY.ZZ
A continuación obtendrá las etapas básicas
del proceso de arranque para un sistema x86: XX: Indica la serie principal del kernel.
Hasta el momento solo existen la 1 y 2.
a) La BIOS del sistema comprueba y lanza la Este número cambia cuando la manera de
primera etapa del gestor de arranque del MBR funcionamiento del kernel ha sufrido un
del disco duro primario. cambio muy importante.
YY: Indica si la versión es de desarrollo o
b) La primera etapa del gestor de arranque se
de producción. Un número impar, significa
autocarga en memoria y lanza la segunda
etapa del gestor de arranque desde la que es de desarrollo, uno par, que es de
partición /boot/. producción.
ZZ: Indica nuevas revisiones dentro de
una versión, en las que lo único que se ha

Profesor: Ms.C. Daniel Alejandro Yucra Sotomayor (daniel@unjbg.edu.pe) Pag. - 21 -


CURSO TALLER DE GNU/LINUX – NIVEL ADMINISTRADOR
Tema: Fundamentos GNU/Linux

modificado, son fallos de dispositivos sin tener que escribir scripts


programación/bugs. complejos.

Cuando se carga el kernel, éste inicializa y 3.4.5 Apagar el sistema


configura la memoria del ordenador y los
diferentes dispositivos conectados al Para apagar el sistema el usuario root
sistema, incluyendo todos los puede ejecutar el comando /sbin/shutdown
procesadores, subsistemas de con sus respectivas opciones.
entrada/salida y dispositivos de
almacenamiento. $/sbin/shutdown -h now
$/sbin/shutdown -r now
El kernel luego crea un dispositivo root,
monta la partición root como sólo lectura y La opción -h detendrá la máquina, y la
libera cualquier memoria no utilizada. opción -r la reiniciará.

Para configurar el entorno de usuario, el Opcionalmente desde consola puede


kernel inicia el programa /sbin/init, el tambié utilizar:
primer proceso real, este proceso coordina
con el resto de los procesos de arranque y $reboot
configura el ambiente del usuario.
3.5 Vista preliminar del estándar de
2.4.4 Archivos iniciales jerarquía del sistema de archivos
Finalmente, el primer script que se ejecuta a) El directorio /boot/
se encuentra en: /etc/rc.d/rc.sysinit, que El directorio /boot/ contiene archivos
establece la ruta del entorno, activa el estáticos requeridos para arrancar el
swap, verifica los sistemas de archivos y sistema, tales como el kernel de Linux.
se encarga de todo lo que el sistema Estos archivos son esenciales para que el
necesita tener hecho al momento de la sistema arranque correctamente.
inicialización.
b) El directorio /dev/
Posteriormente puede utilizar la siguiente El directorio /dev/ contiene entradas del
instrucción en la consola de Fedora, para sistema de archivos que representan
administrar los servicios: dispositivos del sistema. Estos archivos
son esenciales para el correcto
$/etc/rc.d/init.d/<command> start funcionamiento del sistema.

Si desea colocar o agregar comandos al c) El directorio /etc/


inicializar Fedora linux, puede utilizar este El directorio /etc/ está reservado para los
scripts: archivos de configuración que son locales
a su ordenador. No deben colocarse
/etc/rc.d/rc.local binarios en /etc/. Los binarios que
antiguamente se colocaban en /etc/
Al final de este script usted puede deberían de colocarse en /sbin/ o en /bin/.
programar tareas necesarias como
arrancar servicios especiales o inicializar d) El directorio /lib/
El directorio /lib/ debería contener sólo las
bibliotecas (libraries) necesarias para

Profesor: Ms.C. Daniel Alejandro Yucra Sotomayor (daniel@unjbg.edu.pe) Pag. - 22 -


CURSO TALLER DE GNU/LINUX – NIVEL ADMINISTRADOR
Tema: Fundamentos GNU/Linux

ejecutar los binarios en /bin/ y en /sbin/. incluso incluyendo los procesos que
Estas imágenes de bibliotecas pertenecen a otros usuarios.
compartidas son particularmente
importantes para arrancar el sistema y $ps aux
ejecutar comandos en el sistema de El comando top muestra: la utilización del
archivos raíz. CPU, estadísticas de procesos, utilización
de memoria — top lo monitoriza todo.
e) El directorio /mnt/ Además, a diferencia de free command, el
El directorio /mnt/ está reservado para comportamiento predeterminado de top es
sistemas de archivos montados el de ejecutarse de forma contínua.
temporalmente.
$top
f) El directorio /opt/
El directorio /opt/ proporciona un área para
almacenar habitualmente paquetes de
software de una aplicación estática y
amplia.

g) El directorio /sbin/
El directorio /sbin/ almacena los
ejecutables usados por el usuario root. Los
ejecutables en /sbin/ sólo se usan para
arrancar y hacer operaciones de
recuperación del sistema

h) El directorio /usr/
El directorio /usr/ es para archivos que Figura 3.1
puedan ser compartidos a través de
muchas máquinas. El directorio /usr 3.6.2 La aplicación Monitor del Sistema
habitualmente tiene su propia partición y GNOME — Un top gráfico
se monta en sólo lectura
Si se siente más a gusto con las interfaces
i) El directorio /var/ gráficas de usuarios, la aplicación Monitor
Generalmente todos los archivos de datos, del Sistema GNOME puede ser más de su
directorios spool, datos de administración, agrado. De la misma forma que top, el
de registro y archivos temporales se Monitor del Sistema GNOME muestra
encuentran en este directorio que también información relacionada al estado general
podría considerarlo como una partición del sistema, cuentas de procesos,
más. utilización de memoria y de swap y
estadísticas a nivel de procesos.
3.6 Información del sistema
Sin embargo, el Monitor del Sistema
3.6.1 Identificando Procesos GNOME va un paso más allá incluyendo
también representaciones gráficas del
El comando ps aux muestra una lista de CPU, utilización de memoria y de
los procesos que se encuentran intercambio, junto con un listado tabular de
actualmente ejecutando en el sistema, la utilización del espacio en disco.

Profesor: Ms.C. Daniel Alejandro Yucra Sotomayor (daniel@unjbg.edu.pe) Pag. - 23 -


CURSO TALLER DE GNU/LINUX – NIVEL ADMINISTRADOR
Tema: Fundamentos GNU/Linux

b — El número de procesos en un estado


dormido contínuo

Los campos relacionados a la memoria


son:
swpd — La cantidad de memoria utilizada
free — La cantidad de memoria libre
buff — La cantidad de memoria utilizada
por las memorias intermedias
cache — La cantidad de memoria utilizada
como caché de páginas

Figura 3.2
Los campos relacionados a swap son:
si — La cantidad de memoria
3.6.3 Memoria intercambiada desde el disco
so — La cantidad de memoria
El comando free muestra la utilización de intercambiada hacia el disco
la memoria del sistema
Los campos relacionados con E/S son:
bi — Los bloques enviados a un
$free -m
dispositivo de bloques
bo — Los bloques recibidos desde un
o utilice este comando dispositivo de bloques
$watch free Los campos relacionados al sistema son:
in — El número de interrupciones por
3.6.4 Rendimiento del Sistema segundo
cs — El número de cambios de contexto
Para una comprensión más concisa del por segundo
rendimiento del sistema, intente con
vmstat. Con vmstat, es posible obtener Los campos relacionados al CPU son:
una vista general de los procesos, us — El porcentaje de tiempo que el CPU
memoria, swap, E/S, sistema y actividad ejecutó código de nivel del usuario
de CPU en una línea de números: sy — El porcentaje de tiempo que el CPU
ejecutó código de nivel del sistema
$vmstat id — El porcentaje de tiempo que el CPU
estaba desocupado
La primera línea divide los campos en seis wa — Esperas de E/S
categorías, incluyendo procesos, memoria,
swap, E/S, sistema y estadísticas 3.6.5 Información del Disco
relacionadas al CPU. La segunda línea
identifica aún más los contenidos de cada El comando df le informa sobre el espacio
campo, haciendo más fácil escanear datos que ocupan las particiones. Si teclee el
para ver estadísticas específicas. comando df –h en el interprete de
comando, mostrara información “leible”
Los campos relacionados a procesos son: (human-readble format)
r — El número de procesos ejecutables
esperando para acceder al CPU $df -h

Profesor: Ms.C. Daniel Alejandro Yucra Sotomayor (daniel@unjbg.edu.pe) Pag. - 24 -


CURSO TALLER DE GNU/LINUX – NIVEL ADMINISTRADOR
Tema: Fundamentos GNU/Linux

3.6.6 Montar Particiones NTFS en Ahora veamos con qué tipo de procesador
Fedora Core contamos (los usuarios con multiprocesador
deben reemplazar "kernel" con "kernel-smp"):
Aunque visualizar un sistema de archivos
FAT32 es más sencillo, visualizar las rpm -q --queryformat "%{ARCH}n" kernel
particiones 2000, XP ó Server 2003
(sistema NTFS) tiene un procedimientos Lo que probablemente nos diga que contamos
con un "i686" (si es que tenemos un equipo
que se detalla a continuación:
reciente con procesador Pentium). Otras
opciones son "athlon", "i586" ó "i386".
¿Qué versión de Fedora Core / tenemos?
Ahora, descargamos los RPM necesarios de
Lo primero que debemos conocer es la versión éste enlace (http://www.linux-
de la distribución y el kernel, para lo cual ntfs.org/content/view/128/64/), según nuestra
tecleamos el siguiente comando en la terminal: versión de distribución, kernel y procesador
que tengamos en nuestro equipo (vienen casi
$cat /etc/redhat-release todas las combinaciones), y procedemos a
instalar.
Con esto, debemos de ver sólo una de las
siguientes líneas; la que corresponda a la Instalación
versión que utilizamos:
Fedora Core release 4 (Stentz) Debemos contar con privilegios de root para
Fedora Core release 3 (Heidelberg) ejecutar estos comandos. Supongamos que
Fedora Core release 2 (Tettnang) descargamos el rpm kernel-module-ntfs-
Fedora Core release 1 (Yarrow) 2.6.9-1.667-2.1.20-0.rr.3.3.i686
Red Hat Linux release 9 (Shrike)
Red Hat Linux release 8.0 (Psyche) Entonces lo instalamos:
$rpm -Uhv kernel-ntfs-2.6.9-1.667-2.120-0.rr.3.3.i686.rpm
Ahora, verificamos la versión del kernel:
Si éste fue el rpm correcto, entonces no
$uname -r debemos de tener ningún error.
Ahora cargamos el módulo en el kernel.
Con lo cual veremos también sólo una de
estas líneas, que nos dice la versión de kernel $/sbin/modprobe ntfs
con la que contamos:
Con lo cual, tampoco nos debe mostrar ningún
2.6.12.-1.1447 mensaje de error. Después verificamos la
2.6.9-1.667 versión del controlador:
2.6.5-1.358
2.4.18-3 dmesg | grep NTFS

Puede que la versión contenga alguno de NTFS driver v2.2.50 [Flags: R/O MODULE]
estos sufijos:
Con esto, podemos comprobar que el kernel
smp realmente comprenda el NTFS (el desplegado
bigmem puede variar, por lo que sólo checamos que
BOOT diga la palabra ntfs):

Si nuestra versión termina con "smp", $cat /proc/filesystems


entonces contamos con un equipo con
multiprocesador.

Profesor: Ms.C. Daniel Alejandro Yucra Sotomayor (daniel@unjbg.edu.pe) Pag. - 25 -


CURSO TALLER DE GNU/LINUX – NIVEL ADMINISTRADOR
Tema: Fundamentos GNU/Linux

Montar la partición al arrancar el


nodev rootfs sistema
nodev bdev
Para lograr esto, sólo agregaremos una
nodev proc
línea al archivo "/etc/fstab" (tabla de
nodev sockfs sistemas de archivos).
nodev tmpfs La línea que ejecutamos para montar la
nodev shm partición:
nodev pipefs
$mount /dev/hda1 /mnt/windows -t ntfs -
ext3 r -o umask=0222
ext2
nodev ramfs tiene como equivalente en el archivo
nodev devpts
/etc/fstab:
ntfs /dev/hda1 /mnt/windows ntfs ro, umask=0222 0 0

Montar la partición que es la línea que debemos de agregarle


Ahora verificamos las particiones: al archivo fstab.

$/sbin/fdisk –l
3.6.7 Sistema de ficheros
Disk /dev/hda: 64 heads, 63 sectors, 4465 cylinders
Units = cylinders of 4032 * 512 bytes El comando df le informa sobre el espacio
Device Boot Start End Blocks Id System
/dev/hda1 1 2125 4283968+ 07 NTFS/HPFS que ocupa en disco duro las particiones
/dev/hda2 2126 19851 35735616 0f Win95 Ext'd del sistema. La instrucción df –h se utiliza
(LBA)
/dev/hda5 * 2126 4209 4201312+ 83 Linux para especificar un formato “leible” (human
/dev/hda6 4210 4465 516064+ 82 Linux swap readable format).
creamos un directorio como punto de
partición: $df –h

$mkdir /mnt/windows
3.6.8 Resumen de comandos útiles que
Le decimos al kernel para que muente la muestran Información del sistema
partición en ese directorio:
$hostname: Devuelve el nombre de la
$mount /dev/hda1 /mnt/windows -t máquina.
ntfs -r -o umask=0222
$uptime: Devuelve la cantidad de tiempo
Y si todo salió bien, podemos acceder a la trascurrido desde la ultima vez que se
partición de Windows desde nuestro arranco el sistema, la cantidad de usuarios
Fedora Core ó Red Hat. trabajando en el sistema y el load average
(carga del sistema).
$ls -l /mnt/windows
$uname -a: Información sobre el sistema
operativo de la maquina.

Profesor: Ms.C. Daniel Alejandro Yucra Sotomayor (daniel@unjbg.edu.pe) Pag. - 26 -


CURSO TALLER DE GNU/LINUX – NIVEL ADMINISTRADOR
Tema: Fundamentos GNU/Linux

$dmesg | more: Imprime el "ring buffer" del $last: Información sobre los últimos
kernel. usuarios que han usado el sistema.

$free -tm: Información sobre la cantidad de $set | more: Información sobre el entorno
memoria disponible y usada. de usuario actual.

$df -h: Información sobre todo los $ping maquina: Para comprobar si
dispositivos montados en la máquina. tenemos contacto con la máquina maquina
(maquina: nombre o IP)
$du -bh / | more: Información sobre el
espacio ocupado por cada subdirectorio, $/sbin/route: Tabla de enrutamiento de
comenzando en el directorio raiz /. nuestro sistema.

$ps: Información sobre los procesos del $/sbin/ifconfig: Información sobre los
actual usuario, que se estan ejecutando. distintos dispositivos de red
ps axu: Información sobre todos los
procesos que se estan ejecutando en la $netstat: Información valiosa sobre la
máquina. conexión de red (Este comando tiene
muchas posibilidades, ejecutar man
$top: Información sobre el uso de cpu y netstat
memoria de los procesos del sistema.

$cat /proc/cpuinfo: Información sobre el Notas finales:


microprocesador. Eso es todo por esta sesión, si tiene dudas
o sugerencias a la guía por favor:
$cat /proc/interrupts: Información sobre las E-mail: daniel@somoslibres.org
interrupciones en uso. Prof. Daniel Alejandro Yucra Sotomayor
Profesor del Curso
$cat /proc/dma: Información sobre dma en
uso. Grupo de Usuarios de Software Libre
Perú
$cat /proc/filesystems: Información sobre www.somoslibres.org
los sistemas de archivos que se pueden www.softwarelibre.org.pe
utilizar (compilados en el kernel).
Proyecto TumiX
$/sbin/lsmod: Información sobre los http://tumix.softwarelibre.org.pe
modulos en uso. E-mail: info@somoslibres.org

$finger usuario: Información sobre el


usuario usuario.

$who: Información sobre los usuarios


usando el sistema.

$id usuario: Información sobre UID, GID y


GROUPS del usuario usuario

Profesor: Ms.C. Daniel Alejandro Yucra Sotomayor (daniel@unjbg.edu.pe) Pag. - 27 -