Removendo scripts init não utilizados

5

No meu servidor Debian, eu não tenho compartilhamentos de rede (NFS, SMB, ...). Eu estou tentando otimizar e simplificar meu processo de inicialização. Há algum problema em remover os seguintes scripts de inicialização?

/etc/rcS.d/S12mountnfs.sh
/etc/rcS.d/S13mountnfs-bootclean.sh

AFAICT, estes são necessários apenas quando o NFS deve ser montado. No entanto, não tenho certeza de qual finalidade o script mountnfs-bootclean.sh possui.

De qualquer forma, é seguro remover esses dois scripts, por exemplo:

chkconfig mountnfs-bootclean.sh off
chkconfig mountnfs.sh off
    
por Martin Vegter 24.04.2014 / 23:33

5 respostas

5

Você não otimizará nada realmente removendo esses scripts. O tempo que eles levam é insignificante.

Os scripts *-bootclean.sh limpam arquivos que devem ou não sobreviver a uma reinicialização: arquivos em /var/run , /var/lock , /tmp , etc. No Debian com SysVinit, existem três scripts:

  • checkroot-bootclean.sh é executado logo após o sistema de arquivos raiz ser montado (o que pode remover arquivos espúrios criados em diretórios que logo se tornarão pontos de montagem, como /run e potencialmente /tmp )
  • mountall-bootclean.sh é executado após os sistemas de arquivos locais terem sido montados (incluindo, por exemplo, um sistema de arquivos local separado /tmp ou /var - ou tmpfs, mas não há nada para limpar neles)
  • mountnfs-bootclean.sh é executado após os sistemas de arquivos remotos terem sido montados (incluindo, por exemplo, /var over NFS).

Desativar mountnfs.sh e mountnfs-bootclean.sh não prejudicará seu sistema. No entanto, para determinar isso, você precisa estudá-los com cuidado. Além disso, isso só se aplica sob a suposição de que você nunca colocará um sistema de arquivos NFS em seu fstab. Se você sabe que isso é verdade, então eu gostaria muito que você me imbuísse com suas habilidades de adivinhação. Se você simplesmente acredita que isso é verdade, então você precisa levar em conta o risco de que sua crença seja infundada em algum ponto.

Cada padrão que você altera na distribuição torna seu sistema diferente, portanto parte da documentação não se aplica mais, os testes que outras pessoas realizaram podem não se aplicar, o suporte que você pode obter pode ser invalidado, etc. para uma configuração padrão é inerentemente uma complicação adicional e, portanto, só deve ser executada se houver um benefício real a ser derivado dela. Sua afirmação de que a remoção desses scripts simplificará o processo de inicialização é falso, porque você não levou isso em conta.

    
por 25.04.2014 / 02:05
6

Eu nunca removeria completamente o script init.d ..... O que eu faria é desinstalar o pacote que você não precisa mais. O arquivo init.d deve ser removido como resultado da remoção do pacote.

A remoção de pacotes atende à sua necessidade de simplificação e, possivelmente, à remoção de algum espaço em disco necessário.

    
por 25.04.2014 / 00:47
4

Não vejo nenhum ganho de desempenho ao remover esses initscripts. A função do_wait_async_mount() analisa o fstab e, se não encontrar o sistema de arquivos nfs, simplesmente não faz nada. A execução do script leva menos de metade do segundo no meu sistema, que também não possui nenhuma montagem NFS:

➜  ~  sudo time /etc/init.d/mountnfs-bootclean.sh start 
0.00user 0.00system 0:00.11elapsed 0%CPU (0avgtext+0avgdata 1400maxresident)k
24inputs+0outputs (0major+1857minor)pagefaults 0swaps
➜  ~  sudo time /etc/init.d/mountnfs.sh start 
0.00user 0.00system 0:00.07elapsed 10%CPU (0avgtext+0avgdata 1400maxresident)k
0inputs+0outputs (0major+1866minor)pagefaults 0swaps

Você pode removê-los, mas o ganho de desempenho não vale o esforço.

    
por 24.04.2014 / 23:46
2

O backup é simples - e deve ser feito de qualquer maneira. Restaurar é um assunto simples. Seus riscos são quase nulos, mas o que você tem a ganhar - mesmo em caso de falha - é conhecimento experiencial. Eu digo, vá em frente. Eu digo remover todos os scripts até que a máquina se recuse a arrancar. Vou dar mais um passo e dizer que não me responsabilizo pelo resultado, mas, seriamente, o pior que pode acontecer é que você aprenda alguma coisa.

    
por 25.04.2014 / 01:57
0

Para resolver a questão da simplicidade:

  • A remoção de scripts que foram criados por uma distro mínima ou instalação de pacote geralmente é uma má ideia - você não sabe quais processos podem depender deles.
  • Remover o pacote que criou os arquivos pode ser perfeitamente sensato. Para descobrir:

    yum provides /etc/rcS.d/S12mountnfs.sh /etc/rcS.d/S13mountnfs-bootclean.sh
    
  • Se você não consegue alcançar a simplicidade desejada com o Debian, ou quer aprender mais sobre como o processo de inicialização funciona, você pode tentar uma distribuição de barebones como Arch .
por 25.04.2014 / 10:49