sudo mkdir tmp
mkdir: cannot create directory `tmp': No space left on device
You are out of space on /. This bit of your earlier 'df -h' CLEARLY no longer applies.
Filesystem Size Used Avail Use% Mounted on
/dev/vda3 49G 19G 27G 42% /
Move tmp back - you need it. Make serious space on /. These commands also tell you what the space on / is
df -h /
du -sh /dev/vda3
Probably the best thing is to back up your stuff in /home, and delete large chunks of it. I don't know what you did in the past, but it just could be that somehow you have a 49G partition with a 19G filesystem, or some weird bios thing. The filesystem could be borked, and I would run e2fsck -fvy on it asap. You will need an install cd to boot from.