TestDisk and your lost partition table

Have you ever tried to resize a ext4 partition using fdisk but end up accidentally wiping your partition table instead?

It can be a panic inducing moment but all is not lost (including your data) .

Turns out that there is a FOSS tool called TestDisk that is designed to be used to recover from such human errors.

From their web page:

TestDisk is powerful free data recovery software! It was primarily designed to help recover lost partitions and/or make non-booting disks bootable again when these symptoms are caused by faulty software: certain types of viruses or human error (such as accidentally deleting a Partition Table). Partition table recovery using TestDisk is really easy.

I can attest to the easy part, I have in the past quite easily recovered a ext4 partition that I accidentally deleted using fdisk.

TestDisk is distributed as static binaries for various operating systems so it is handy to keep a copy of it on any sort of recovery/rescue media that you use.

A protip about fdisk

Do not use fdisk unless you are absolutely certain you know what you are doing with it. While TestDisk can save you if you fuck up, it is better to not take that risk.

Use something safer like parted or my favourite its GUI front-end gparted. In fact, these days I prefer to boot into the gparted LiveCD and perform my partition creations/resizes there.

Booting into a live CD is usually a slower process but it is better to be safe rather than sorry when it comes to things like partitions.


Adiós self-hosted mail server

As the title suggests, I will be retiring my self-hosted mail server (mx1.staticsafe.ca) soon, most likely by next month.

It has been a lot of fun and an excellent learning experience but I simply cannot devote the time and/or effort into active maintenance of the server.

I am moving all of the mailing lists that I used this server for to the extremely competent folks over at Fastmail.

The retirement will be done in a few stages as follows:

  1. Stage 1 – Personal mailing list subscription move (completed)
  2. Stage 2 – Change of MX, SPF records for staticsafe.ca to Fastmail’s servers and add a wildcard alias there.
  3. Stage 3 – Discontinuation of relay/non-personal services on mx1.staticsafe.ca. One person is using this server as a submission relay for their server. I will be asking them to move to my new MSA only server. Services for caffeine-linux.org will also have to be discontinued.
  4. Stage 4 – Stop all relevant daemons. Postfix, Dovecot, amavisd-new.

My Thanks

A lot of people and/or companies have provided direct and/or indirect support for this learning experience.

  • Linode Library for providing initial inspiration for the current configuration of the server
  • The folks in the Postfix and Dovecot communities. (#postfix, postfix-users, #dovecot, Wietse for the wonderful software)
  • purrdeta for telling me mail servers are a lot of fun


I have put my server configuration files on Github if anyone is interested, you can see them here.