Curso de Administración GNU/Linux Nivel I · 2012. 5. 23. · Al momento de verificar si un...

16
 Nivel I Curso de Administración GNU/Linux Facultad de Ciencia y Tecnología – Oro Verde - 2009 Facultad de Ciencia y Tecnología – Oro Verde - 2009

Transcript of Curso de Administración GNU/Linux Nivel I · 2012. 5. 23. · Al momento de verificar si un...

Page 1: Curso de Administración GNU/Linux Nivel I · 2012. 5. 23. · Al momento de verificar si un dispositivo es booteable, se checkean los primeros 512 bytes del mismo, o el primer sector

   

Nivel I

Curso de AdministraciónGNU/Linux

Facultad de Ciencia y Tecnología – Oro Verde - 2009Facultad de Ciencia y Tecnología – Oro Verde - 2009

Page 2: Curso de Administración GNU/Linux Nivel I · 2012. 5. 23. · Al momento de verificar si un dispositivo es booteable, se checkean los primeros 512 bytes del mismo, o el primer sector

   

 

    1

Nivel I

Curso de AdministraciónGNU/Linux

Facultad de Ciencia y Tecnología – Oro Verde - 2009Facultad de Ciencia y Tecnología – Oro Verde - 2009

El Curso de Administración de GNU/Linux en su nivel I pretende formar profesionales en el ámbito del Software Libre.

Page 3: Curso de Administración GNU/Linux Nivel I · 2012. 5. 23. · Al momento de verificar si un dispositivo es booteable, se checkean los primeros 512 bytes del mismo, o el primer sector

   

 

    2

Arranque de la Computadora

Inicio de GNU/Linux

Niveles de Ejecución

Capítulo 2: Inicio del SistemaCapítulo 2: Inicio del Sistema

En esta clase veremos como arranca mucho equipo desde el encendido hasta llegar a dar con nuestro interprete de comandos. En la primer parte de la clase revisaremos el arranque desde el encendido hasta que termina su tarea el BIOS (Basic Input/Output System). En la segunda parte de la clase explicaremos el arranque de GNU/Linux hasta que aparezca el prompt del interprete de comandos, que para nuestro caso particular es Bash.Terminando con la clase veremos los distintos niveles de ejecución que posee un GNU/Linux pero particularmente veremos los niveles de Debian.

Page 4: Curso de Administración GNU/Linux Nivel I · 2012. 5. 23. · Al momento de verificar si un dispositivo es booteable, se checkean los primeros 512 bytes del mismo, o el primer sector

   

 

    3

El inicio se divide en varias etapas:

1. Encendido del Equipo

2. Lectura del contenido de la memoria ROM

3. Testeo de dispositivos del sistema (POST)

4. Se muestra una pantalla de estado

5. Testeo de la memoria y de los recursos faltantes de la computadora

6. Búsqueda del primer dispositivo para cargar un Sistema Operativo

Clase 1: Arranque de la ComputadoraClase 1: Arranque de la Computadora

Cuando encendemos nuestra computadora se realizan diversas tareas antes de pasar al control al sistema operativo para que este comience a ejecutarse.Luego del encendido de la PC se lee el contenido de la memoria ROM (Memoria de sólo lectura) y se ejecuta un programa denominado POST (Power On Self Test – Autotesteo de Arranque). Este programa se encarga de realizar testeos en los distintos periféricos, y checkear una área de la memoria.Si en algún momento de estos test ocurre  un error, la BIOS emite una serie beeps con los cuales se informa el tipo de error que se ha producido (normalmente podemos encontrar información sobre esto en el manual de la placa madre de nuestra computadora).Luego de esto, la BIOS toma control del video de nuestro equipo, se muestra una pantalla de información y se procede a examinar el área restante de la memoria y a testear los dispositivos faltantes.Una vez hecho esto se procede a buscar un sistema operativo para poder iniciar, para hacer ésto todas las BIOS cuentan con una tabla de dispositivos u orden de booteo, en la cual podemos especificar el orden en que queremos que se comience a buscar una unidad para cargar un sistema operativo. En caso de no encontrarse ninguna simplemente la BIOS nos pide que insertemos un disquete o disco de arranque y detiene su ejecución en ese punto.

