Ubuntu Dpkg: unrecoverable fatal error

=dpkg, the nasty error=

Scenario, you run apt-get update and it all goes pear shaped!

There will probably be a series of errors like "dpkg: warning: files list file for package `xxxxxxxxxxx' missing, assuming package has no files currently installed.", culminating in this;

(Reading database ... 55%dpkg: unrecoverable fatal error, aborting: files list file for package `linux-headers-3.2.0-31-generic' contains empty filename E: Sub-process /usr/bin/dpkg returned an error code (2)

See what the package erroring above is, in this case `linux-headers-3.2.0-31-generic'.

=Fix /var/lib/dpkg/status=


 * Remove the entire section given in error above, in this case `linux-headers-3.2.0-31-generic' from the 'status' file (cntrl-K to delete the lines in nano).

i.e. the line starting Package: to the line above the next Package: line. e.g. All the below.

$ sudo nano -w /var/lib/dpkg/status


 * 1) Remove this

Package: linux-headers-3.2.0-31-generic Status: install ok installed Priority: optional Section: devel Installed-Size: 10968 Maintainer: Ubuntu Kernel Team  Architecture: amd64 Source: linux Version: 3.2.0-31.50 Provides: linux-headers, linux-headers-3.0 Depends: linux-headers-3.2.0-31, libc6 (>= 2.14) Description: Linux kernel headers for version 3.2.0 on 64 bit x86 SMP This package provides kernel header files for version 3.2.0 on 64 bit x86 SMP. . This is for sites that want the latest kernel headers. Please read /usr/share/doc/linux-headers-3.2.0-31/debian.README.gz for details.

Fix apt-get

$ sudo apt-get -f install Reading package lists... Done Building dependency tree Reading state information... Done Correcting dependencies... Done The following extra packages will be installed: linux-headers-3.2.0-31-generic The following NEW packages will be installed linux-headers-3.2.0-31-generic 0 upgraded, 1 newly installed, 0 to remove and 9 not upgraded. Need to get 983 kB of archives. After this operation, 11.2 MB of additional disk space will be used. Do you want to continue [Y/n]?

You should then get still the initial errors "dpkg: warning: files list file for package `xxxxxxxxxxx' missing, assuming package has no files currently installed.", but it should install the problem package ok, viz `linux-headers-3.2.0-31-generic'.

Now run

$ sudo apt-get dist-upgrade

Yet again you should see "dpkg: warning: files list file for package `xxxxxxxxxxx' missing, assuming package has no files currently installed.".

Now do this replacing xxxxxxx with all the package names above that appear.

sudo apt-get install --reinstall xxxxxxxxxx

They should all now reinstall without a problem and you are good to go, problem now fixed! (at least mine was)