es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Kernel de Linux 5.4: cómo cambiar el código que modifica la hora de cambio de estado de un archivo?

He encontradohttps://stackoverflow.com/questions/4537291/setting-creation-or-change-timestamps. Quiero probar la ruta de modificación del kernel mencionada en la respuesta vinculada: https://stackoverflow.com/a/17066309/14557599. Sin embargo, la respuesta tiene 8 años y según verifiqué, el usuario no ha publicado en SO durante varios años. La respuesta dice:

Aquí está el cambio en KERNELchange:

Pero no hay un enlace a la ubicación del archivo y no pude encontrarlo a través de una búsqueda web, solo repeticiones de esa respuesta. ¿El kernel todavía funciona de esa manera para actualizar la hora de cambio? Por favor, ayúdame a localizar ese código en la fuente del kernel actual para intentar hacer la modificación.

Agregado 1:

La búsqueda web encuentra el código notify_change en la documentación de la API: https://www.kernel.org/doc/html/latest/filesystems/api-summary.html.
https://stackoverflow.com/questions/19987815/best-way-to-find-functions-in-kernel-code aconseja usar http://lxr.linux.no, pero la búsqueda de notify_change allí no produjo ningún resultado.

He intentado la segunda opción de la respuesta anterior, descargué la última versión de www.kernel.org, ingresé a la carpeta donde extraje el archivo, pero luego:

~/Descargas/linux-5.15.12$ make cscope
GEN cscope
./scripts/tags.sh: línea 126: cscope: comando no encontrado

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como experto en IT especializado en Linux, kernel y filemtime, entiendo tus preocupaciones con respecto a la respuesta desactualizada y tu incapacidad para ubicar el código requerido para modificar el kernel. Aunque la respuesta que encontraste en StackOverflow podría ser antigua, aún es posible modificar el código fuente del kernel para actualizar el tiempo de cambio.

    En cuanto a tu pregunta sobre la ubicación del archivo KERNEL_SRC/fs/attr.c mencionado en la respuesta, parece que el usuario no proporcionó un enlace directo a la ubicación del archivo. Sin embargo, según la información disponible, puedes encontrar el archivo en el código fuente del kernel siguiendo estos pasos:

    1. Ve al sitio web oficial del kernel en https://www.kernel.org/ y descarga la última versión estable del kernel.
    2. Extrae el archivo descargado en una ubicación adecuada de tu computadora.
    3. Utiliza un editor de texto o un Entorno de Desarrollo Integrado (IDE) para abrir el directorio del código fuente del kernel extraído.
    4. Navega hasta la carpeta fs en el directorio.
    5. Busca el archivo attr.c en la carpeta fs. Este debería ser el archivo que necesitas modificar según la respuesta que encontraste.

    Desafortunadamente, la función notify_change no se pudo encontrar a través de una búsqueda web ni con la herramienta de búsqueda Linux Cross-Referencer, como mencionaste. Sin embargo, aún puedes proceder con la modificación del archivo attr.c de la manera descrita en la respuesta que encontraste.

    En cuanto al error que encontraste al intentar generar cscope utilizando el comando make, parece que el comando cscope no está instalado en tu sistema. Puedes solucionar este problema instalando cscope utilizando el administrador de paquetes de tu distribución de Linux, como apt-get para Ubuntu o yum para CentOS. Una vez instalado, deberías poder ejecutar exitosamente el comando make cscope.

    Espero que esta información te ayude a encontrar el código requerido y realizar las modificaciones necesarias para actualizar el tiempo de cambio en el kernel.

Comments are closed.