Bug#327139: apache-perl purge ate /etc/apache
This just happened to me as well. It is currently reproducable, in that
after I'd restored /etc/apache from backup, I tried it again, and it
occured again.
It's a clients server, so I'm not keen repeating this process though.
You can see below I've done some investigating about whats going on.
root@wing:/etc# dpkg -l apache apache-perl
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err:
uppercase=bad)
||/ Name Version Description
+++-==============-==============-============================================
ii apache 1.3.33-6sarge1 versatile, high-performance HTTP server
pc apache-perl 1.3.9-13.1-1.2 Versatile, high-performance HTTP
server with
root@wing:/etc# ls -1 apache
access.conf
conf
conf.d
httpd.conf
httpd.conf.0
mime.types
modules.conf
srm.conf
ssl.crl
ssl.crt
ssl.csr
ssl.key
ssl.prm
root@wing:/etc# sudo aptitude purge apache-perl
Reading Package Lists... Done
Building Dependency Tree
Reading extended state information
Initializing package states... Done
Reading task descriptions... Done
The following packages will be REMOVED:
apache-perl
0 packages upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
Need to get 0B of archives. After unpacking 0B will be used.
Do you want to continue? [Y/n/?]
Writing extended state information... Done
(Reading database ... 43883 files and directories currently installed.)
Removing apache-perl ...
Purging configuration files for apache-perl ...
Website at /var/www has NOT been deleted.
update-rc.d: /etc/init.d/apache exists during rc.d purge (use -f to force)
dpkg: error processing apache-perl (--purge):
subprocess post-removal script returned error exit status 1
Errors were encountered while processing:
apache-perl
E: Sub-process /usr/bin/dpkg returned an error code (1)
Ack! Something bad happened while installing packages. Trying to recover:
Reading Package Lists... Done
Building Dependency Tree
Reading extended state information
Initializing package states... Done
Reading task descriptions... Done
root@wing:/etc# ls apache
ls: apache: No such file or directory
root@wing:/etc# dpkg -l apache apache-perl
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err:
uppercase=bad)
||/ Name Version Description
+++-==============-==============-============================================
ii apache 1.3.33-6sarge1 versatile, high-performance HTTP server
pc apache-perl 1.3.9-13.1-1.2 Versatile, high-performance HTTP
server with
root@wing:/etc# cd /var/lib/dpkg/info/
root@wing:/var/lib/dpkg/info# cat apache-perl.list
/etc/apache
root@wing:/var/lib/dpkg/info# cat apache-perl.postrm
#! /bin/sh
# postrm script for apache
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <postrm> `remove'
# * <postrm> `purge'
# * <old-postrm> `upgrade' <new-version>
# * <new-postrm> `failed-upgrade' <old-version>
# * <new-postrm> `abort-install'
# * <new-postrm> `abort-install' <old-version>
# * <new-postrm> `abort-upgrade' <old-version>
# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version>
# for details, see /usr/doc/packaging-manual/
if [ "$1" = "purge" ]
then
rm -rf /var/lib/apache
rm -rf /var/log/apache
rm -rf /var/run/apache
rm -rf /var/run/apache_runtime_status
rm -rf /var/run/apache.status
rm -rf /var/run/apache.scoreboard
rm -rf /etc/apache
if [ -e /var/www ]
then
echo Website at /var/www has NOT been deleted.
fi
fi
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
# Automatically added by dh_installinit
if [ "$1" = "purge" ] ; then
update-rc.d apache remove >/dev/null
fi
# End automatically added section
--
Geoff Crompton
Debian System Administrator
Strategic Data
+61 3 9340 9000
Reply to: