[Liunx] proceso de inicio del sistema Linux

Veremos mucha información de inicio cuando se inicie Linux.

El proceso de inicio del sistema Linux no es tan complicado como todos piensan, el proceso se puede dividir en 5 etapas:

  • El arranque del kernel.
  • Ejecute init.
  • Inicialización del sistema.
  • Establecer una terminal.
  • El usuario inicia sesión en el sistema.

Tipo de programa de inicio:

  • SysV: init, antes de CentOS 5, archivo de configuración: / etc / inittab.
  • Upstart: init, CentOS 6, archivos de configuración: / etc / inittab, /etc/init/*.conf.
  • Systemd: systemd, CentOS 7, archivos de configuración: / usr / lib / systemd / system, / etc / systemd / system.

Arranque del núcleo

Cuando se enciende la computadora, la autocomprobación del BIOS es la primera en iniciarse de acuerdo con el dispositivo de inicio (generalmente un disco duro) configurado en el BIOS.

Después de que el sistema operativo se haga cargo del hardware, primero lea los archivos del kernel en el directorio / boot.


Ejecute init

El proceso init es el punto de partida de todos los procesos del sistema. Puede compararlo con el antecesor de todos los procesos del sistema. Sin este proceso, no se iniciará ningún proceso en el sistema.

El programa init primero necesita leer el archivo de configuración / etc / inittab.

 

Nivel de ejecución

Muchos programas necesitan ser iniciados. Se llaman "servicios" en Windows y "demonios" en Linux.

Una tarea importante del proceso init es ejecutar estos programas de inicio.

Sin embargo, diferentes ocasiones requieren que se inicien diferentes programas, por ejemplo, cuando se usa como servidor, Apache debe iniciarse y no es necesario para el escritorio.

Linux permite asignar diferentes programas de arranque a diferentes ocasiones, lo que se denomina "nivel de ejecución". En otras palabras, de acuerdo con el "nivel de ejecución" al inicio, determine qué programas ejecutar.

El sistema Linux tiene 7 niveles de ejecución (runlevel):

  • Nivel operativo 0: el sistema está en estado detenido. El nivel operativo predeterminado del sistema no se puede establecer en 0, de lo contrario no se puede iniciar normalmente
  • Ejecutar nivel 1: estado de trabajo de usuario único, autoridad de raíz, utilizada para el mantenimiento del sistema, prohibir el inicio de sesión remoto
  • Ejecutar nivel 2: estado multiusuario (sin NFS)
  • Ejecute el nivel 3: complete el estado multiusuario (con NFS), ingrese al modo de línea de comando de la consola después de iniciar sesión
  • Ejecutar nivel 4: el sistema no se utiliza y está reservado
  • Ejecute el nivel 5: consola X11, ingrese al modo gráfico GUI después de iniciar sesión
  • Nivel de ejecución 6: el sistema se apaga y se reinicia normalmente. El nivel de ejecución predeterminado no se puede establecer en 6, de lo contrario no se puede iniciar normalmente

Inicialización del sistema

Existe una línea en el archivo de configuración de inicio: si :: sysinit: /etc/rc.d/rc.sysinit Llama y ejecuta /etc/rc.d/rc.sysinit, y rc.sysinit es un script de shell bash , Es principalmente para completar algunos trabajos de inicialización del sistema, rc.sysinit es un script importante que debe ejecutarse primero para cada nivel de ejecución.

Las tareas principales que completa: activar la partición de intercambio, verificar el disco, cargar módulos de hardware y otras tareas que deben realizarse primero.

l5 : 5 : espera : / etc / rc . d / rc 5

Esta línea significa ejecutar /etc/rc.d/rc con 5 como parámetro. /Etc/rc.d/rc es un script de shell que acepta 5 como parámetro para ejecutar el directorio /etc/rc.d/rc5.d/ Todos los scripts de inicio de rc debajo, los scripts de inicio en el directorio /etc/rc.d/rc5.d/ son en realidad algunos archivos de conexión, en lugar de scripts de inicio de rc reales, los scripts de inicio de rc reales son en realidad todos Coloque en el directorio /etc/rc.d/init.d/.

Estos scripts de inicio de rc tienen usos similares y generalmente aceptan parámetros como inicio, detención, reinicio y estado.

El script de inicio de rc en /etc/rc.d/rc5.d/ suele ser un archivo de conexión que comienza con K o S. Para los scripts de inicio que comienzan con S, se ejecutará con el parámetro de inicio.

Si se encuentra que hay un script correspondiente y hay una conexión que comienza con K, y ya está en estado de ejecución (usando el archivo bajo / var / lock / subsys / como una señal), estos guardias detenidos se detendrán con el parámetro stop Procese y luego ejecútelo nuevamente.

Esto se hace para garantizar que cuando init cambie el nivel de ejecución, todos los demonios relacionados se reiniciarán.

En cuanto a qué demonios se ejecutarán en cada nivel de ejecución, los usuarios pueden configurar los suyos a través de "Servicios del sistema" en chkconfig o setup.


Establecer terminal

Después de ejecutar rc, regrese a init. En este momento, se ha establecido el entorno básico del sistema y se han iniciado varios demonios.

Init luego abrirá 6 terminales para que los usuarios puedan iniciar sesión en el sistema. Las siguientes 6 líneas en inittab definen 6 terminales:

1 : 2345 : reaparecer : / sbin / mingetty tty1 2 : 2345 : reaparecer : / sbin / mingetty tty2 3 : 2345 : reaparecer : / sbin / mingetty tty3 4 : 2345 : reaparecer : / sbin / mingetty tty4 5 : 2345 : reaparecer : / sbin / mingetty tty5 6 : 2345 : reaparecer : / sbin / mingetty tty6

De lo anterior se puede ver que en los niveles de ejecución de 2, 3, 4 y 5, el programa mingetty se ejecutará en modo de reaparición.El programa mingetty puede abrir el terminal y establecer el modo.

Al mismo tiempo, mostrará una interfaz de inicio de sesión de texto, que es la interfaz de inicio de sesión que vemos a menudo. En esta interfaz de inicio de sesión, se le pedirá al usuario que ingrese el nombre de usuario, y el usuario ingresado por el usuario se pasará como un parámetro al programa de inicio de sesión para verificar la identidad del usuario.


Sistema de inicio de sesión de usuario

En términos generales, hay tres formas para que los usuarios inicien sesión:

  • (1) Inicio de sesión de línea de comando
  • (2) inicio de sesión ssh
  • (3) Inicio de sesión de interfaz gráfica

Para los usuarios en modo gráfico con nivel de ejecución 5, su inicio de sesión es a través de una interfaz de inicio de sesión gráfica. Después de iniciar sesión correctamente, puede ingresar directamente administradores de ventanas como KDE y Gnome.

Y este artículo habla principalmente de la situación del inicio de sesión de texto: cuando vemos la interfaz de inicio de sesión de mingetty, podemos ingresar el nombre de usuario y la contraseña para iniciar sesión en el sistema.

El programa de verificación de cuenta para Linux es inicio de sesión, y el inicio de sesión recibirá el nombre de usuario de Mingetty como parámetro de nombre de usuario.

Luego, el inicio de sesión analizará el nombre de usuario: si el nombre de usuario no es root, y el archivo / etc / nologin existe, el inicio de sesión generará el contenido del archivo nologin y luego saldrá.

Esto generalmente se usa para evitar que usuarios no root inicien sesión durante el mantenimiento del sistema. Solo los terminales registrados en / etc / securetty permiten a los usuarios root iniciar sesión. Si este archivo no existe, el usuario root puede iniciar sesión en cualquier terminal.

El archivo / etc / usertty se usa para imponer restricciones de acceso adicionales a los usuarios. Si este archivo no existe, no hay otras restricciones.


Cambio de modo entre modo gráfico y modo texto

Los preajustes de Linux proporcionan seis terminales de ventana de comandos para que podamos iniciar sesión.

De manera predeterminada, iniciamos sesión en la primera ventana, que es tty 1. Las seis ventanas son tty1, tty2 ... tty6, puede presionar Ctrl + Alt + F1 ~ F6 para cambiar entre ellas.

Si ha instalado una interfaz gráfica, el valor predeterminado es ingresar a la interfaz gráfica. En este momento, puede presionar Ctrl + Alt + F1 ~ F6 para ingresar a una de las interfaces de la ventana de comandos.

Cuando ingrese a la interfaz de la ventana de comandos y luego regrese a la interfaz gráfica, simplemente presione Ctrl + Alt + F7 para regresar.

Si está utilizando una máquina virtual vmware, la tecla de acceso directo para cambiar la ventana de comandos es Alt + Espacio + F1 ~ F6. Si está en la interfaz gráfica, presione Alt + Mayús + Ctrl + F1 ~ F6 para cambiar a la ventana de comandos.


Apagado de Linux

Utilizado principalmente en el servidor en el campo de Linux, rara vez se encuentra la operación de apagado. Después de todo, la ejecución de un servicio en el servidor no tiene fin, a menos que, en circunstancias especiales, se cierre.

El proceso de apagado correcto es: sincronización> apagado> reinicio> detener

El comando de apagado es: apagado, puede apagar el hombre para ver la documentación de ayuda.

Por ejemplo, puede ejecutar el siguiente comando para cerrar:

sincronización de datos de la memoria síncrona en el disco duro. 

apagado comando de apagado, puede el hombre apagado vistazo a los archivos de ayuda. Por ejemplo, puede ejecutar el siguiente comando para apagar: shutdown - h 10 ' Este servidor se apagará después de 10 minutos ' Este comando le dice a todos que la computadora se apagará después de 10 minutos y se mostrará en la pantalla actual del usuario conectado. apagado - H ahora inmediatamente el apagado de apagado - H 20 : 25 será hoy 20 : 25 de apagado de apagado - H + 10 fuera minuto diez después de la parada - r ahora el sistema inmediatamente reinicio de apagado    - El reinicio del sistema R + 10 después de 10 minutos es reiniciar, lo que es equivalente al apagado - r ahora detiene el sistema, lo que es equivalente al apagado - h ahora y apagado 

Finalmente, para resumir, ya sea para reiniciar el sistema o apagar el sistema, primero ejecute el comando de sincronización para escribir los datos en la memoria en el disco.

El comando de apagado es shutdown –h ahora detiene el apagado e init 0 , y el comando para reiniciar el sistema es shutdown –r ahora reinicia init 6 .


Artículo de referencia:

Supongo que te gusta

Origin www.cnblogs.com/HGNET/p/12723948.html
Recomendado
Clasificación