Como controlar os serviços de inicialização e os daemons do Linux

O Linux executa muitos aplicativos em segundo plano que talvez você nem perceba. Veja como assumir o controle deles.

O Linux executa muitos aplicativos em segundo plano que talvez você nem perceba.  Veja como assumir o controle deles.
Propaganda

Apenas inicializou, mas seu sistema ainda está se sentindo lento e lento? O Linux executa muitos aplicativos “em segundo plano” dos quais você pode nem estar ciente. Veja como assumir o controle deles.

Start-up do Linux

Todos nós sabemos o que fazer: você aperta o botão liga / desliga do computador, aguarda um pouco e depois volta para um login de boa aparência. Mas o que acontece durante esse tempo? Os usuários do Linux old-school se lembrarão das páginas (e páginas e PAGES) das mensagens de diagnóstico que rolariam por elas. Essas mensagens continham informações sobre drivers sendo carregados, sistemas de arquivos encontrados e processos diferentes sendo iniciados.

Vamos dar uma olhada rápida no que acontece entre "ligar" e "login na área de trabalho".

  1. Quando você liga o computador, o BIOS é carregado. Este é um software fornecido pelo fabricante do hardware (separado do sistema operacional) e contém configurações no dispositivo a partir do qual você deseja inicializar sua sessão.
  2. O BIOS, dependendo dessas configurações, passa o controle para um dos discos físicos do computador, especificamente para o seu bootloader . Embora o bootloader possa ser configurado para incluir dados de configuração, seu trabalho principal é passar o controle para um sistema operacional. Ele fornece uma interface Como alterar sua tela de inicialização no Linux Como alterar sua tela de inicialização no Linux Eu adoro ligar meu sistema Linux para ser saudado pela minha tela de inicialização impressionante antes de chegar ao meu desktop sem sequer ter tempo para um gole de café. Você não sente o ... Leia mais para selecionar dentre os sistemas operacionais se o seu computador tiver mais de um. O GRUB é o bootloader padrão para a maioria das distribuições Linux modernas.
  3. Quando um gerenciador de inicialização inicializa um sistema operacional Linux, o kernel (ou o núcleo do sistema operacional) é carregado. Isso vai ligar-se ao seu hardware e, em seguida, ele inicia um único processo que chamaremos de processo de inicialização .
  4. Este processo de inicialização é responsável por iniciar todos os outros processos no sistema. Isso inclui aplicativos de servidor (incluindo o processo do X Server no qual seu log-in de desktop bonito Como escolher e alternar gerentes de exibição Linux Como escolher e alternar gerentes de exibição do Linux Por que alguém substituiria um gerenciador de exibição? Bem, parcialmente porque poderia ser melhor para o seu PC, ou para melhorar a produtividade. A beleza do Linux é que você pode mudar os gerenciadores de exibição à vontade. O Read More aparecerá), os chamados daemons (programas que aguardam em segundo plano por eventos específicos, como o CUPS daemon de impressão) e outros (como o daemon do cron que executa programas em um agendamento).

É este último passo que nos preocupa. Ao definir configurações de ajuste, você pode controlar precisamente o que é iniciado por padrão.

Daemons vs. Serviços

Neste artigo, usaremos esses termos de maneira intercambiável. Existem diferenças técnicas entre os dois que estão além do escopo deste post. Mas, para o nosso propósito, aqui eles são os mesmos, pois podem ser controlados pelas ferramentas que analisaremos.

Por que mexer com essas configurações?

Por que você deveria se preocupar com nada disso? Não é melhor deixar apenas os padrões?

