Habilitar coredump

    Vamos a forzar la creación de coredump sobre un directorio en concreto y útil para un volcado de memoria del proceso en el momento del fallo.

    
    echo "kernel.core_pattern = /var/lib/coredumps/core.%e.%p.%t" > /etc/sysctl.d/02-core.conf
    echo "kernel.core_uses_pid = 1" >> /etc/sysctl.d/02-core.conf
    echo "fs.suid_dumpable = 1" >> /etc/sysctl.d/02-core.conf
    sysctl --system
    
    cat /proc/sys/kernel/core_pattern
    sysctl -a | grep kernel.core_pattern
    
    mkdir -p /var/lib/coredumps
    chmod 770 /var/lib/coredumps
    
    ulimit -c unlimited
    
    systemctl mask systemd-coredump
    
    gcore 
    
    bash -c 'kill -s SIGSEGV $$'
    
    ls -lh /var/lib/coredumps/
    

    Porqué hacemos un mask de systemd-coredump? systemd-coredump intercepta los core dumps y los gestiona internamente, ignorando la ruta definida en kernel.core_pattern. Al hacer mask, el sistema respeta la configuración personalizada y guarda los dumps en la ruta que se define (por ejemplo, /var/lib/coredumps).

    Si hay que revertir la situación, se debe aplicar unmask al servicio systemd-coredump

    Leave a Reply

    Your email address will not be published. Required fields are marked *