Bug#893424: Cannot uninstall package
On Mon, Mar 19, 2018 at 01:42:09AM +0100, Andreas Beckmann wrote: > Interesting. The empty directory shows up with size 0. > What filesystem do you use for / ? Similarly here: rak@zeta:~$ ls -lashR /etc/mail /etc/mail: total 24K 0 drwxr-xr-x 1 root root 138 Mar 18 14:32 . 0 drwxr-xr-x 1 root root 5.3K Mar 18 17:51 .. 4.0K -rw-r--r-- 1 root root 281 Jan 13 17:43 address.resolve 0 drwxr-xr-x 1 root root0 Jan 13 17:43 m4 0 drwxr-xr-x 1 root root 16 Mar 18 13:30 peers 12K -rw-r--r-- 1 root root 12K Mar 18 13:33 sendmail.conf 4.0K -rw-r--r-- 1 root root 148 Jan 13 17:43 service.switch 4.0K -rw-r--r-- 1 root root 179 Jan 13 17:43 service.switch-nodns /etc/mail/m4: total 0 0 drwxr-xr-x 1 root root 0 Jan 13 17:43 . 0 drwxr-xr-x 1 root root 138 Mar 18 14:32 .. /etc/mail/peers: total 4.0K 0 drwxr-xr-x 1 root root 16 Mar 18 13:30 . 0 drwxr-xr-x 1 root root 138 Mar 18 14:32 .. 4.0K -rw-r--r-- 1 root root 328 Jan 13 17:43 provider > What filesystem do you use for / ? /dev/sda1 on / type btrfs (rw,relatime,ssd,space_cache,subvolid=5,subvol=/) > The error should be triggered by this line in the prerm: > # Remove empty files (probably touched databases) > find /etc/mail -maxdepth 1 -size 0 | xargs -r rm; Yeah, I think the problem is that it's calling 'rm' on directories. Tacking on a '-type f' like you suggested (and perhaps even a '-delete' to skip the xargs bit) would likely do the trick. > $ find /etc/mail -maxdepth 1 -size 0 > $ find /etc/mail -maxdepth 1 -type f -size 0 rak@zeta:~$ find /etc/mail -maxdepth 1 -size 0 /etc/mail/m4 rak@zeta:~$ find /etc/mail -maxdepth 1 -type f -size 0 rak@zeta:~$ > The first should output /etc/mail/m4, the second should output nothing. Your hunch on the error was right. I tried adding "set -x" to the top of the prerm file, and got the following output: rak@zeta:~$ sudo vim /var/lib/dpkg/info/sendmail-base.prerm No protocol specified rak@zeta:~$ sudo apt-get remove sendmail-base Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: libxfont1 lockfile-progs Use 'sudo apt autoremove' to remove them. The following packages will be REMOVED: sendmail-base 0 upgraded, 0 newly installed, 1 to remove and 57 not upgraded. After this operation, 867 kB disk space will be freed. Do you want to continue? [Y/n] (Reading database ... 389313 files and directories currently installed.) Removing sendmail-base (8.15.2-10) ... + PACKAGE=sendmail-base + [ remove = remove ] + [ -x /usr/sbin/update-inetd ] + update-inetd --group MAIL --disable smtp,smtps,submission + [ -L /etc/mail/aliases ] + [ -f /etc/mail/aliases ] + rm -f /etc/cron.d/sendmail + rm -f /usr/lib/sasl/Sendmail.conf + rm -rf /var/lib/sendmail + rm -rf /var/run/sendmail + [ -x /etc/init.d/sendmail ] + [ -L /var/spool/mqueue ] + [ -d /var/spool/mqueue ] + [ -L /var/spool/mqueue-client ] + [ -d /var/spool/mqueue-client ] + rm -f /etc/mail/*.db /etc/mail/*.dir /etc/mail/*.pag + rm -f /etc/mail/sendmail.cf /etc/mail/sendmail.cf.old /etc/mail/sendmail.cf.errors /etc/mail/sendmail.mc.old /etc/mail/submit.cf /etc/mail/submit.cf.errors /etc/mail/submit.mc.old /etc/mail/databases /etc/mail/Makefile + rm -rf /etc/mail/smrsh /etc/mail/sasl /etc/mail/tls + find /etc/mail -maxdepth 1 -size 0 + xargs -r rm rm: cannot remove '/etc/mail/m4': Is a directory dpkg: error processing package sendmail-base (--remove): installed sendmail-base package pre-removal script subprocess returned error exit status 123 Errors were encountered while processing: sendmail-base E: Sub-process /usr/bin/dpkg returned an error code (1) Hope this helps, Ryan -- |)|/ Ryan Kavanagh | GPG: 4E46 9519 ED67 7734 268F |\|\ https://rak.ac | BD95 8F7B F8FC 4A11 C97A signature.asc Description: PGP signature
Bug#893424: Cannot uninstall package
On 2018-03-18 19:43, Ryan Kavanagh wrote: > Removing sendmail-base (8.15.2-10) ... > rm: cannot remove '/etc/mail/m4': Is a directory > dpkg: error processing package sendmail-base (--remove): > installed sendmail-base package pre-removal script subprocess returned error > exit status 123 > ls -alR /etc/mail: > /etc/mail: > total 24 > drwxr-xr-x 1 root root 138 Mar 18 14:32 . > drwxr-xr-x 1 root root 5364 Mar 18 13:50 .. > -rw-r--r-- 1 root root 281 Jan 13 17:43 address.resolve > drwxr-xr-x 1 root root 0 Jan 13 17:43 m4 Interesting. The empty directory shows up with size 0. What filesystem do you use for / ? The error should be triggered by this line in the prerm: # Remove empty files (probably touched databases) find /etc/mail -maxdepth 1 -size 0 | xargs -r rm; Please run these two commands: $ find /etc/mail -maxdepth 1 -size 0 $ find /etc/mail -maxdepth 1 -type f -size 0 The first should output /etc/mail/m4, the second should output nothing. Andreas
Bug#893424: Cannot uninstall package
Package: sendmail-base Version: 8.15.2-10 Severity: serious Due to a bug in the maintainer script, sendmail-base cannot be uninstalled: rak@zeta:~$ sudo apt-get remove sendmail-base [sudo] password for rak: Reading package lists... Done Building dependency tree Reading state information... Done The following package was automatically installed and is no longer required: lockfile-progs Use 'sudo apt autoremove' to remove it. The following packages will be REMOVED: sendmail-base 0 upgraded, 0 newly installed, 1 to remove and 52 not upgraded. After this operation, 867 kB disk space will be freed. Do you want to continue? [Y/n] (Reading database ... 388617 files and directories currently installed.) Removing sendmail-base (8.15.2-10) ... rm: cannot remove '/etc/mail/m4': Is a directory dpkg: error processing package sendmail-base (--remove): installed sendmail-base package pre-removal script subprocess returned error exit status 123 Errors were encountered while processing: sendmail-base E: Sub-process /usr/bin/dpkg returned an error code (1) rak@zeta:~$ sudo apt-get purge sendmail-base Reading package lists... Done Building dependency tree Reading state information... Done The following package was automatically installed and is no longer required: lockfile-progs Use 'sudo apt autoremove' to remove it. The following packages will be REMOVED: sendmail-base* 0 upgraded, 0 newly installed, 1 to remove and 52 not upgraded. After this operation, 867 kB disk space will be freed. Do you want to continue? [Y/n] (Reading database ... 388617 files and directories currently installed.) Removing sendmail-base (8.15.2-10) ... rm: cannot remove '/etc/mail/m4': Is a directory dpkg: error processing package sendmail-base (--remove): installed sendmail-base package pre-removal script subprocess returned error exit status 123 Errors were encountered while processing: sendmail-base E: Sub-process /usr/bin/dpkg returned an error code (1) -- Package-specific info: Output of /usr/share/bug/sendmail-base/script: ls -alR /etc/mail: /etc/mail: total 24 drwxr-xr-x 1 root root 138 Mar 18 14:32 . drwxr-xr-x 1 root root 5364 Mar 18 13:50 .. -rw-r--r-- 1 root root 281 Jan 13 17:43 address.resolve drwxr-xr-x 1 root root 0 Jan 13 17:43 m4 drwxr-xr-x 1 root root16 Mar 18 13:30 peers -rw-r--r-- 1 root root 12235 Mar 18 13:33 sendmail.conf -rw-r--r-- 1 root root 148 Jan 13 17:43 service.switch -rw-r--r-- 1 root root 179 Jan 13 17:43 service.switch-nodns /etc/mail/m4: total 0 drwxr-xr-x 1 root root 0 Jan 13 17:43 . drwxr-xr-x 1 root root 138 Mar 18 14:32 .. /etc/mail/peers: total 4 drwxr-xr-x 1 root root 16 Mar 18 13:30 . drwxr-xr-x 1 root root 138 Mar 18 14:32 .. -rw-r--r-- 1 root root 328 Jan 13 17:43 provider sendmail.conf: DAEMON_NETMODE="Static"; DAEMON_NETIF="eth0"; DAEMON_MODE="Daemon"; DAEMON_PARMS=""; DAEMON_HOSTSTATS="No"; DAEMON_MAILSTATS="No"; QUEUE_MODE="${DAEMON_MODE}"; QUEUE_INTERVAL="10m"; QUEUE_PARMS=""; MSP_MODE="Cron"; MSP_INTERVAL="20m"; MSP_PARMS=""; MSP_MAILSTATS="${DAEMON_MAILSTATS}"; MISC_PARMS=""; CRON_MAILTO="root"; CRON_PARMS=""; LOG_CMDS="No"; HANDS_OFF="No"; AGE_DATA=""; DAEMON_RUNASUSER="No"; DAEMON_STATS="${DAEMON_MAILSTATS}"; MSP_STATS="${MSP_MAILSTATS}"; -- System Information: Debian Release: buster/sid APT prefers unstable-debug APT policy: (500, 'unstable-debug'), (500, 'unstable'), (1, 'experimental-debug'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.15.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_CA.UTF-8), LANGUAGE=en_CA.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_CA.UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages sendmail-base depends on: ii adduser 3.117 ii lockfile-progs 0.1.17+b1 ii m4 1.4.18-1 ii make4.2.1-1 ii netbase 5.4 ii perl5.26.1-5 sendmail-base recommends no packages. Versions of packages sendmail-base suggests: ii ca-certificates 20170717 pn logcheck ii logrotate3.11.0-0.1 pn resolvconf pn sendmail-doc -- no debconf information -- |)|/ Ryan Kavanagh | GPG: 4E46 9519 ED67 7734 268F |\|\ https://rak.ac | BD95 8F7B F8FC 4A11 C97A