You might experience internal server errors from time to time.
Internal Server Error You have a nil object when you didn't expect it! You might have expected an instance of Array. The error occurred while evaluating nil.each
Such an error can (but not necessarily) be caused by a full disk storage. Especially home servers with very low disk space suffer from this sooner than later and even with bigger storage it’s not if but when it happens to you.
The first location you’d probably clean up is your home directory but the chance that you find there many big files you no longer need is surely low.
A very common location that consumes a lot of space over time is
/var. Two directories you should keep an eye on are
# sudo du -h --max-depth=1 /var [sudo] password for slopjong: 2.9G ./cache 16K ./named 4.0K ./opt 56K ./db 4.0K ./tmp 64K ./spool 4.0K ./local 39M ./lib 1.1G ./log 4.0K ./games 4.0K ./empty 16K ./state 4.1G
Depending on your linux distribution one of the subdirectories of
cache belongs to the package manager which might cache a lot of old installed software packages. Especially distributions which use a rolling release model let that directory increase in size.
If your server is running smoothly so that you can waive the old packages, just clean the cache of your package manager. In other words remove packages that are no longer needed to free some space.
In Arch Linux use pacman.
sudo pacman -Sc
In other linux distributions please read the manpage of your package manager for the appropriate options.
The other directory is
log which keeps all the relevant system log files of your server. A file which permanently grows is
wtmp. In this file all the server logins are recorded and can consume hundreds of megabytes after a server was setup few weeks ago.
wtmp file possibly helps you to find intrusions that maybe you are not aware of you should never delete or overwrite it without checking it before. To read the wtmp file use the command
It will list all the logins chronologically and outputs something like
slopjong pts/1 :0 Wed Sep 12 10:38 - 10:38 (00:00) slopjong pts/0 :0 Wed Sep 12 10:28 - 12:37 (02:09) reboot system boot 3.5.3-1-ARCH Wed Sep 12 10:27 - 12:51 (02:23) slopjong pts/0 :0 Wed Sep 12 10:27 - down (00:00) slopjong tty1 Wed Sep 12 10:21 - down (00:05) reboot system boot 3.5.3-1-ARCH Wed Sep 12 10:20 - 10:27 (00:06) slopjong pts/2 :0 Wed Sep 12 09:51 - 10:20 (00:28) slopjong pts/2 :0 Wed Sep 12 09:50 - 09:51 (00:00)
Alternatively you can use
utmpdump /var/log/wtmp | less
If you’re sure no incidents happened empty the file by executing
# cp /dev/null /var/log/wtmp
Hopefully your available free space got increased but you can check this with
IBM has published a guideline of Resolving overflows in the /var file system. Just have a look at it.