To change the location of the newly created core files, you have to change the content of /proc/sys/kernel/core_pattern:
Code:
sudo echo /tmp/core > /proc/sys/kernel/core_pattern
this will put the core dumps in /tmp, naming them "core". You can also add some modifiers to the content of the above, to customize the name of the core file, for example:
Code:
sudo echo /tmp/core.%u.%p > /proc/sys/kernel/core_pattern
will add the user ID of the owner of the process and the PID of the process itself. Other modifiers are available. See man 5 core for details.
Ah, just forgotten... by modifying a value under /proc you will lost changes upon reboot. To make them permanent, you can edit the file /etc/sysctl.conf, for example by adding the following lines
Code:
# Setup a directory to save core files into kernel.core_pattern = /tmp/coreI've had a few core dumps since I made these changes, and they don't seem to be effecting the placement of core files.
I have "kernel.core_pattern = /tmp/core" in /etc/sysctl.conf, /proc/sys/kernel/core_pattern is: "|/usr/share/apport/apport "
I would really like to get these buggers in /tmp, as they are quite large.
Strange. If you did not reboot the machine after the modification of /etc/sysctl.conf, the change has not been applied. Have you manually modified the content of /proc/sys/kernel/core_pattern using the echo command?
"kernel.core_pattern = /tmp/core" doesn't seem to change this.
Code:
sudo echo /tmp/core > /proc/sys/kernel/core_patternyes this command does the trick (well, I have to su in, it doesn't work with sudo because of the > redirection thing), but as you said, it does not stick after a reboot.
"kernel.core_pattern = /tmp/core" doesn't seem to change this.