Page 5: Curso de Administración GNU/Linux Nivel I · 2012. 5. 23. · Al momento de verificar si un dispositivo es booteable, se checkean los primeros 512 bytes del mismo, o el primer sector

   

 

    4

Antes de cargar un Sistema Operativo:

Se busca un medio para iniciar el mismo (cdrom, disquete, usb, red)

Se  leen  los  primeros  512  bytes  de  ese  dispositivo  (Sector  0)  para  buscar  un programa cargador del Sistema Operativo (MBR – Master Boot Record)

Se selecciona un SO y se procede a la carga del mismo

Clase 1: Pasos del Proceso de ArranqueClase 1: Pasos del Proceso de Arranque

Al momento de verificar si un dispositivo es booteable, se checkean los primeros 512 bytes del mismo, o el primer sector de ese dispositivo (sector 0), con el objetivo de encontrar un programa ubicado en él, este lugar se denomina MBRMBR (Master Boot Record – Registro Maestro de Arranque). Este programa se encarga de presentarnos una lista de los distintos sistemas operativos instalados y nos permite ejecutar alguno de ellos (en caso de que tengamos más de uno instalado).Con respecto al programa instalado en el MBR, en  GNU/Linux al momento existen dos de ellos mayormente usados: LILO y GNU/GRUB:

LILO (Linux Loader):LILO (Linux Loader): Es el cargador de arranque por defecto en varias distribuciones, soporta varios sistemas operativos y se instala íntegramente en el sector 0 de un dispositivo, como desventaja podemos nombrar que cada vez que necesitamos editar o modificar su configuración, debemos sobreescribir el registro maestro de arranque.

GNU/GRUB (GRand Unified Boot Loader):GNU/GRUB (GRand Unified Boot Loader): Este es un cargador de arranque nuevo, que cumple y cumplimenta a Lilo y agrega nuevas funcionalidades, nos permite editar su configuración “en caliente” (es decir cuando el programa está corriendo) y si realizamos un cambio en su configuración no debemos sobreescribir el MBR, ya que en ese lugar no se escribe el programa entero, sino que se utiliza un archivo de configuración ubicado en /boot.

Detallaremos estos conceptos más adelante en el curso.

Page 6: Curso de Administración GNU/Linux Nivel I · 2012. 5. 23. · Al momento de verificar si un dispositivo es booteable, se checkean los primeros 512 bytes del mismo, o el primer sector

   

 

    5

Ahora es el turno del Sistema Operativo:

El núcleo se descomprime y se carga en memoria para ser ejecutado

Se inicializan diversos dispositivos de hardware.

Se monta la partición raíz (/)

Se ejecuta el proceso /sbin/init

Clase 1: Inicio de GNU/LinuxClase 1: Inicio de GNU/Linux

El inicio de GNU/Linux es similar al de cualquier Unix, el núcleo debe ser cargado en memoria para poder ser ejecutado. Para hacer ésto primero debe ser descomprimido.Una vez que el núcleo se descomprime y se carga en memoria, comienza a inicializar los dispositivos de hardware;  luego procede a montar  la partición  raíz o  root  (“/”) y ejecuta el proceso  /sbin/init, el cual se encarga de realizar el resto del trabajo.El demonio  initinit  es el primero en ejecutarse y es el “padre” de todos  los demás procesos (veremos esto con más detalle luego), sus principales funciones son las de ejecutar diversos scripts de inicio que son los encargados de configurar dispositivos del sistema (configuración de red, montado de los demás sistemas de archivos, ejecutar tareas de mantenimiento en el sistema, entre otros) y la de poner en funcionamiento los  distintos  servicios  que  tenemos  instalados  en  nuestro  sistema  (servidor  web,  bases  de  datos,  ftp, impresión, entre otros), seguidamente veremos como realiza esta tarea. 

Page 7: Curso de Administración GNU/Linux Nivel I · 2012. 5. 23. · Al momento de verificar si un dispositivo es booteable, se checkean los primeros 512 bytes del mismo, o el primer sector

   

 

    6

Niveles de Ejecución o RunLevelsRunLevels:

Son modos de ejecución de los sistemas operativos basados en Unix.

Determinan formas en las que podemos iniciar nuestro sistema operativo y        los servicios que podemos arrancar en cada uno de ellos.

En la actualidad existen 9 de ellos, pero normalmente se utilizan son 6:

0:  Apagado del equipo.

