Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

101 - 3 Init y Runlevel

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 22

101.3.

Cambiar niveles de ejecución, apagar y reiniciar el


sistema.
Conceptos y áreas de conocimiento:

.Configurar el nivel de ejecución predeterminado.


.Cambiar entre los niveles de ejecución, incluido el modo
monousuario.
.Apagado y reinicio desde la línea de comandos.
.Avisar a los usuarios antes de cambiar los niveles de ejecución u
otro evento importante del sistema.
.Finalizar correctamente los procesos antes de un cambio de nivel
de ejecución.
.Conocimiento de las características básicas
de systemd y upstart
Términos y utilidades

/etc/inittab
init
telinit
shutdown
/etc/init.d
Universos Unix: System V y BSD
/etc/rc.d/ ->scripts de arranque/parada de
servicios.
init lee el archivo /etc/inittab

Podríamos tener un runlevel en el que la máquina


se comportase como servidor web y otro solo para
administración

Upstart es un reemplazo basado en eventos
para el demonio init, el método utilizado por
varios sistemas operativos Unix-like para
realizar tareas durante el arranque del sistema.
Fue programado por Scott James Remnant, un
antiguo trabajador de Canonical Ltd.
Linux posee ocho runlevels:

Estado del sistema


Runlev
el

0 Apaga el sistema. Se detienen todos los procesos y se desmontan todos los


sistemas de archivos y se desactiva la partición swap
1 Modo monousuario. Arranca el sistema sin activar la red ni ejecutar ningún servicio.
Es el modo utilizado para reparar o depurar el sistema.
2 Modo multiusuario. Activa la red y los servicios disponibles. Funciona en la consola
de texto
3 Modo multiusuario. Activa la red e incluye los scripts del directorio /etc/rc3.d.
Funciona en consola de texto.
4 Modo multiusuario. Activa la red e incluye los scripts del directorio /etc/rc4.d.
Funciona en consola de texto.
5 Modo multiusuario. Activa la red y los servicios disponibles e inicia X
Window automáticamente.
6 Reinicia el sistema. Se detienen todos los procesos y se desmontan todos los
sistemas de archivos y se desactiva la partición swap
S Es el runlevel en el que arranca el sistema. Es similar a 1, pero 1 se utiliza para
volver a S cuando nos encontramos en otro runlevel
#grep "^id:" /etc/inittab

/etc/inittab

Cada línea está formada por cuatro campos


separados por ":" :
id:runlevels:accion:proceso


Systemd es un sustituto para el Init de Linux.
Está hecho para proveer un mejor framework
para expresar las dependencias del servicio,
permite hacer más trabajo paralelamente al
inicio del sistema y reducir la sobrecarga del
shell.

El nombre viene del sufijo system daemon
(procesos en segundo plano) con la letra “d”.
Comparado con System V init, que es utilizado por la mayoría de las
distribuciones anteriores, systemd puede tomar ventaja de nuevas técnicas:

Los servicios de activación de sockets y la activación de buses, que
conduce a una mejor paralelización de servicios independientes.

cgroups se utilizan para realizar un seguimiento de los procesos de
servicio, en lugar de PIDs. Esto significa que los demonios no pueden
“escapar” de systemd aunque estén doblemente-bifurcados.

systemd ha sido propuesto por Poettering como dependencia externa para


GNOME 3.2. Esto esencialmente requeriría que todas las distribuciones que
usan GNOME utilicen systemd, o al menos lo incluyan como opción
configurable.
Systemd :) Al tema
Ej:

sudo systemctl isolate multi-user.target

default "runlevel":
sudo systemctl enable multi-user.target
sudo systemctl set-default multi-user.target

isolate NAME
man systemctl
man systemd.special
$ systemctl status bluetooth.service
bluetooth.service - Bluetooth service
Loaded: loaded
(/usr/lib.systemd/system/bluetooth.service; enabled)
Active: active (running) since Thu 2014-09-14
6:40:11 PDT
Main PID: 4964 (bluetoothd)
CGroup: /system.slice/bluetooth.service
|_4964 /usr/bin/bluetoothd -n
# systemctl start [name.service]
# systemctl stop [name.service]
# systemctl restart [name.service]
# systemctl reload [name.service]
$ systemctl status [name.service]
# systemctl is-active [name.service]
$ systemctl list-units --type service --all
Target: group of units
Automount: filesystem auto-mountpoint
Device: kernel device names, which you can see in sysfs and udev
Mount: filesystem mountpoint
Path: file or directory
Scope: external processes not started by systemd
Slice: a management unit of processes
Snapshot: systemd saved state
Socket: IPC (inter-process communication) socket
Swap: swap file
Timer: systemd timer.

# systemctl get-default

# systemctl list-units --type=target

UNIT LOAD ACTIVE SUB DESCRIPTION

basic.target loaded active active Basic System

cryptsetup.target loaded active active Encrypted Volumes

getty.target loaded active active Login Prompts

graphical.target loaded active active Graphical Interface

local-fs-pre.target loaded active active Local File Systems (Pre)

local-fs.target loaded active active Local File Systems

multi-user.target loaded active active Multi-User System

[…]

# systemctl set-default multi-user.target


¿Jugamos?

Adios Entorno Grafico… :)
101.3.4. Los archivos de inicio SysV

Configuración para SysV init están en el directorio /etc/rc.d/: los


scripts rc, rc.local, rc.sysinit y, opcionalmente, los scripts rc.serial
El directorio init.d/contiene los scripts que el comando /sbin/init utiliza
cuando controla servicios.
/etc/rcX.d :
Los que empiezan por S se ejecutarán al entrar en el runlevel (rc les
pasa el parámetro start) y los que empiezan por K se detendrán (rc les
pasa el parámetro stop)
jemplos serían: S10network y K35smb
Aparte de estos dos argumentos: start y stop, suelen aceptar otros
como: reload, restart y status
(Ver apuntes :)
#runlevel
INIT y TELINIT
shutdown

-f arranque rápido, en el siguiente arranque no comprobará los


filesystems.
-h después de parar todos los servicios la máquina se apagará.
-H lo detiene (finaliza pero no apaga).
-k en realidad no se apaga pero manda el mensaje de apagado.
-r tras parar los servicios se reiniciará.
-F es el contrario de -f en el siguiente arranque le toque o no se
forzará a una comprobación de los filesystems.
Otros comandos relacionados con el apagado y el reinicio

El comando halt detiene el sistema.


El comando powerof es un enlace simbólico del comando halt, que
detiene el sistema y luego intenta apagarlo.
El comando reboot es otro enlace simbólico del comando halt, que detiene
el sistema y luego lo reinicia.

También podría gustarte