linux – ¿Qué hace fsck -p (preen) en ext4?

Pregunta:

Estaba leyendo una publicación de blog sobre la reparación del sistema de archivos y el autor publicó una buena pregunta … Se supone que fsck -p corrige errores menores automáticamente sin intervención humana. Pero, ¿qué arreglará exactamente cuando se le diga que arregle el sistema de archivos? ¿Qué errores solucionará y qué hará que se detenga y le diga al usuario que debe ejecutar fsck de forma interactiva? ¿Existe una lista de algún tipo?

He estado buscando en Google y todo lo que encuentro es la página de manual, que realmente no dice qué arreglará -p o qué desencadena la bandera práctica. Estoy específicamente interesado en el sistema de archivos ext4.

Respuesta:

La respuesta a su pregunta se encuentra en el archivo e2fsck/problems.c problem.c del código fuente e2fsprogs . La PR_PREEN_OK bandera PR_PREEN_OK debería PR_PREEN_OK a comenzar.

Como el manejo completo de errores es un poco más complicado, debido a la multitud de diferentes condiciones de error que pueden ocurrir, se le recomienda que observe más de cerca el código si está preocupado por un caso específico. Sin embargo, las listas a continuación se extrajeron de los comentarios sobre las condiciones de error y deberían brindarle una descripción general aproximada de los efectos del modo de presentación.

Los siguientes errores / advertencias se manejan actualmente automáticamente cuando se especifica el indicador -p :

  • Reubicar pista
  • El inodo del diario no es válido
  • El superbloque del diario está dañado
  • La bandera de la supermanzana has_journal es clara pero tiene un diario
  • La bandera de need_recovery del superbloque está configurada pero no hay un diario presente
  • La revisión del sistema de archivos es 0, pero los indicadores de funciones están configurados
  • Sugerencia de supermanzana para supermanzana externa
  • descriptor de grupo N marcado como no inicializado sin conjunto de características.
  • mapa de bits de bloque del grupo N no inicializado pero mapa de bits de inodo en uso.
  • El descriptor de grupo N tiene un recuento de inodos no utilizados no válido.
  • Último mapa de bits del bloque de grupo sin inicializar.
  • El indicador test_fs está establecido (y ext4 está disponible)
  • La última hora de montaje es en el futuro (modificada)
  • La última hora de escritura es en el futuro (modificada)
  • La suma de comprobación del grupo de bloques (pregunta de cierre) no es válida.
  • El directorio raíz tiene dtime configurado
  • El inodo reservado tiene modo incorrecto
  • El inodo eliminado tiene cero dtime
  • Inode en uso, pero dtime configurado
  • Directorio de longitud cero
  • Inode tiene i_size incorrecto
  • Inode tiene i_blocks incorrectos
  • Mal supermanzana en grupo
  • Descriptores de grupo de bloques incorrectos en el grupo
  • Bloque reclamado sin motivo
  • Error al asignar bloques para reubicar metadatos
  • Error al asignar el búfer de bloque durante el proceso de reubicación
  • Reubicar la información del grupo de metadatos de X a Y
  • Reubicar la información del grupo de metadatos en X
  • Error de lectura de bloque durante el proceso de reubicación
  • Error de escritura en bloque durante el proceso de reubicación
  • Indicador inmutable establecido en un dispositivo o en un inodo de socket
  • Tamaño distinto de cero para el dispositivo, el FIFO o el inodo del zócalo
  • La revisión del sistema de archivos es 0, pero los indicadores de funciones están configurados
  • El inodo de diario no está en uso, pero contiene datos
  • El diario tiene mal modo
  • Indicador INDEX_FL establecido en un sistema de archivos que no es HTREE
  • Indicador INDEX_FL establecido en un no directorio
  • Nodo raíz no válido en el directorio HTREE
  • Versión hash no admitida en el directorio HTREE
  • Indicador incompatible en el nodo raíz HTREE
  • HTREE demasiado profundo
  • inodo inválido-> i_extra_isize
  • entrada ea inválida-> e_name_len
  • entrada ea inválida-> e_value_offs
  • entrada ea inválida-> bloque_valor_e
  • entrada ea inválida-> tamaño_valor_e
  • entrada ea inválida-> e_hash
  • inodo falta EXTENTS_FL, pero es un inodo de extensión
  • Inode no debe tener configurado EOFBLOCKS_FL
  • La entrada del directorio ha eliminado o no se ha utilizado el inodo
  • Tipo de archivo de directorio no establecido
  • Tipo de archivo de directorio establecido en el sistema de archivos
  • Nodo raíz HTREE no válido
  • Límite HTREE no válido
  • Recuento de HTREE no válido
  • El nodo interior HTREE tiene hashes fuera de orden en la tabla
  • Inode encontrado en el grupo donde se establece _INODE_UNINIT
  • Inode encontrado en el área de inodos no utilizados del grupo
  • i_blocks_hi debería ser cero
  • / perdido + encontrado no encontrado
  • Inodo de longitud cero sin adjuntar
  • Inode ref recuento incorrecto
  • No se establece el relleno al final del mapa de bits de inodo.
  • No se establece el relleno al final del mapa de bits del bloque.
  • Bloquear encabezado de diferencias de mapa de bits
  • Bloque no utilizado, pero marcado en mapa de bits
  • Bloque usado, pero no marcado usado en mapa de bits
  • Fin de las diferencias de mapa de bits de bloque
  • Encabezado de diferencias de mapa de bits de inode
  • Inode no utilizado, pero marcado en mapa de bits
  • Inode usado, pero no marcado usado en mapa de bits
  • Las diferencias de mapa de bits de inodo terminan
  • Los inodos libres cuentan para el grupo incorrecto
  • Los directorios cuentan para el grupo incorrecto
  • Los inodos libres cuentan mal
  • Los bloques libres cuentan para el grupo incorrecto
  • Los bloques libres cuentan mal
  • Rango de bloque no utilizado, pero marcado en mapa de bits
  • Rango de bloque usado, pero no marcado usado en mapa de bits
  • Rango de inodo no utilizado, pero marcado en mapa de bits
  • Rango de inodo utilizado, pero no marcado como utilizado en el mapa de bits
  • Bloque (s) del grupo N en uso, pero el grupo está marcado como BLOCK_UNINIT
  • Inodos del grupo N en uso, pero el grupo está marcado como INODE_UNINIT
  • Vuelva a crear el diario si se establece el indicador E2F_FLAG_JOURNAL_INODE