1:  Inicio en modo mono­usuario.

2­5: Inicio en modo multi­usuario y personalizables.

6: Reinicio del equipo.

El demonio initinit es el encargado de llevar a cabo esta tarea.

Clase 1: Niveles de EjecuciónClase 1: Niveles de Ejecución

Los niveles de ejecución (RunLevels) son un estado o modo, en el que entra el sistema en el proceso de arranque y que define los servicios que serán iniciados por la máquina. En la actualidad, existen seis niveles de ejecución:

●Nivel de ejecución 0: Apagado.●Nivel de ejecución 1: Monousuario (sólo usuario root; no es necesaria la contraseña). Se suele usar para analizar y reparar problemas.●Nivel de ejecución 2: Multiusuario sin soporte de red.●Nivel de ejecución 3: Multiusuario con soporte de red.●Nivel de ejecución 4: Como el runlevel 3, pero no se suele usar●Nivel de ejecución 5: Multiusuario en modo gráfico (X Windows).●Nivel de ejecución 6: Reinicio.

Cada uno de los niveles de ejecución están definidos en subdirectorios bajo /etc/rcX (donde X es el número de runlevel).  En estos subdirectorios encontraremos enlaces a los scripts que nos permitirán ejecutar los servicios en los niveles de ejecución respectivos.Todos los scripts de arranque se encuentran en el directorio /etc/init.d/, cualquiera de los niveles de ejecución pueden utilizar estos scripts por medio de un enlace como se explico en el párrafo anterior.Los scripts cuyos nombres comienzan con K se ejecutan con el argumento stop. Los scripts que comienzan con S se ejecutan con el argumento start. Los scripts se ejecutan de acuerdo al orden alfabético de sus nombres; de esta manera los scripts "stop" se ejecutan antes que los scripts "start" y los dos dígitos a continuación de K o S determinan el orden en que se ejecutan los scripts.Cada script también acepta como argumento "restart" y "force­reload"; estos métodos se pueden utilizar para reiniciar los servicios una vez que haya sido arrancado el sistema o forzarlos para que vuelvan a cargar sus archivos de configuración.

Page 8: Curso de Administración GNU/Linux Nivel I · 2012. 5. 23. · Al momento de verificar si un dispositivo es booteable, se checkean los primeros 512 bytes del mismo, o el primer sector

   

 

    7

Niveles de Ejecución o RunLevelsRunLevels:

Cada uno de ellos contiene un directorio ubicado en /etc.

En cada uno de estos directorios encontramos los scripts de inicio de los distintos servicios

Clase 1: Niveles de EjecuciónClase 1: Niveles de Ejecución

