[Bug 1960582] Re: [critical] dpkg error while processing - can't install nor upgrade
ChengEn, Du
1960582 at bugs.launchpad.net
Thu Apr 6 02:37:30 UTC 2023
[Impact]
Some unexpected files exist in the /var/lib/dpkg folder,
which can cause the dpkg postinst script to throw an exception even though the dpkg package has already been upgraded.
[Fix]
Several similar problems have been reported by different users, but the files that caused the error are not always the same.
For further information, please see the following links:
https://www.reddit.com/r/homelab/comments/vf52d4/i_get_the_following_error_when_i_excute_any_apt/
https://stackoverflow.com/questions/72448922/dpkg-fails-on-ubuntu-server-22-04-lts
https://stackoverflow.com/questions/72581436/configuring-dpkg-fails-with-error-package-dpkg-is-not-configured-yet
The error is caused by the postinst step during installation of the new version.
The "head" command is used to check the file content in the debian/dpkg.post fixup_misplaced_alternatives function, which will throw an error if the file is a directory.
Upstream fixes this issue by the commit 940f86c37f9f (debian: Ignore directories for the alternatives state fixup).
The new approach will skip files whose type is not a regular file.
[Test Plan]
1. Create a symbolic link in the /var/lib/dpkg folder
ln -s /var/lib/dpkg /var/lib/dpkg/dpkg
2. Install the dpkg package using the dpkg command:
root at jammy:~/dpkg# dpkg -i dpkg_1.21.1ubuntu2.1_amd64.deb
(Reading database ... 162774 files and directories currently installed.)
Preparing to unpack dpkg_1.21.1ubuntu2.1_amd64.deb ...
Unpacking dpkg (1.21.1ubuntu2.1) over (1.21.1ubuntu2.1) ...
Setting up dpkg (1.21.1ubuntu2.1) ...
head: error reading 'dpkg': Is a directory
dpkg: error processing package dpkg (--install):
installed dpkg package post-installation script subprocess returned error exit status 1
Processing triggers for man-db (2.10.2-1) ...
Errors were encountered while processing:
dpkg
[Where problems could occur]
The intended purpose of the fixup is not to throw an error if the file is a directory but to move the alternative state files back into the alternative state directory.
The fixup has also been removed by the upstream commit 03abb4932e9c (debian: Remove no longer needed alternatives fixup from postint).
Keeping the unrecognized files untouched will be the same approach as upstream currently handles.
The regression can be considered low because there is no behavior change compared to the current upstream version.
--
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/1960582
Title:
[critical] dpkg error while processing - can't install nor upgrade
Status in dpkg package in Ubuntu:
Fix Released
Status in dpkg source package in Jammy:
In Progress
Bug description:
My current ubuntu version :
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu Jammy Jellyfish (development branch)
Release: 22.04
Codename: jammy
Issue :
when `sudo apt update` is ok, all newest package is downloaded
but `sudo apt ugprade` show current error : ]
sudo apt upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
librygel-renderer-2.6-2 librygel-server-2.6-2 rygel
The following packages will be upgraded:
bolt code deja-dup enchant-2 fwupd gdm3 gir1.2-gdm-1.0 gir1.2-gst-plugins-base-1.0 gir1.2-nm-1.0 gir1.2-nma-1.0
gir1.2-upowerglib-1.0 gjs gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-plugins-base
gstreamer1.0-plugins-base-apps gstreamer1.0-plugins-good gstreamer1.0-pulseaudio gstreamer1.0-x initramfs-tools
initramfs-tools-bin initramfs-tools-core iputils-ping iputils-tracepath language-pack-en language-pack-gnome-en
libenchant-2-2 libfwupd2 libfwupdplugin5 libgdm1 libgjs0g libgstreamer-gl1.0-0 libgstreamer-plugins-base1.0-0
libgstreamer-plugins-good1.0-0 libnl-3-200 libnl-genl-3-200 libnl-route-3-200 libnm0 libnma-common libnma0
libpkcs11-helper1 libseccomp2 libunistring2 libunistring2:i386 libupower-glib3 media-types nano network-manager
network-manager-config-connectivity-ubuntu python3-paramiko python3-software-properties simple-scan
software-properties-common software-properties-gtk upower
56 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
10 not fully installed or removed.
Need to get 0 B/94,6 MB of archives.
After this operation, 1.928 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Extracting templates from packages: 100%
Preconfiguring packages ...
Setting up dpkg (1.21.1ubuntu1) ...
head: error reading 'dpkg': Is a directory
dpkg: error processing package dpkg (--configure):
installed dpkg package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
dpkg
E: Sub-process /usr/bin/dpkg returned an error code (1)
i have to resintall all of the package in cache with `sudo dpkg -i /var/cache/apt/archives/*.deb
`, but the cache sometimes is not the newest packages
and when i rerun `sudo apt upgrade`, there is still not the newest package
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/dpkg/+bug/1960582/+subscriptions
More information about the foundations-bugs
mailing list