bootloader

Upstart - Como é melhor ou pior do que os outros?

Upstart - Como é melhor ou pior do que os outros?
Quando o Upstart foi concebido pela Canonical, o sistema predominante ainda era o sysvinit, que iniciava tudo em sequência e mais ou menos parava depois disso. Certificou-se de que o sistema fechava normalmente também. Isso tornou necessário ter outras soluções para dispositivos hot-plugging, como pen drives e similares. A ideia principal dos designers era torná-lo orientado a eventos, o que facilitou o manuseio dos eventos de hot-plugging mencionados. O Upstart também pode executar scripts sysvinit não modificados, para que você possa migrar para o Upstart com apenas uma instalação. Este projeto está em modo de manutenção apenas, então use esta postagem como uma peça interessante. Você pode encontrar este sistema em sistemas antigos atualizados.

Como o Upstart difere?

Upstart tem um modelo de iniciar qualquer trabalho disponível quando o evento acontecer. Compare isso com o systemd, que inicia processos que têm todos os outros sistemas em execução. A principal diferença é que o Upstart está esperando por eventos e o systemd está coordenando as dependências. Ambos os sistemas podem executar scripts regulares e ambos tentam iniciar em paralelo. Como as diferenças são tão pequenas, os scripts Upstart geralmente podem ser chamados apenas com um arquivo de serviço systemd. Eles também podem executar arquivos systemV inalterados. Na verdade, ambos procuram por uma estrutura de arquivo systemV antiga por padrão. A grande diferença é que o Upstart procura eventos definidos para iniciar qualquer coisa. Então, se você deseja adicionar seu próprio serviço, você precisa descobrir em que contexto você precisa de seu serviço. Normalmente, isso é fácil, pois você vai querer algo que rode, por exemplo, em sua área de trabalho. A área de trabalho começa com o nível de execução do evento 5, então você define isso em seu script. Para o systemd, em contraste, este é o alvo gráfico. No upstart, você também tem outros eventos que pode usar, como montagem, montagem e solicitação de teclado. Eles são tratados com o systemd por meio de soquetes e dbus.

Como você migra scripts?

Você tem todos os scripts Upstart em / etc / init, seus nomes são nomes de trabalho com uma extensão 'conf'. Os scripts não são executáveis, eles apenas apontam para um ou mais executáveis ​​que devem ser executados. Em qualquer script Upstart, você definiu em qual evento o script deve iniciar e quando deve parar. Você também deve ter entradas pré-início e pós-parada. Eles irão preparar o ambiente e limpar após a execução. Um exemplo de script está abaixo

descrição "Um script simples"
começar no nível de execução [2345]
parar no nível de execução [06]
reaparecimento
env SCRIPT_ENV_VAR = '/ caminho / para / arquivo.config '
chdir / caminho / para / script /
script exec bash.sh

A instrução 'exec' diz o que acontecerá quando você iniciá-lo manualmente. As diretivas start e stop definem quando o script iniciará automaticamente. Como você pode ver, você também pode definir o diretório em que ele será executado. Existem muitos outros aspectos do Upstart, mas você deve aprender como migrar para fora.

Para que este script funcione no systemd, você precisa criar um arquivo de serviço.

Unidade]
Descrição = Um script simples
[Serviço]
Ambiente = SCRIPT_ENV_VAR = / caminho / para / arquivo.config
WorkingDirectory = / caminho / para / script
ExecStart = script / usr / bin / bash.sh
Reiniciar = sempre
[Instalar]
WantedBy = multiusuário.alvo

Aqui você pode ver que as mesmas coisas acontecem, mas com outras palavras-chave. O formato é simples e direto ao ponto. Em vez de níveis de execução, você aponta para qual destino deseja que seu script. Isso destaca que o systemd é totalmente sobre dependência e coisas iniciais para o ambiente específico. Observe também que o ExecStart aponta para um caminho global, ele nunca usa um caminho local.

Onde isso se destaca??

Upstart foi projetado para comportamento paralelo, mas também foi projetado para ser pequeno. Se você encontrar isso em qualquer lugar, ainda será em sistemas embarcados e ChromeOS. Sim, o ChromeOS tinha. A razão é que ele foi construído no topo do Ubuntu desde o início, na época em que o Ubuntu teve o upstart como o sistema inicial padrão. O ChromeOS, desde então, passou a usar o Gentoo como base.

Conclusão

Upstart é um tópico interessante, mas principalmente histórico. Você pode precisar dele apenas se você executar em sistemas antigos. A alternativa mais comum no Linux agora é o systemd. Se você tem reservas em relação ao systemd, deve procurar outros sistemas mínimos. Um interessante é o sem sucção, sinit. Ele suporta três sinais e você deve escrever todos os scripts para ele ou modificar os scripts de outra pessoa. Este pode ser um exercício interessante, mas só é útil se você estiver trabalhando em um sistema mínimo e especializado.

Adicione gestos do mouse ao Windows 10 usando essas ferramentas gratuitas
Nos últimos anos, os computadores e sistemas operacionais evoluíram muito. Houve um tempo em que os usuários tinham que usar comandos para navegar pel...
Controle e gerencie o movimento do mouse entre vários monitores no Windows 10
Gerenciador de mouse com tela dupla permite que você controle e configure o movimento do mouse entre vários monitores, diminuindo seus movimentos pert...
WinMouse permite que você personalize e melhore o movimento do ponteiro do mouse no PC com Windows
Se você quiser melhorar as funções padrão do ponteiro do mouse, use um freeware WinMouse. Ele adiciona mais recursos para ajudá-lo a obter o máximo do...