Se você estiver trabalhando como root e isso acontecer, pode haver atributos estendidos definidos no arquivo. Dê uma olhada na saída de
lsattr /old/rc.d/init.d/functions
se você obtiver uma saída contendo um i
----i-------- /old/rc.d/init.d/functions
o arquivo é imutável e não pode ser excluído. Para remover o i
chattr -i /old/rc.d/init.d/functions