Trying to update some CentOS servers to in this case CentOS 7.4 i stumbled onto a problem there it was not possible to perform a update on chkconfig.
[root@moln.dalesjo.net ~]# yum update -y Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.zetup.net * epel: mirror.zetup.net * extras: mirror.zetup.net * updates: mirror.zetup.net Resolving Dependencies --> Running transaction check ---> Package chkconfig.x86_64 0:1.7.2-1.el7 will be updated ---> Package chkconfig.x86_64 0:1.7.4-1.el7 will be an update --> Finished Dependency Resolution Dependencies Resolved ==================================================================================================================================================================================================================================================== Package Arch Version Repository Size ==================================================================================================================================================================================================================================================== Updating: chkconfig x86_64 1.7.4-1.el7 base 181 k Transaction Summary ==================================================================================================================================================================================================================================================== Upgrade 1 Package Total download size: 181 k Downloading packages: Delta RPMs disabled because /usr/bin/applydeltarpm not installed. chkconfig-1.7.4-1.el7.x86_64.rpm | 181 kB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Updating : chkconfig-1.7.4-1.el7.x86_64 1/2 Error unpacking rpm package chkconfig-1.7.4-1.el7.x86_64 error: unpacking of archive failed on file /etc/init.d: cpio: rename chkconfig-1.7.2-1.el7.x86_64 was supposed to be removed but is not! Verifying : chkconfig-1.7.2-1.el7.x86_64 1/2 Verifying : chkconfig-1.7.4-1.el7.x86_64 2/2 Failed: chkconfig.x86_64 0:1.7.2-1.el7 chkconfig.x86_64 0:1.7.4-1.el7 Complete!
The problem occured because /etc/init.d was a directory instead of a softlink to /etc/rc.d/init.d/. To fix it, simply do
mv /etc/init.d/* /etc/rc.d/init.d/ rm /etc/init.d -r ln -s /etc/rc.d/init.d/ /etc/init.d