After I made a system upgrade (apt-get upgrade) on a debian box, I get an error everytime i tries to use apt-get. Example:
# apt-get -f install Reading package lists... Done Building dependency tree Reading state information... Done 0 upgraded, 0 newly installed, 0 to remove and 8 not upgraded. 1 not fully installed or removed. After this operation, 0 B of additional disk space will be used. Setting up initscripts (2.88dsf-41+deb7u1) ... insserv: Service killprocs has to be enabled to start service single insserv: exiting now! update-rc.d: error: insserv rejected the script header dpkg: error processing initscripts (--configure): subprocess installed post-installation script returned error exit status 1 Errors were encountered while processing: initscripts E: Sub-process /usr/bin/dpkg returned an error code (1)
I have tried to find a solution, but can’t find anything that looks like this. First of all I have this packet which is “not fully installed or removed”. But I can’t find the command to locate it. Have tried:
dpkg -l | grep rc
But it list about 20 packets, so there must be a better way to find this packet.
To fix the packet system I have tried normal procedures, like:
apt-get clean && sudo apt-get autoremove apt-get -f install dpkg --configure -a
The clean command is good, but the install command will fail with as shown above.
In a desperate try, I tried to reinstall insserv (not sure it’s the packet which is broken), but it fails the same way:
# apt-get install --reinstall insserv Reading package lists... Done Building dependency tree Reading state information... Done 0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 8 not upgraded. 1 not fully installed or removed. Need to get 63.8 kB of archives. After this operation, 0 B of additional disk space will be used. Get:1 http://ftp.us.debian.org/debian/ wheezy/main insserv armel 1.14.0-5 [63.8 kB] Fetched 63.8 kB in 0s (85.5 kB/s) Setting up initscripts (2.88dsf-41+deb7u1) ... insserv: Service killprocs has to be enabled to start service single insserv: exiting now! update-rc.d: error: insserv rejected the script header dpkg: error processing initscripts (--configure): subprocess installed post-installation script returned error exit status 1 Errors were encountered while processing: initscripts E: Sub-process /usr/bin/dpkg returned an error code (1)
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
/etc/rc1.d/S01killprocs -> ../init.d/killprocs is missing, obviously, it is in initscripts
but insserv requires it. chkrequired
Maybe you can install it manually extracting the .deb in some other directory and then copying it to the right place.
dpkg -x /var/cache/apt/archives/initscripts_2.88dsf-41_i386.deb /tmp/somedir
2.88dsf-41_i386 is my version, use yours 🙂
edit
if you get it working manually then re-install it as usual.
Method 2
I was able to fix this issue on ubuntu 16.04 by removing all cached .deb files from /var/cache/apt/archives then ran this command:
apt-get clean && sudo apt-get autoremove
I hope this fix problems for someone.
Method 3
The following command fixed my similar upgrading woes:
dpkg -i /var/cache/apt/archives/initscripts_2.88dsf-59.3ubuntu2_i386.deb
I was upgrading from Ubuntu 14.04 (!) to the next LTS with do-release-upgrade and was stuck with this error:
update-rc.d: error: insserv rejected the script header dpkg: error processing package util-linux (--configure): subprocess installed post-installation script returned error exit status 1 Errors were encountered while processing: util-linux
and dpkg-reconfigure util-linux gave me
/usr/sbin/dpkg-reconfigure: initscripts is broken or not fully installed
Even apt-get install –reinstall initscripts produced:
E: Internal Error, No file name for initscripts:i386
The dpkg (above) worked though, and allowed the upgrade to continue. Hope this helps someone.
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0