El archivo de configuración de init (que es el /etc/inittab) indica que el primer script que se debe ejecutar es el /etc/init.d/rcS.El archivo /etc/init.d/rcS del paquete sysv­rc ejecuta todos los scripts situados en /etc/rcS.d/ para realizar inicializaciones tales como la comprobación y montaje de los sistemas de archivos, la carga de módulos, la inicialización de los servicios de red, la configuración del reloj, etc. Luego, y por compatibilidad, también ejecuta todos los archivos (excepto aquellos con un `.' en su nombre) situados en /etc/rc.boot/. Este último directorio está reservado para el administrador del sistema y su utilización ha caído en desuso.El script rc.local es un archivo que se ejecuta al finalizar la cargar de GNU/Linux y en donde podremos agregar comandos o llamadas a otros scripts; este archivo funciona de forma similar al autoexec.bat de los MS­DOS.

Page 9: Curso de Administración GNU/Linux Nivel I · 2012. 5. 23. · Al momento de verificar si un dispositivo es booteable, se checkean los primeros 512 bytes del mismo, o el primer sector

   

 

    8

Niveles de Ejecución o RunLevelsRunLevels:

Cada nivel de ejecución contiene scripts que usan para inciar, detener y reiniciar los distintos demonios del sistema.

¿Qué es un scriptscript?

Un script es un guión o conjunto de instrucciones. Permiten la automatización de tareas creando pequeñas utilidades.

¿Qué es un demoniodemonio?

Un demonio, daemon o dæmon (de sus siglas en inglés Disk And Execution Monitor), es un tipo especial de proceso informático que se ejecuta en segundo plano en vez de ser controlado directamente por el usuario (es un proceso no interactivo).

Clase 1: Niveles de EjecuciónClase 1: Niveles de Ejecución

El término runlevel o nivel de ejecución se refiere al modo de operación en los sistemas operativos que implementan el estilo de sistema de arranque de iniciación tipo UNIX System V.En términos prácticos, cuando el computador entra al runlevel 0, está apagado, y cuando entra al runlevel 6, se reinicia. Los runlevels intermedios (1 a 5) difieren en relación a qué unidades de disco se montan, y qué servicios de red son iniciados. Los niveles más bajos se utilizan para el mantenimiento o la recuperación de emergencia, ya que por lo general no ofrecen ningún servicio de red. Los detalles particulares de configuración del runlevel varía bastante entre sistemas operativos, y ligeramente entre los administradores de sistema.El sistema de runlevel reemplazó al script tradicional /etc/rc en UNIX, versión 7.un script es un guión o conjunto de instrucciones. Permiten la automatización de tareas creando pequeñas utilidades. Es muy utilizado para la administración de sistemas UNIX. Son ejecutados por un intérprete de línea de órdenes y usualmente son archivos de texto. También Script Puede considerarse una alteración o acción a una determinada plataforma, Muy parecido a los trucos que se usan para alterar juegos y conseguir cosas extras...Un demonio, daemon o dæmon (de sus siglas en inglés Disk And Execution Monitor), es un tipo especial de proceso informático que se ejecuta en segundo plano en vez de ser controlado directamente por el usuario (es un proceso no interactivo). Este tipo de programas se ejecutan de forma continua (infinita), vale decir, que aunque se intente cerrar o matar el proceso, este continuará en ejecución o se reiniciará automáticamente. Todo esto sin intervención de terceros y sin dependencia de consola alguna.El origen de la palabra daemon (demonio), se encuentra en la antigua Grecia, y la figura del daimon, un espíritu interior, equivalente a un "ángel protector" que guiaba y protegía a los hombres.Los programas demonios reciben este nombre en los sistemas UNIX. En otros sistemas existen procesos similares como los TSRs de MS­DOS o los servicios de Windows.Los demonios suelen tener las siguientes características:    * No disponen de una interfaz directa con el usuario, ya sea gráfica o textual.    * No hacen uso de la entradas y salidas estándar para comunicar errores o registrar su funcionamiento, sino que usan archivos del sistema en zonas especiales (/var/log/ en los UNIX más modernos) o utilizan otros demonios especializados en dicho registro como el syslogd.

Page 10: Curso de Administración GNU/Linux Nivel I · 2012. 5. 23. · Al momento de verificar si un dispositivo es booteable, se checkean los primeros 512 bytes del mismo, o el primer sector

   

 

    9

Clase 1: Niveles de EjecuciónClase 1: Niveles de Ejecución

/etc/rcX.d

Enlaces de tipo S:

Enlaces de tipo K:

/etc/init.d

ssh

mysql

gdm

S19mysql

S30gdm

S99rc.local

S16ssh

K42ssh

K21mysql

K01gdm

(inician un servicio)

(detienen un servicio)

Cada nivel de ejecución tiene su correspondiente directorio en /etc/rcX.d (donde X representa el número de nivel de ejecución). Dentro de ese directorio se encuentran archivos que indican las acciones que se van a ejecutar cuando se entre en ese nivel de ejecución en particular.

Dentro de cada directorio encontraremos en realidad enlaces simbólicos, que apuntan a scripts ejecutables ubicados dentro del directorio /etc/init.d. Estos enlaces se dividen en 2 tipos, enlaces de tipo S y de tipo K. 

Los primeros inician un servicio (S = start) mientras que los segundos se encargan de detenerlo (K = kill). Además de ésto, vemos que los enlaces se encuentran numerados y ésto se da porque utilizan esa numeración para ejecutarse en un orden determinado.

Además de eso vemos que existen 2 enlaces que apuntan al mismo script, uno del tipo S y otro del tipo K, ésto se da porque los scripts van a iniciar o detener un servicio en base a como sean llamados, veremos ésto en niveles posteriores del curso.

Page 11: Curso de Administración GNU/Linux Nivel I · 2012. 5. 23. · Al momento de verificar si un dispositivo es booteable, se checkean los primeros 512 bytes del mismo, o el primer sector

   

 

    10

Clase 1: Niveles de EjecuciónClase 1: Niveles de Ejecución

El comando init nos permite pasar a un nivel de ejecución determinado

trinity:~# init 0

trinity:~# init 2

trinity:~# init 6

trinity:~# init 1

trinity:~# poweroff

trinity:~# reboot

Apaga el equipo

Inicio en modo single

Inicio por defecto

Reinicia el equipo

=

=

A la hora de cambiar a un nivel de ejecución determinado, podemos utilizar el comando init, seguido del número del nivel de ejecución al cual queremos cambiar. Esto quiere decir que si hacemos un init 0 por ejemplo, pasaremos al nivel 0 el cual apaga el equipo. Para ésta tarea igualmente tenemos el comando poweroff que realiza la misma tarea.

Si queremos pasar a modo single user, podemos utilizar init 1 para cambiar a éste modo, de esa forma se deshabilitarán los servicios de red y nos quedaremos con una terminal en modo texto para realizar las tareas convenientes para el mantenimiento y/o la corrección de errores o anomalías en nuestro sistema.

Además podemos cambiar a estado 6, el cual es en el encargado de reiniciar el equipo ejecutando de forma análoga init 6, para ésto además contamos con un comando reboot que realiza la misma tarea.

Page 12: Curso de Administración GNU/Linux Nivel I · 2012. 5. 23. · Al momento de verificar si un dispositivo es booteable, se checkean los primeros 512 bytes del mismo, o el primer sector

   

 

    11

Archivo de configuración del proceso /sbin/init /sbin/init

/etc/inittab/etc/inittab es el encargado de manejar su configuración

Este archivo básicamente:

● Define cual es el nivel de ejecución por defecto (rc2rc2 en Debian GNU/Linux)  ● Indica que script se ejecutará siempre en cualquier nivel de ejecución (rcSrcS)

● Indica en que lugar se van a encontrar los scripts para cada nivel de ejecución ● Establece la configuración de terminales virtuales (como ya vimos)

● Permite configurar puertos series para discado y logueo por modems.

Clase 1: Niveles de EjecuciónClase 1: Niveles de Ejecución

inittab es un archivo de configuración ubicado en /etc/inittab y contiene información e información de configuración sobre el nivel de ejecución predeterminado y una lista de todos los niveles de ejecución (se incluye una ubicación de otro script para ser ejecutado cada vez que se ingresa a un nivel de ejecución ).Contiene además información considerando que comando/s se tiene/n que ejecutar en el arranque inmediato, y si tienen que regenerarse (esto es usual para algunos programas al estilo getty que permiten que alguien inicie una sesión).Una entrada del fichero inittab tiene el siguiente formato:    id:niveles_ejecución:acción:procesoLas líneas que comienzan con `#' se ignoran.id: es una secuencia única de 1 a 4 caracteres que identifican una entrada de inittab (para las versiones de sysvinit compiladas con bibliotecas < 5.2.18 o bibliotecas a.out el límite es de 2 caracteres).niveles_ejecución: es la lista de niveles de ejecución para lo cuales se llevarán a cabo las acciones especificadas.acción: describe qué acción se debería llevar a cabo. proceso: especifica el proceso a ejecutar. Si el campo proceso comienza con un carácter `+', init no registrará utmp y wtmp para ese proceso. Esto es necesario para gettys que insisten en hacer sus propias labores de utmp/wtmp. Esto es también un fallo histórico. El campo niveles_ejecución tiene que contener múltiples caracteres para diferente niveles de ejecución. Por ejemplo, 123 especifica que el proceso se debería iniciar en los niveles de ejecución 1, 2 y 3. Las entrada de niveles de ejecución bajo demanda pueden contener una A, B, o C. Las entradas de campos de nivel_ejecución de sysinit, boot y bootwait se ignoran.Cuando se cambia un nivel de ejecución, cualesquiera procesos en ejecución que no estén especificados en el nuevo nivel de ejecución se matan, primero con SIGTERM y después con SIGKILL.Algunas acciones válidas para el campo acción son:respawn: El proceso se reiniciará cuando termine (v.g. getty). wait: El proceso se iniciará una vez cuando se entre en el nivel de ejecución específico e init esperará a su terminación.once: El proceso se ejecutará una vez cuando se entre en el nivel de ejecución especificado. boot: El proceso se ejecutará durante el arranque del sistema. El campo The niveles_ejecución se ignora. 

Page 13: Curso de Administración GNU/Linux Nivel I · 2012. 5. 23. · Al momento de verificar si un dispositivo es booteable, se checkean los primeros 512 bytes del mismo, o el primer sector

   

 

    12

Clase 1: Niveles de EjecuciónClase 1: Niveles de Ejecución

/etc/inittab

id:2:initdefault:.....................l0:0:wait:/etc/init.d/rc 0l1:1:wait:/etc/init.d/rc 1l2:2:wait:/etc/init.d/rc 2l3:3:wait:/etc/init.d/rc 3l4:4:wait:/etc/init.d/rc 4l5:5:wait:/etc/init.d/rc 5l6:6:wait:/etc/init.d/rc 6.....................ca:12345:ctrlaltdel:/sbin/shutdown ­t1 ­a ­r now

Clase 1: Niveles de EjecuciónClase 1: Niveles de EjecuciónClase 1: Niveles de EjecuciónClase 1: Niveles de Ejecución

Runlevel por defecto

Archivos de los Niveles de Ejecución

Acción a realizar

Vemos un ejemplo del archivo inittab en donde se especifica el nivel de ejecución 2 por defecto, además se establece en que directorio se van a encontrar los archivos correspondientes para cada nivel de ejecución y finalmente vemos que se define que acción se va a realizar cuando se presionan las teclas CRTL + ALT + SUPR, las cuales en este caso y por analogía con otros sistemas operativos, reinician el equipo.

Este archivo además define otras cosas, como la cantidad de terminales virtuales que tenemos en nuestro equipo y nos brinda la posiblidad de configurar lineas seriales para conectarnos por modem.

Page 14: Curso de Administración GNU/Linux Nivel I · 2012. 5. 23. · Al momento de verificar si un dispositivo es booteable, se checkean los primeros 512 bytes del mismo, o el primer sector

   

 

    13

Finalmente en todo sistema GNU/Linux se ejecutan 2 procesos más:

gettygetty: abre un puerto tty (o terminal virtual), en el cual se puede ejecutar un proceso. En la mayoría se las terminales se ejecuta el proceso login.

loginlogin: ofrece un prompt para que el usuario se loguee al sistema y abre una shell para que el mismo interactúe.

Init

Getty

Login

Shell

Clase 1: Niveles de EjecuciónClase 1: Niveles de Ejecución

El término getty es probablemente una abreviatura de “get tty” (conseguir tty). Un programa getty abre un dispositivo serie, lo configura apropiadamente, configura opcionalmente un módem, y espera a que se realice una conexión. Una conexión activa en un dispositivo serie se indica normalmente mediante la patilla Data Carrier Detect (DCD) en el dispositivo serie que ha sido activado. Cuando se produce esta detección, el programa getty llama a un programa que muestra el punto indicativo login:, y es el que maneja realmente el ingreso al sistema. Cada uno de los terminales virtuales (por ejemplo, /dev/tty1) en GNU/Linux tiene un getty ejecutándose para él.El inicio de sesiones desde terminales (a través de líneas serie) y la consola (cuando no se está ejecutando X­Windows) es suministrado por el programa getty. init inicia una instancia independiente de getty por cada terminal en el que está permitido iniciar sesiones. Getty lee el nombre de usuario y ejecuta el programa login, el cual se encarga de leer la password. Si el nombre de usuario y la password son correctas, login ejecuta el intérprete de comandos. Al finalizar el intérprete de comandos (en el caso en que, por ejemplo, el usuario finaliza su sesión; o cuando login finaliza debido a que no concuerdan el nombre de usuario y la password), init se entera de este suceso e inicia una nueva instancia de getty. El núcleo no tiene noción sobre los inicios de sesiones, esto es gestionado totalmente por los programas del sistema.

Page 15: Curso de Administración GNU/Linux Nivel I · 2012. 5. 23. · Al momento de verificar si un dispositivo es booteable, se checkean los primeros 512 bytes del mismo, o el primer sector

   

 

    14

Podemos resumir lo visto de la siguiente manera:

1) Se enciende la Computadora.2) Se ejecuta el POST.3) Se busca un dispositivo de booteo.4) Se lee el primer sector del disco en memoria (los primeros 512 bytes ­ MBR).5) Se selecciona un Sistema Operativo y se procede a la carga del mismo.

