Como remover corretamente o mountnfs de /etc/init.d/

1

Limpando o processo de inicialização de uma instalação Debian squeeze rodando no kernel 3.2.0-0.bpo.3-amd64, vi vários scripts mountnfs em /etc/init.d/:

# ls /etc/init.d/ | grep mountnfs
mountnfs-bootclean.sh
mountnfs.sh
umountnfs.sh

A remoção falha, com comandos como:

# update-rc.d -f mountnfs remove
update-rc.d: using dependency based boot sequencing

Para " mountnfs ", eu também tentei: umountnfs, mountnfs-bootclean, nfs, nfs-common.

Atualização # 1 Também tentei sem sucesso: umountnfs.sh, mountnfs.sh.

O resultado é que o mountnfs-bootclean, mountnfs e unmountnfs.sh ainda estão em /etc/init.d/ e suas pastas de nível de execução correspondentes.

Apenas remover esses arquivos usando rm não parece o caminho certo. Eu acho que esses arquivos init.d pertencem a pacotes instalados. No entanto, não consigo encontrar nenhum pacote NFS instalado:

# dpkg --get-selections | grep nfs
libnfsidmap2                    install

Como remover corretamente todos os scripts mountNFS do init.d?

    
por Pro Backup 11.11.2012 / 20:58

1 resposta

2

Para verificar a qual pacote um arquivo pertence, use dpkg -S :

$ dpkg -S /etc/init.d/mountnfs.sh
initscripts: /etc/init.d/mountnfs.sh

mountnfs.sh pertence a um pacote essential chamado initscripts.

A menos que você os tenha escrito, você nunca deve remover scripts do /etc/init.d/. É por isso que o utilitário update-rc.d existe: para remover seus links simbólicos dos diretórios /etc/rc*.d / de uma forma mais fácil.

update-rc.d requer que você chame scripts pelos nomes deles e, devido às suas dependências, desativá-los nesta ordem deve funcionar:

update-rc.d mountnfs-bootclean.sh remove ### mountnfs-bootclean.sh first
update-rc.d mountnfs.sh remove
update-rc.d umountnfs.sh remove

No entanto, eu tentei isso no mês passado, e ele vai deixar você com um sistema quebrado (incapaz de iniciar o X, se me lembro bem). O problema é que mountnfs-bootclean.sh faz algumas limpezas do sistema necessárias, embora seu nome não implique, e isso depende de mountnfs.sh . Então você não pode desativar qualquer um.

Você pode considerar isso como um bug nos scripts init da Debian: você é forçado a ter o script init sem ter nenhum sistema de arquivos de rede. É chato, eu sei.

Se você insistir em removê-los e precisar reverter as alterações, terá que reativá-las na ordem inversa, porque mountnfs-bootclean.sh precisa de mountnfs.sh para ser ativado primeiro:

update-rc.d umountnfs.sh defaults
update-rc.d mountnfs.sh defaults
update-rc.d mountnfs-bootclean.sh defaults ### mountnfs-bootclean.sh last
    
por 11.11.2012 / 22:14