Reconstruindo /etc/rc?.d/ links

2

Uma checagem regular do sistema de arquivos em um sistema Debian Lenny acionou um fsck, e isso nublou vários links na hierarquia /etc/rc?.d (infelizmente eu não mantive uma lista).

O sistema parece inicializar e rodar normalmente, mas estou preocupado com o fato de ele estar armazenando problemas para o futuro.

Existe uma maneira fácil (bastante automática) de reconstruir essa parte do sistema? Pelo que entendi, os links são geralmente manipulados pelo pacote postinst scripts usando update-rc.d (e eu não fiz nenhuma alteração dos padrões instalados).

Sem ideias melhores, meu plano é um dos seguintes:

  • Divida uma listagem com outro sistema semelhante para identificar quais pacotes precisam de reparos em seus links.
  • Espere até que o sistema seja atualizado para o Squeeze (esperamos que não seja muito longo: ^) e assuma que a atualização do pacote em massa restaurará todos os links ausentes.
por timday 18.04.2010 / 11:26

1 resposta

2

Se você não tiver backups, você pode tentar instalar rcconf e ver se ele irá recriar os links. Mas, na realidade, todos os arquivos init do Debian teriam as seguintes informações no topo de cada script:

### BEGIN INIT INFO
# Provides:          inetd
# Required-Start:    $local_fs $remote_fs
# Required-Stop:     $local_fs $remote_fs
# Should-Start:      $syslog
# Should-Stop:       $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start or stop the xinetd daemon.
### END INIT INFO

Com base apenas nesta informação, você pode parcialmente restaurar tudo com alguns scripts básicos de shell.

# Default-Start: 2 3 4 5 informa que os links simbólicos iniciais para este script de inicialização devem entrar em /etc/init{2,3,4,5}.d/S<XX>blah .

# Default-Stop: 0 1 6 significa que os links de fechamento estão em /etc/init{0,1,6}.d/K<XX>blah .

O problema aqui é a parte <XX> . Esta é a ordem que seus processos iniciam e param, portanto, se você não souber o pedido, poderá acabar com um boot pendente. Por exemplo, quando você está tentando iniciar o NFS antes do funcionamento em rede.

    
por 18.04.2010 / 19:07