En el caso de GNU/Linux

1) Se descomprime el núcleo y se carga en memoria.2) Se inicializan los dispositivos de hardware3) Se monta el sistema de archivos raíz (“/”)4) Se ejecuta el demonio /sbin/init como proceso padre de todos los demás5) Este se encarga de realizar configuraciones e iniciar  servicios6) Se inicia el proceso getty7) Se ejecuta el proceso login

Clase 1: Niveles de EjecuciónClase 1: Niveles de Ejecución

Reseña del arranque de un sistema Linux: 1. Power­on: El BIOS, un programa incorporado en el hardware de la computadora, es lo primero que se inicia cuando se enciende la computadora.Comprueba el tamaño de la memoria, ofrece cambiar su configuración, y entonces... intenta arrancar, o "butear" un sistema operativo. La mayoría de las computadoras buscan en una serie de dispositivos en una secuencia preestablecida, y ajustable por el usuario, y selecciona el primer dispositivo que se puede usar. 2. El registro principal de arranque (MBR): Lo que está haciendo realmente el BIOS es buscar un "registro de arranque principal", que es un registro especial de 512 bytes que contiene un programa muy pequeño. Este programa ubica e inicia el "cargador de arranque (boot loader)", el cual será responsable para cargar y arrancar algún sistema operativo. 3. El cargador de arranque: Hay dos cargadores de arranque disponible en Linux... LILO y GRUB. 4. El núcleo Linux se carga, y arranca: El cargador de arranque levanta una versión comprimida del núcleo Linux, la cual rápidamente descomprime e instala a sí misma en la parte superior de la memoria del sistema, donde permanecerá. 5. El INITRD. El problema que enfrentan quienes hacen distribuciones de Linux es que es imposible predecir exactamente qué dispositivos puede o no puede tener una computadora, y que soporte es necesario dentro del kernel para hacer que esos dispositivos arranquen. Los INITRDs proporcionan una solución: un pequeño grupo de programas que se ejecutarán cuando el kernel está "desnudo" en el arranque, con la oportunidad de hacer cosas tales como examinar el hardware del sistema y decidir exactamente que soporte del kernel se necesita. 6. Se inicia el programa init: Cuando el kernel está completamente inicializado, comienza y ejecuta solamente un programa: init. Este es el proceso nº 1, el único proceso que nunca morirá; que no se permite que muera. Este proceso hará alusión a /etc/inittab para decirle que hacer, y lo que hace inicialmente es ejecutar una serie de otros programas. 7. Los initscripts se ejecutan, de acuerdo al nivel de ejecución elegido: Si se examina /etc/inittab, se verá que consiste en su mayoría de especificaciones para ejecutar ciertos programas, al arranque del sistema, y en niveles de ejecución específicos. Los scripts encontrados en /etc/rc.d o /etc/rc.d/init.d serán ejecutados de acuerdo el nivel de ejecución. 8. Para iniciar sesiones gráficas, el subsistema que se inicia es el display manager. 9. Cuando un usuario se "loguea" en el sistema: lo que realmente pasa es que un proceso de shell de alguna clase se inicia, y todos los programas que ejecutan los usuarios durante sus sesiones son llevados a cabo o por la shell o bien por algún otro programa que los lanzan. Cuando los usuarios se "desloguean" e todas las shell y todos sus descendientes son finalizados. init  se levanta e inicia un nuevo prompt para iniciar una sesión.

Page 16: Curso de Administración GNU/Linux Nivel I · 2012. 5. 23. · Al momento de verificar si un dispositivo es booteable, se checkean los primeros 512 bytes del mismo, o el primer sector

   

 

    15

Información de contacto

Versión 1.0

Clase 1: ¿Dudas? ¿Consultas?Clase 1: ¿Dudas? ¿Consultas?

http://www.gugler.com.ar

[email protected]

[email protected]

[email protected]

[email protected]

Vía Web:

Vía Mail:

http://cursos.gugler.com.ar

No duden en comunicaste con nosotros por cualquier duda, consulta o sugerencia que deseen realizar. A la brevedad estaremos subiendo los contenidos de la próxima clase.

Administración GNU/Linux Nivel ICurrícula 1.0

Copyright® Gugler 2009