FS#58701 - Pacman fails to uninstall symlink to the file/directory on the read-only file system
Attached to Project:
Pacman
Opened by Aliaksandr Stelmachonak (ava1ar) - Wednesday, 23 May 2018, 03:05 GMT
Last edited by Eli Schwartz (eschwartz) - Wednesday, 23 May 2018, 03:12 GMT
Opened by Aliaksandr Stelmachonak (ava1ar) - Wednesday, 23 May 2018, 03:05 GMT
Last edited by Eli Schwartz (eschwartz) - Wednesday, 23 May 2018, 03:12 GMT
|
Details
Description: If installed package contains symlink to the
file/directory located on the read-only filesystem (mount as
ro), pacman fails to remove the symlink during uninstall.
Event worse, package considered as deleted after this
failure, but all package files are still present in the
filesystem and become unattended.
Additional info: Pacman v5.0.2 - libalpm v10.0.2 Steps to reproduce: 1. Mount (bind mount) some filesystem in read-only mode - i.e.: $ sudo mount -o bind,ro / /mnt 2. Create and install simple PKGBUILD, which creates symlink to the file/dir under /mnt, i.e. pacman-test from here: https://pastebin.com/rYspdLYN (I also attached a copy) 3. Install built package 4. Try to uninstall built package: $ sudo pacman -R pacman-test You will get the following: error: cannot remove file '/usr2': Read-only file system pacman-test will be removed from pacman's db, so package won't be considered installed anymore, but /usr2 symlink will still be in the filesystem. All other package files will also remain not removed. |
This task depends upon
But I think the very recently opened https://gitlab.archlinux.org/pacman/pacman/-/issues/49 describes the same issue.