Package:  dpkg
Version: 1.18.7

dpkg attempts to create a hardlink to the old versions before updating
kernel files in /boot.
In order to use `bootctl` without special options /boot is a FAT32 EFI
partition that does not support hardlinks.
This results in dpkg being unable to proceed.

$apt-get update
...
dpkg: error processing archive
/var/cache/apt/archives/linux-image-4.5.0-2-amd64_4.5.5-1_amd64.deb
(--unpack):
unable to make backup link of './boot/System.map-4.5.0-2-amd64' before
installing new version: Operation not permitted
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
/var/cache/apt/archives/linux-image-4.5.0-2-amd64_4.5.5-1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)


Launchpad has a currently open copy of this bug
<https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1318951> providing
essentially the same information as I have.  StackOverflow also has a reference
to it
<https://unix.stackexchange.com/questions/208073/dpkg-replacing-files-on-a-fat-filesystem>,
with a suggested fix.

Given that the `bootctl` expects /boot to be a FAT32 EFI partition and many
guides are starting to recommend it, this bug will become even
more prevalent as time goes on.

I suggest dpkg use a fallback mechanism, like file renaming, when hard
linking fails for file backups.

Sincerely,
Arthur Moore

Reply via email to