Saber como configurar o que começa quando as botas do seu computador podem fornecer alguns benefícios:

  • Em primeiro lugar, pode melhorar o desempenho. Lembre-se da época em que você instalou o Apache para experimentar esse novo aplicativo da web? Não? Bem, adivinhe, a menos que você tenha desinstalado o servidor web que está sendo executado em segundo plano, ocupando uma memória RAM preciosa. Ajustar as configurações de inicialização significa que você pode deixá-lo instalado, mas apenas iniciá-lo quando precisar. (Confira algumas outras dicas de aprimoramento de desempenho aqui Linux no Overdrive: Como obter cada gota de desempenho do seu sistema Linux no Overdrive: Como obter cada gota do desempenho do seu sistema Isso não é sobre fazer sua instalação do Linux ainda mais enxuta (embora faça diferença). Não, isso se resume a forçar seu hardware a acelerar.
  • Além disso, alguns desses programas podem causar problemas de segurança. O Linux é realmente tão seguro quanto você pensa que é? O Linux é realmente tão seguro quanto você pensa que é? O Linux é muitas vezes apontado como o sistema operacional mais seguro em que você pode colocar as mãos, mas esse é realmente o caso? Vamos dar uma olhada em diferentes aspectos da segurança do computador Linux. Consulte Mais informação . Por exemplo, o Apache mencionado acima estará aberto para entrar em contato com a porta 80 enquanto estiver em execução. Se houver um problema de segurança com o Apache, ter essa porta aberta para o mundo pode colocar seu sistema em risco. É melhor iniciar o servidor quando você precisar e desligá-lo assim que estiver pronto.

Processos iniciais de inicialização

Os sistemas Linux de hoje usam alguns sistemas de inicialização principais, descritos abaixo.

nisso

Há muito tempo o sistema de inicialização padrão, o init rastreia seu histórico de volta para os sistemas Unix originais nos quais o Linux foi baseado (seu nome próprio é SysVInit, desenhado a partir do System V Unix). O sistema init é baseado em uma coleção de scripts de inicialização, mantidos nos diretórios /etc/init.d ou /etc/rc.d, e no conceito de "runlevels". Por exemplo, distribuições orientadas a desktop iniciarão você no “nível de execução 5”, que é definido como “modo multiusuário com rede + gerenciador de exibição X”. É por isso que quando você inicia uma dessas distribuições, você imediatamente termina com uma área de trabalho gráfica baseada no sistema X. entrar.

Como controlar os serviços de inicialização do Linux e os arquivos de diretórios init Daemons

O sistema init adere à filosofia Unix, na medida em que faz uma coisa e faz bem. Um dos argumentos expressos pelos proponentes do sistema é que ele não tenta fazer muito, ao contrário de algumas das alternativas a seguir.

Upstart

O sistema Upstart foi a tentativa da Canonical de substituir o antigo sistema init . Ele fornece compatibilidade com o sistema init, mas também fornece recursos adicionais. O suporte para "eventos" permite que ele reaja a alterações no sistema, como a instalação de um novo hardware. Além disso, o Upstart pode trabalhar em conjunto com as configurações mais antigas do init, fornecendo suporte retroativo para pacotes e softwares mais antigos.

No entanto, uma vez que o Debian (a fonte upstream dos pacotes do Ubuntu) fez a mudança para o systemd, a Canonical decidiu fazer o mesmo. O lançamento do Ubuntu 15.04 (Vivid Vervet) Ubuntu 15.04: Vervet vívido valeu a espera, e você deve atualizar? Ubuntu 15.04: Vervet vívido valeu a espera, e você deve atualizar? Leia mais foi o primeiro a apresentar o novo sistema de inicialização por padrão.

systemd

Isso instigou uma das grandes guerras das chamas do nosso tempo: o software de código aberto e bifurcação: o bom, o grande e o feio Às vezes, o usuário final se beneficia muito dos garfos. Às vezes, o garfo é feito sob uma mortalha de raiva, ódio e animosidade. Vamos ver alguns exemplos. Consulte Mais informação . À luz das deficiências percebidas do init (que são destacadas aqui), o systemd (ou o daemon do sistema ) foi desenvolvido. Isso usa um sistema completamente novo com o objetivo de iniciar um serviço “quando todas as suas condições são atendidas”. No entanto, como o Upstart, ele ainda suporta os scripts do tipo init fornecidos por muitos pacotes, com algumas exceções notáveis.

Como controlar os diretórios do Linux Start-Up Services e Daemons systemd 670x313

Observe na imagem acima como os diretórios têm nomes como “this.thing. Isso demonstra o comportamento “sob demanda” do systemd - quando algo “quer” acesso ao bluetooth e as condições são atendidas, o systemd iniciará o serviço para ele.

Ferramentas para gerenciar daemons / serviços

Embora não seja difícil aprender como fazer isso a partir da linha de comando (confira o comando service para init / Upstart e sysctl para systemd ), abaixo estão alguns aplicativos auxiliares para administrar seus serviços. Embora você possa ter a necessidade de ajustar sua configuração, de modo geral, você desejará ativá- los ou configurá-los para serem executados automaticamente por padrão ou desativá- los. Observe que os serviços desabilitados ainda podem ser iniciados (e subseqüentemente interrompidos) sempre que você desejar.

init.d

Para muitos usuários, a ferramenta rcconf (em combinação com o serviço mencionado acima) fará tudo que você precisa. Uma interface de usuário de texto (TUI) lista todos os serviços disponíveis. Você pode usar as teclas de seta para mover para cima e para baixo na lista e a barra de espaço para alternar se o serviço deve iniciar (com um asterisco) ou não. Use a tecla Tab para se mover entre a lista e os botões OK / Cancelar e barra de espaço também para selecioná-los.

Instale-o no Ubuntu com o seguinte:

sudo apt-get install rcconf 

Como Controlar o Linux Start-Up Services e Daemons rcconf ui 670x337

A Red Hat desenvolveu o Service Configuration Tool, um aplicativo gráfico que também aparece por padrão em seus derivados, como o CentOS e o Fedora. Ele fornece uma lista semelhante ao rcconf acima e fornece uma lista semelhante com a capacidade de marcar e desmarcar serviços para configurá-los para serem executados por padrão ou não. Ele também fornece botões que permitem iniciar / parar / reiniciar esses serviços.

Como Controlar os Serviços de Inicialização do Linux e Daemons redhat serviceconf
Crédito de imagem: Red Hat e CentOS

systemd

Os desenvolvedores do KDE criaram um módulo para o aplicativo Configurações do Sistema para controlar os serviços do systemd . Localizado na categoria Administração do sistema, permite visualizar o estado, ativar / desativar e editar a configuração de serviços (ou “unidades”). Também contém um editor para os arquivos de configuração do systemd .

Como Controlar os Serviços Iniciais Linux e os Daemons kde kcm systemd 670x297

Instale-o no Ubuntu com o seguinte:

 sudo apt-get install kde-config-systemd 

O systemd-manager é um aplicativo baseado em GTK disponível em alguns repositórios (incluindo Fedora e Arch), enquanto os usuários do Ubuntu podem pegar um arquivo .DEB da página do GitHub. A interface do usuário é um pouco diferente, como está escrito no Rust, mas é fácil encontrar os controles para ativar / desativar e iniciar / parar os serviços, enquanto o grande painel central permite editar a configuração.

Depois de baixar o pacote, você pode instalá-lo com:

 sudo dpkg -i systemd-manager-download.deb 

Como Controlar o Linux Start-Up Services e Daemons systemd manager ui 670x500

Também para desktops baseados em GTK, a ferramenta systemadm fornece uma maneira de iniciar / parar / reiniciar serviços. Instale-o no Ubuntu com o seguinte:

 sudo apt-get install systemd-ui 

Como Controlar os Serviços de Inicialização Linux e Daemons systemdm ui 670x401

O futuro é systemd

Embora tenhamos igualmente destacado dois sistemas principais de gerenciamento de inicialização neste artigo, init e systemd, a maioria das distribuições mainstream está se movendo em direção a este último. Até mesmo a Canonical, que criou sua própria alternativa, viu a escrita na parede e incluiu o systemd por padrão.

Você tem uma preferência ou são apenas processos de fundo invisíveis para você? Tem alguma dica ou truque para gerenciar essas coisas? Deixe-nos saber nos comentários!

In this article