Las siguientes condiciones de error hacen que se anule el proceso fsck no interactivo, incluso si se establece el indicador -p :

  • Bloquear mapa de bits no en grupo
  • El mapa de bits de inode no está en el grupo
  • La tabla de inode no está en el grupo
  • El tamaño del sistema de archivos es incorrecto
  • El recuento de inodos en el superbloque es incorrecto
  • Hurd no admite la función de tipo de archivo
  • El diario tiene un tipo de superbloque desconocido
  • Pregunte si deberíamos limpiar el diario
  • El superbloque de diario tiene un conjunto de indicadores de función de solo lectura desconocido
  • El superbloque de diario tiene un conjunto de banderas de características incompatibles desconocidas
  • El diario tiene un número de versión no admitido
  • Pregunte si deberíamos ejecutar el diario de todos modos.
  • Bloques reservados sin resize_inode
  • Resize_inode no habilitado, pero resize inode no es cero
  • Cambiar el tamaño del inodo no es válido
  • La última hora de montaje es en el futuro
  • La última hora de escritura es en el futuro
  • La suma de comprobación del descriptor de grupo N no es válida.
  • El directorio raíz no es un inodo
  • Bloquear conflictos de mapa de bits con algún otro bloque fs
  • El mapa de bits de inode entra en conflicto con algún otro bloque fs
  • La tabla inode entra en conflicto con algún otro bloque fs
  • El mapa de bits del bloque está en un bloque defectuoso
  • El mapa de bits de inode está en un bloque defectuoso
  • Número de bloque ilegal en inodo
  • El número de bloque se superpone a los metadatos fs
  • Inode tiene bloqueos ilegales (pregunta de pestillo)
  • Demasiados bloques defectuosos en inodo
  • Número de bloque ilegal en inodo de bloque defectuoso
  • El inodo de bloque incorrecto tiene bloques ilegales (pregunta de bloqueo)
  • Bloque defectuoso utilizado como bloque indirecto de bloque defectuoso
  • La inconsistencia no se puede solucionar rápidamente
  • Mensaje de bloqueo primario incorrecto
  • Suprimir mensaje de aviso
  • Indicador imagic establecido en un inodo cuando el sistema de archivos no lo admite
  • Indicador de compresión establecido en un inodo cuando el sistema de archivos no lo admite
  • Tratar con inodos que formaban parte de la lista de enlaces huérfanos
  • Tratar con inodos que formaban parte de una lista de enlaces huérfanos corruptos (pregunta de bloqueo)
  • Error al leer el bloque de atributos extendidos
  • Bloque de atributo extendido no válido
  • El recuento de referencias de atributos extendidos es incorrecto
  • No se admiten varios bloques de EA
  • Error de colisión de asignación de EA
  • Nombre de atributo extendido incorrecto
  • Valor de atributo extendido incorrecto
  • Inode demasiado grande (pregunta de cierre)
  • Directorio demasiado grande
  • Archivo normal demasiado grande
  • Enlace simbólico demasiado grande
  • El bloque malo tiene un bloque indirecto que entra en conflicto con el bloque del sistema de archivos
  • No se pudo cambiar el tamaño del inodo
  • inodo parece ser un directorio
  • Error al leer el árbol de extensión
  • No iterar extensiones
  • Mal bloque inicial en extensión
  • La extensión termina más allá del sistema de archivos
  • Indicador EXTENTS_FL establecido en un sistema de archivos sin extensiones
  • el inodo tiene extensiones, al superbloque le falta la característica INCOMPAT_EXTENTS
  • El enlace simbólico rápido tiene EXTENTS_FL configurado
  • Las extensiones están fuera de servicio
  • Inode tiene un nodo de extensión no válido
  • ¿Clonar bloques duplicados / defectuosos?
  • Número de inodo incorrecto para '.'
  • La entrada del directorio tiene un número de inodo incorrecto
  • La entrada de Directry es un enlace a '.'
  • Los puntos de entrada del directorio al inodo ahora se encuentran en un bloque defectuoso
  • La entrada del directorio contiene un enlace a un directorio
  • La entrada del directorio contiene un enlace al directorio raíz.
  • La entrada del directorio tiene caracteres ilegales en su nombre
  • Desaparecido '.' en el directorio de inodo
  • Falta '..' en el inodo del directorio
  • La primera entrada en el inodo del directorio no contiene '.'
  • La segunda entrada en el inodo del directorio no contiene '..'
  • i_faddr debería ser cero
  • i_file_acl debe ser cero
  • i_dir_acl debe ser cero
  • i_frag debe ser cero
  • i_fsize debe ser cero
  • inodo tiene modo malo
  • directorio dañado
  • nombre de archivo demasiado largo
  • El inodo del directorio tiene un bloque faltante (agujero)
  • '.' no es NULL terminado
  • '..' no es NULL terminado
  • Inodo de dispositivo de carácter ilegal
  • Inodo de dispositivo de bloqueo ilegal
  • Duplicar '.' entrada
  • Entrada duplicada
  • Final rec_len es incorrecto
  • Error al leer el bloque de directorio
  • Error al escribir el bloque de directorio
  • Entrada de directorio para '.' es grande. ¿Separar?
  • Inodo FIFO ilegal
  • Inodo de socket ilegal
  • Tipo de archivo de directorio incorrecto
  • El nombre de archivo del directorio es nulo
  • Enlace simbólico no válido
  • i_file_acl (bloque de atributo extendido) es malo
  • El sistema de archivos contiene archivos grandes, pero no tiene ese indicador en sb
  • Borrar directorio HTREE no válido
  • Bloque incorrecto en el nodo interior de htree
  • Se encontró una entrada de directorio duplicada
  • Se encontró un nombre de archivo no único
  • i_blocks_hi debería ser cero
  • Bloque HTREE inesperado
  • Inodo raíz no asignado
  • No hay espacio en perdido + encontrado
  • Inodo de directorio no conectado
  • .. la entrada es incorrecta
  • Lost + found no es un directorio
  • Inodo sin adjuntar
  • Supermanzana corrupta
  • Fragmentos no admitidos
  • Error al determinar el tamaño del dispositivo físico del sistema de archivos
  • El diario externo tiene varios sistemas de archivos (no compatibles)
  • No puedo encontrar el diario externo
  • El diario externo tiene un superbloque incorrecto
  • El superbloque tiene un UUID de diario incorrecto
  • Error al asignar mapa de bits de inodo
  • Error al asignar el mapa de bits del bloque
  • Error al asignar la información del enlace icount
  • Error al asignar la matriz de bloques de directorio
  • Error al escanear inodos
  • Error al iterar sobre bloques
  • Error al almacenar la información del recuento de inodos
  • Error al almacenar la información del bloque de directorio
  • Error al leer el inodo (para borrar)
  • Error al asignar la estructura de recuento
  • Error al leer el bloque de atributos extendidos al corregir el recuento de referencias
  • Error al escribir el bloque de atributos extendidos al corregir el recuento de referencias
  • Error al asignar la estructura de asignación de la región de EA
  • Error al escanear inodos
  • Error al asignar mapa de bits de inodo
  • Error interno: no se pudo encontrar dir_info
  • Error al asignar la estructura icount
  • Error al iterar sobre bloques de directorio
  • Error al desasignar el inodo
  • Error al ajustar el recuento de referencia de EA
  • Error al asignar mapa de bits de inodo
  • Error al crear el directorio raíz
  • El inodo raíz no es un directorio; abortar
  • No se puede continuar sin un inodo raíz.
  • Error interno: no se pudo encontrar dir_info
  • Error de programación: los puntos finales del mapa de bits no coinciden
  • Error interno: alteración del final del mapa de bits
  • Error al copiar en mapa de bits de inodo de reemplazo
  • Error al copiar en el mapa de bits del bloque de reemplazo

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım