[Bug 1578863] Re: unable to make backup link of <some-file> before installing new version: Operation not permitted
untoreh
bassobassista at gmail.com
Sat Dec 8 06:40:55 UTC 2018
#1318951
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to dpkg in Ubuntu.
https://bugs.launchpad.net/bugs/1578863
Title:
unable to make backup link of <some-file> before installing new
version: Operation not permitted
Status in dpkg package in Ubuntu:
Confirmed
Bug description:
I accidentally reported this against bug 559127 via a duplicate but
then realised that bug is specific to "Input/Output Error" so I'm
reposting here.
I've just encountered this with 16.04 whilst developing a bash script
that cross-builds (on amd64) a complete custom armhf RasPi 2/3
installation image.
It triggered when linux-image packages were being unpacked by 'dpkg'
to the chroot target /boot/ directory.
The amd64 system has qemu-user-static and binfmt-support installed so
that commands can be executed in the armhf target chroot.
The command:
$ sudo chroot /mnt/raspi dpkg -i /var/local/cache/apt/archives/linux-image-4.5.0-v7+_4.5.0-v7+-2_armhf.deb
(Reading database ... 30501 files and directories currently installed.)
Preparing to unpack .../linux-image-4.5.0-v7+_4.5.0-v7+-2_armhf.deb ...
Unpacking linux-image-4.5.0-v7+ (4.5.0-v7+-2) over (4.5.0-v7+-2) ...
dpkg: error processing archive /var/local/cache/apt/archives/linux-image-4.5.0-v7+_4.5.0-v7+-2_armhf.deb (--install):
unable to make backup link of './boot/config-4.5.0-v7+' before installing new version: Operation not permitted
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
/var/local/cache/apt/archives/linux-image-4.5.0-v7+_4.5.0-v7+-2_armhf.deb
and strace reveals:
13605 utimes("/boot/config-4.5.0-v7+.dpkg-new", {{1462489111, 0}, {1458064430, 0}}) = 0
13605 link("/boot/config-4.5.0-v7+", "/boot/config-4.5.0-v7+.dpkg-tmp") = -1 EPERM (Operation not permitted)
Additional debug info using dpkg -D7777 ...
...
D000100: setupvnamevbs main='/boot' tmp='/boot.dpkg-tmp' new='/boot.dpkg-new'
D000100: tarobject already exists
D000100: tarobject directory exists
D000010: tarobject ti->name='./boot/config-4.5.0-v7+' mode=100644 owner=0:0 type=48(-) ti->linkname='' namenode='/boot/config-4.5.0-v7+' flags=2 instead='<non
e>'
D000100: setupvnamevbs main='/boot/config-4.5.0-v7+' tmp='/boot/config-4.5.0-v7+.dpkg-tmp' new='/boot/config-4.5.0-v7+.dpkg-new'
D000100: tarobject already exists
D000010: path_remove_tree '/boot/config-4.5.0-v7+.dpkg-new'
D000010: path_remove_tree '/boot/config-4.5.0-v7+.dpkg-tmp'
D000100: tarobject file open size=133889
D000100: tarobject file hash=2666c2e844c3e9ce3a7121842743ed95
D000100: tarobject nondirectory, 'link' backup
dpkg: error processing archive /var/local/cache/apt/archives/linux-image-4.5.0-v7+_4.5.0-v7+-2_armhf.deb (--install):
unable to make backup link of './boot/config-4.5.0-v7+' before installing new version: Operation not permitted
D000010: cu_installnew '/boot/config-4.5.0-v7+' flags=202
D000100: setupvnamevbs main='/boot/config-4.5.0-v7+' tmp='/boot/config-4.5.0-v7+.dpkg-tmp' new='/boot/config-4.5.0-v7+.dpkg-new'
D000100: cu_installnew not restoring
D000100: secure_remove '/boot/config-4.5.0-v7+.dpkg-new' unlink OK
...
RasPi images require the boot file-system to be VFAT:
$ mount | grep /mnt/raspi/boot
/dev/mapper/VG_DATA-raspi1 on /mnt/raspi/boot type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
$ sudo blkid /dev/mapper/VG_DATA-raspi1
/dev/mapper/VG_DATA-raspi1: SEC_TYPE="msdos" LABEL="RASPI_4084" UUID="C5B8-3907" TYPE="vfat" PARTLABEL="primary" PARTUUID="009a2020-4eec-451a-9bb7-b18241729fd1"
As far as I recall it isn't possible to hard link on VFAT.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/dpkg/+bug/1578863/+subscriptions
More information about the foundations-bugs
mailing list