AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / ubuntu / Perguntas / 19320
Accepted
NES
NES
Asked: 2010-12-30 13:03:32 +0800 CST2010-12-30 13:03:32 +0800 CST 2010-12-30 13:03:32 +0800 CST

Como habilitar ou desabilitar serviços?

  • 772

Eu li sobre como habilitar e desabilitar serviços no Ubuntu e parece que existem diferentes possibilidades de gerenciá-los.

O primeiro método que encontrei é update-rc.dadicionar novos serviços à inicialização, que visa a /etc/init.dpasta e seu conteúdo.

A outra que encontrei é para editar .confarquivos na /etc/initpasta.

Qual é a maneira recomendada de habilitar/desabilitar/adicionar serviços e por quê?

Você poderia dar um pequeno exemplo passo a passo à prova de balas sobre como adicionar um serviço no Ubuntu e habilitá-lo e desativá-lo?

upstart services
  • 9 9 respostas
  • 1379814 Views

9 respostas

  • Voted
  1. Best Answer
    Luis Alvarado
    2010-12-30T13:26:59+08:002010-12-30T13:26:59+08:00

    Existem serviços que podem ser ativados/desativados usando a GUI (como o startupaplicativo) ou o terminal.

    Para o Terminal você tem várias opções. Primeiro, abra um terminal (digite "terminal" no traço, por exemplo, e abra-o). Então:

    Serviços de ativação/desativação temporária

    Para parar e iniciar os serviços temporariamente (não os habilita/desabilita para inicialização futura), você pode digitar service SERVICE_NAME [action]. Por exemplo:

    • sudo service apache2 stop: PARARÁ o serviço Apache até a reinicialização ou até você iniciá-lo novamente.
    • sudo service apache2 start: IRÁ INICIAR o serviço Apache assumindo que foi parado antes.
    • service apache2 status: informará o STATUS do serviço, se estiver ativado/em execução ou desativado/NÃO em execução.
    • sudo service apache2 restart: Irá REINICIAR o serviço. Isso é mais comumente usado quando você mudou, um arquivo de configuração. Nesse caso, se você alterou uma configuração do PHP ou uma configuração do Apache. Reiniciar evitará que você precise parar/iniciar com 2 linhas de comando
    • service apache2: Neste caso, como você não mencionou a AÇÃO a ser executada para o serviço, ele mostrará todas as opções disponíveis para esse serviço específico. Este aspecto varia de acordo com o serviço, por exemplo, com MySQL só mencionaria que está faltando um parâmetro. Para outros serviços, como serviço de rede, mencionaria a pequena lista de todas as opções disponíveis.

    Systemd

    A partir do Ubuntu 15.04, o Upstart será preterido em favor do Systemd. Com o Systemd para gerenciar os serviços podemos fazer o seguinte (através do systemctl action SERVICEpadrão):

    • sudo systemctl start SERVICE: Use-o para iniciar um serviço. Não persiste após a reinicialização
    • sudo systemctl stop SERVICE: Use-o para interromper um serviço. Não persiste após a reinicialização
    • sudo systemctl restart SERVICE: Use-o para reiniciar um serviço
    • sudo systemctl reload SERVICE: Se o serviço suportar, ele recarregará os arquivos de configuração relacionados a ele sem interromper nenhum processo que esteja usando o serviço.
    • systemctl status SERVICE: Mostra o status de um serviço. Informa se um serviço está em execução no momento.
    • sudo systemctl enable SERVICE: Ativa o serviço, na próxima reinicialização ou no próximo evento de inicialização. Ele persiste após a reinicialização.
    • sudo systemctl disable SERVICE: Desativa o serviço na próxima reinicialização ou no próximo evento de parada. Ele persiste após a reinicialização.
    • systemctl is-enabled SERVICE: Verifique se um serviço está configurado para iniciar ou não na próxima reinicialização.
    • systemctl is-active SERVICE: Verifique se um serviço está ativo no momento.
    • systemctl show SERVICE: Mostra todas as informações sobre o serviço.
    • sudo systemctl mask SERVICE: Desabilite completamente um serviço vinculando-o a /dev/null; você não pode iniciar o serviço manualmente ou habilitá-lo.
    • sudo systemctl unmask SERVICE: remove o link /dev/nulle restaura a capacidade de habilitar e/ou iniciar manualmente o serviço.

    Upstart (obsoleto desde 15.04)

    Se quisermos usar a maneira oficial do Upstart (observe que, no momento, nem todos os serviços foram convertidos para o Upstart), podemos usar os seguintes comandos:

    status SERVICE- Isso nos dirá se um serviço convertido está sendo executado ou não. Observe que isso está obsoleto em favor de start, stop, status& restart. Ele também nos informará se um serviço ainda não foi convertido para upstart:

    Um serviço convertido normalmente geraria o status atual (Iniciando, Em Execução, Parando...) e a ID do processo. Um serviço não convertido geraria um erro sobre um trabalho desconhecido .

    Alguns atalhos podem funcionar apenas com o servicecomando acima, mas não com os comandos abaixo, a menos que sejam 100% convertidos em serviços de inicialização:

    • sudo start mysql: Começar
    • sudo stop mysql: Parar
    • sudo restart mysql: Reiniciar
    • sudo status smbd: Status

    Habilitando/Desabilitando um serviço

    Para alternar um serviço de iniciar ou parar permanentemente, você precisaria:

    echo manual | sudo tee /etc/init/SERVICE.override
    

    onde a estrofe manualimpedirá que o Upstart carregue automaticamente o serviço na próxima inicialização. Qualquer serviço com o .overridefinal terá precedência sobre o arquivo de serviço original. Você só poderá iniciar o serviço manualmente depois. Se você não quiser isso, basta excluir o arquivo .override. Por exemplo:

    echo manual | sudo tee /etc/init/mysql.override
    

    Colocará o serviço MySQL em manualmodo. Se você não quiser isso, depois você pode simplesmente fazer

    sudo rm /etc/init/mysql.override
    

    e reinicie para que o serviço seja iniciado automaticamente novamente. Claro que para habilitar um serviço, a forma mais comum é instalando-o. Se você instalar Apache, Nginx, MySQL ou outros, eles serão iniciados automaticamente ao concluir a instalação e serão iniciados toda vez que o computador for inicializado. A desativação, como mencionado acima, fará uso do serviço manual.

    • 961
  2. SpamapS
    2011-01-07T10:25:27+08:002011-01-07T10:25:27+08:00

    Atualmente, existem três maneiras diferentes para o software ser iniciado como um serviço no Ubuntu, SysV , Upstart e systemd . Um serviço é definido aqui como um programa executado pelo sistema em segundo plano, em oposição a um iniciado e executado diretamente pelo usuário.

    SysV

    A maneira tradicional de iniciar serviços no Linux era colocar um script em /etc/init.d, e então usar o update-rc.dcomando (ou em distribuições baseadas em RedHat, chkconfig) para habilitá-lo ou desabilitá-lo.

    Este comando usa alguma lógica um pouco complicada para criar links simbólicos em /etc/rc#.d, que controlam a ordem de inicialização dos serviços. Se você executar ls /etc/rc2.d, poderá ver a ordem em que os serviços serão encerrados com um nome de arquivo como K##xxxxe iniciados com nomes de arquivo S##xxxx. O ##in S##xxxxsignifica uma "ordem inicial" para o serviço xxxx. Por outro lado, o ##in K##xxxxsignifica a ordem de eliminação para o serviço xxxx.

    Um grande problema com o SysV era que ao inicializar o sistema, tudo tinha que ser feito em série, uma coisa após a outra, tornando os tempos de inicialização do sistema muito lentos . Tentativas foram feitas para paralelizar isso, mas foram casuais e difíceis de aproveitar ao máximo. Esta foi a principal razão pela qual o Upstart foi criado.

    Subir na vida

    Upstart usa arquivos de definição de tarefa /etc/initpara definir em quais eventos um serviço deve ser iniciado. Assim, enquanto o sistema está inicializando, o upstart processa vários eventos e pode iniciar vários serviços em paralelo. Isso permite que eles utilizem totalmente os recursos do sistema, por exemplo, iniciando um serviço vinculado ao disco enquanto outro serviço vinculado à CPU é executado ou enquanto a rede aguarda a atribuição de um endereço IP dinâmico.

    Você pode ver todos os arquivos de trabalho upstart executandols /etc/init/*.conf

    Deixe-me parar por aqui e dizer que se você não sabe o que é um serviço, ou o que ele faz, NÃO o desative!

    Nem todos os serviços foram convertidos para upstart. Enquanto trabalhava na equipe de servidores da Canonical nos últimos meses, trabalhei em vários arquivos de trabalho convertidos, e a parte mais legal é que ele permite que alguém se livre de toda a "mágica" do script e apenas coloque um alguns comandos aqui e ali para definir exatamente como iniciar o serviço, e nada mais. Mas, por enquanto, apenas alguns serviços de rede tradicionais, como squid e samba , foram convertidos.

    Um serviço é baseado em upstart?

    Para descobrir se um serviço é baseado em upstart, você pode executar o comando status:

    status servicename
    

    Se for um trabalho iniciante , ele mostrará isso:

    $ status statd
    statd start/running, process 942
    

    Mas se não for, você verá algo mais parecido com isto:

    $ status apache2
    status: Unknown job: apache2
    

    Nesse caso, apache2não foi convertido para upstart . Então, para desabilitar apache2, basta executar

    sudo update-rc.d apache2 disable
    sudo service apache2 stop
    

    Desabilitar serviços (jobs) no upstart

    As definições de tarefa upstart não possuem um update-rc.dcomando. Para desabilitar o trabalho, você precisa editar o arquivo de trabalho diretamente para desabilitá-lo. Existem duas maneiras de fazer isso.

    Se você ainda quiser iniciá-lo manualmente, precisará comentar a start oncondição. Digamos que você queira instalar o samba , mas não que ele inicie automaticamente. Aqui está o arquivo de trabalho (em natty):

    description "SMB/CIFS File Server"
    author      "Steve Langasek <[email protected]>"
    
    start on local-filesystems
    stop on runlevel [!2345]
    
    respawn
    
    pre-start script
        RUN_MODE="daemons"
    
        [ -r /etc/default/samba ] && . /etc/default/samba
    
        [ "$RUN_MODE" = inetd ] && { stop; exit 0; }
    
        install -o root -g root -m 755 -d /var/run/samba
    end script
    
    exec smbd -F
    

    Para desabilitar o samba , você pode simplesmente colocar um #na frente do " start on local-filesystems". Observe que, embora não seja inicializado na inicialização, você ainda precisa pará-lo desta vez com

    sudo service smbd stop
    

    Se, no entanto, você nunca quiser que o samba inicie, sugiro remover o pacote. Se, no entanto, você deseja que ele seja instalado, mas não inicializável, você também pode fazer:

    mv /etc/init/smbd.conf /etc/init/smbd.conf.disabled
    

    Desabilitar um serviço usando a estrofe start/stop (a partir de 11.04)

    A partir da versão do upstart que estará na 11.04, existe uma nova palavra-chave que desabilita as estrofes start one : . Portanto, outra maneira de desativar o serviço a partir de 11.04 é fazer:stop onmanual

    echo 'manual' | sudo tee /etc/init/mysql.override
    
    # command from root shell
    echo manual >> /etc/init/mysql.override
    

    Você pode criar um overridearquivo para desabilitar um serviço sem editar a definição do trabalho, apenas colocando a manualpalavra-chave nele.

    • 370
  3. atenz
    2012-06-29T10:00:04+08:002012-06-29T10:00:04+08:00

    sysv-rc-conf

    Tente usar sysv-rc-conf

    sudo apt-get install sysv-rc-conf
    

    e para começar a gerenciar os serviços, execute

    sudo sysv-rc-conf
    

    Que abrirá uma janela interativa como esta

    insira a descrição da imagem aqui

    Você pode navegar ainda mais pelas páginas usando Ctrl+npara a próxima página e Ctrl+ppara a página anterior. Você pode habilitar e desabilitar serviços selecionando os SPACEníveis de execução desejados.

    Jobs-Admin

    Outra alternativa seria Jobs-Admin instalando através

    sudo apt-get install jobs-admin
    

    Que também fornece GUI como esta

    pré-visualização de jobs-admin

    Para mostrar mais trabalhos, você deve marcar Mostrar Trabalhos Protegidos em seu menu.

    chkconfig

    E a terceira opção seria chkconfig ,

    sudo apt-get install chkconfig
    

    It can be used via CLI chkconfig, showing list of On/Off jobs. Also we can view system services using chkconfig –list

    Services can be turned on using

    chkconfig <service> on
    

    Services can be turned off using

    chkconfig <service> off
    

    And we can even add our own service, using a proper init script with proper headings.

    chkconfig --add <service>
    

    update-rc.d

    And another option can be referred here update-rc.d , explained briefly here.

    Note that for Ubuntu Server 12.04, update-rc.d is used instead of chkconfig.

    • 133
  4. j-g-faustus
    2011-01-07T10:44:50+08:002011-01-07T10:44:50+08:00

    Para aqueles de nós que executam o Ubuntu sobre ssh, acho que a melhor opção é rcconf- um programa baseado em texto:

    sudo apt-get install rcconf
    sudo rcconf
    

    texto alternativo

    Navegue com as teclas tab e seta, pressione a barra de espaço para ativar/desativar. As alterações são persistentes nas reinicializações.

    Captura de tela emprestada deste blogpost , que também mostra sysv-rc-conf- uma ferramenta semelhante que também permite definir o nível de execução. (Para aqueles que se importam o suficiente com os níveis de execução para desejar alterá-los :)

    Infelizmente, o rcconf não funciona com o upstart (serviços listados em /etc/init/*), apenas com o mecanismo tradicional ( ls -l /etc/init.d/*- aqueles que não são links simbólicos).

    Felizmente, muitos dos serviços que são relevantes ao fazer ssh em um servidor (Apache, Tomcat, mdadm, boinc-client...) ainda não foram movidos para upstart.

    • 50
  5. Postadelmaga
    2012-05-22T02:27:04+08:002012-05-22T02:27:04+08:00

    Descobri que até biônico existe essa ferramenta GUI, algo como BUM mas compatível com Upstart: Jobs-Admin

    sudo apt-get install jobs-admin
    
    • 19
  6. Izzy
    2012-07-01T12:27:58+08:002012-07-01T12:27:58+08:00

    Editing the existing upstart configuration file (as described above) is not such a good idea. An updated package could provide an updated config, and you'd had to repeat your changes over and over.

    By taking a look at man 5 init one will find a more appropriate solution: using an override config. Short example: Say we have a service called "foobar", so there would be a file called /etc/init/foobar.conf with its upstart configuration. Now you don't want to remove that file, nor to modify it -- but neither you want this service to run? So place an override file next to it: /etc/init/foobar.override, containing (optionally the header with the description and) instead the start on / stop on lines you place a line with one word: manual. This way you tell upstart to basically use the foobar.conf, but override the startup definition to only start that service when manually enforced (via service foobar start in our example).

    • 13
  7. Sadi
    2014-05-21T06:47:33+08:002014-05-21T06:47:33+08:00

    There is also the Boot-Up Manager.

    To install: sudo apt-get install bum

    Mais informações: http://www.marzocca.net/linux/bum.html

    insira a descrição da imagem aqui

    • 9
  8. milegrin
    2020-05-22T03:24:04+08:002020-05-22T03:24:04+08:00

    O método mais simples para mim, pois uso apenas o CLI, é update-rc.d.

    Para habilitar ou desabilitar a inicialização automática na reinicialização, etc:

    sudo update-rc.d <daemon|service> <enable|disable>
    

    Exemplo:

    update-rc.d spamassassin enable
    

    Para parar ou iniciar um daemon ou verificar seu status:

    sudo service <daemon|service> <start|stop|restart|reload|force-reload|status>
    

    Exemplo:

    sudo service spamassassin status
      spamassassin.service - Perl-based spam filter using text analysis
       Loaded: loaded (/lib/systemd/system/spamassassin.service; disabled; vendor preset: enabled)
       Active: active (running) since Thu 2020-05-21 13:04:10 SAST; 4s ago
      Process: 1928 ExecStart=/usr/sbin/spamd -d --pidfile=/var/run/spamd.pid $OPTIONS (code=exited, status=0/SUCCES
     Main PID: 1949 (spamd)
        Tasks: 3 (limit: 2361)
       CGroup: /system.slice/spamassassin.service
               ├─1949 /usr/bin/perl -T -w /usr/sbin/spamd -d --pidfile=/var/run/spamd.pid --create-prefs --max-child
               ├─1951 spamd child
               └─1952 spamd child`  etc  etc
    

    update-rc.dpode fazer um pouco mais do que o básico mostrado acima:

    usage: update-rc.d [-f] <basename> remove
           update-rc.d [-f] <basename> defaults
           update-rc.d [-f] <basename> defaults-disabled
           update-rc.d <basename> disable|enable [S|2|3|4|5]
            -f: force
    

    Como sempre; você pode consultar a página de manual .

    • 6
  9. HDK Bouma
    2019-01-08T23:36:43+08:002019-01-08T23:36:43+08:00

    Eu uso Stacer :

    Stacer é um otimizador de sistema de código aberto e monitor de aplicativos que ajuda os usuários a gerenciar todo o sistema com diferentes aspectos, é um utilitário de sistema completo.

    Ele mostra serviços e processos também. Uma caixa de ferramentas completa do sistema GUI.

    • 2

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como adicionar um diretório ao PATH?

    • 17 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Marko Smith

    Como faço para obter a temperatura da CPU?

    • 21 respostas
  • Marko Smith

    Como posso adicionar um usuário como um novo sudoer usando a linha de comando?

    • 7 respostas
  • Marko Smith

    Alterar permissões e propriedade da pasta

    • 9 respostas
  • Marko Smith

    Como você reinicia o Apache?

    • 13 respostas
  • Marko Smith

    Como posso desinstalar o software?

    • 11 respostas
  • Marko Smith

    Como os PPAs podem ser removidos?

    • 26 respostas
  • Martin Hope
    justingrif Como adicionar um diretório ao PATH? 2009-07-23 12:42:23 +0800 CST
  • Martin Hope
    NES Como habilitar ou desabilitar serviços? 2010-12-30 13:03:32 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    Olivier Lalonde Como manter os processos em execução após encerrar a sessão ssh? 2010-10-22 04:09:13 +0800 CST
  • Martin Hope
    David B Como posso adicionar um usuário como um novo sudoer usando a linha de comando? 2010-10-16 04:02:45 +0800 CST
  • Martin Hope
    Hans Como removo versões antigas do kernel para limpar o menu de inicialização? 2010-08-21 19:37:01 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve