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 / 1089704
Accepted
Jesper.Lindberg
Jesper.Lindberg
Asked: 2018-11-04 03:38:58 +0800 CST2018-11-04 03:38:58 +0800 CST 2018-11-04 03:38:58 +0800 CST

Não é possível obter o serviço noip2 para iniciar na inicialização [duplicado]

  • 772
Esta pergunta já tem respostas aqui :
Como configuro o No-IP como um serviço adequado? (2 respostas)
Fechado há 3 anos .

Eu instalei ddns dinâmicos no-ip seguindo este guia: https://www.noip.com/support/knowledgebase/installing-the-linux-dynamic-update-client/

Eu faço o serviço rodar por

sudo /usr/local/bin/noip2

No entanto, quero que o serviço inicie na inicialização, tentei adicionar o seguinte script a /etc/init.d/noip2.sh

#######################################################
#! /bin/sh
# . /etc/rc.d/init.d/functions  # uncomment/modify for your killproc
case "$1" in
    start)
    echo "Starting noip2."
    /usr/local/bin/noip2
    ;;
    stop)
    echo -n "Shutting down noip2."
    killproc -TERM /usr/local/bin/noip2
    ;;
    *)
    echo "Usage: $0 {start|stop}"
    exit 1
esac
exit 0
#######################################################

Seguido por:

sudo chmod +x /etc/init.d/noip2.sh
sudo update-rc.d noip2.sh defaults

Agora devo ser capaz de iniciar o serviço com

sudo service noip2 start

Mas eu não sou. Quando executo journalctl -xerecebo o seguinte:

-- Unit noip2.service has begun starting up.
Nov 03 12:36:11 media systemd[3111]: noip2.service: Failed to execute command: Exec format error
Nov 03 12:36:11 media systemd[3111]: noip2.service: Failed at step EXEC spawning /etc/init.d/noip2.sh: Exec format error
-- Subject: Process /etc/init.d/noip2.sh could not be executed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- The process /etc/init.d/noip2.sh could not be executed and failed.
--
-- The error number returned by this process is 8.
Nov 03 12:36:11 media systemd[1]: noip2.service: Control process exited, code=exited status=203
Nov 03 12:36:11 media systemd[1]: noip2.service: Failed with result 'exit-code'.
Nov 03 12:36:11 media systemd[1]: Failed to start noip2.service.
-- Subject: Unit noip2.service has failed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support

Informações atualizadas para o usuário PerDuck: Recebo os seguintes erros ao tentar sua solução... :( Tentei adicionar

RestartSec=30

Pelo menos continua tentando agora, mas ainda não inicia. Ainda posso iniciá-lo com sudo /usr/local/bin/noip2

Os erros:

Nov 03 23:26:42 media systemd[1]: noip2.service: Service hold-off time over, scheduling restart.
Nov 03 23:26:42 media systemd[1]: noip2.service: Scheduled restart job, restart counter is at 5.
Nov 03 23:26:42 media systemd[1]: Stopped noip2 service.
Nov 03 23:26:42 media systemd[1]: noip2.service: Start request repeated too quickly.
Nov 03 23:26:42 media systemd[1]: noip2.service: Failed with result 'start-limit-hit'.
Nov 03 23:26:42 media systemd[1]: Failed to start noip2 service.
server startup dns
  • 1 1 respostas
  • 19972 Views

1 respostas

  • Voted
  1. Best Answer
    PerlDuck
    2018-11-04T11:08:51+08:002018-11-04T11:08:51+08:00

    Desde o Ubuntu 15.04, a maneira padrão de controlar processos em segundo plano (e muito, muito mais) é systemd. Sugiro mudar do seu init.dscript para uma systemd unidade :

    Crie o arquivo /etc/systemd/system/noip2.servicecom o seguinte conteúdo (e solte seus init.dscripts):

    [Unit]
    Description=noip2 service
    
    [Service]
    Type=forking
    ExecStart=/usr/local/bin/noip2
    Restart=always
    
    [Install]
    WantedBy=default.target
    

    Em seguida, emita

    sudo systemctl daemon-reload
    

    para systemdalertar sobre a nova unidade ( armazena em systemdcache os arquivos da unidade e este comando faz com que systemdreconsidere seu cache).

    Agora você pode tentar iniciar e parar sua unidade e ver seu status:

    sudo systemctl status noip2
    sudo systemctl start  noip2
    sudo systemctl status noip2
    sudo systemctl stop   noip2
    sudo systemctl status noip2
    

    Para que a unidade seja iniciada no momento da inicialização, você precisa ativá -la:

    sudo systemctl enable noip2
    

    Para desativar o início automático no momento da inicialização, você deve desativar a unidade:

    sudo systemctl disable noip2
    

    Na maioria das vezes, cinco comandos são suficientes para controlar o comportamento de uma unidade:

    systemctl start   $unit   # starts a unit NOW
    systemctl stop    $unit   # stops a unit NOW
    systemctl status  $unit   # shows status
    systemctl enable  $unit   # starts a unit at boot time (but not NOW)
    systemctl disable $unit   # stops autostart (but doesn't stop the unit NOW)
    

    Você também pode ativar o início automático e iniciar a unidade imediatamente ou desativar o início automático e pará-lo imediatamente:

    systemctl enable  --now $unit   # enable and start in one go
    systemctl disable --now $unit   # disable and stop in one go
    

    Atualizar

    Algumas pesquisas revelaram noip2que ele é executado como um daemon , ou seja, quando você o inicia, ele cria outro processo que é executado em segundo plano (chamado de bifurcação ) e o processo em primeiro plano imediatamente retorna (sai). É por isso que o script init.d e a unidade systemd falharam: eles começaram noip2apenas para vê-lo sair imediatamente. Portanto, o systemd tentou reiniciá-lo repetidamente sem sucesso. (Por padrão, o systemd reinicia um processo no máximo 5 vezes em 10 segundos ou mais antes de desistir e deixá-lo em estado de falha.)

    Para informar ao systemd que a unidade é do tipo bifurcação , adicione a linha

    Type=forking
    

    para a [Service]seção como acabei de fazer no trecho acima. Isso informa ao systemd para esperar que o processo principal retorne imediatamente, mas, em vez disso, observe o processo gerado (bifurcado) por noip2.

    • 22

relate perguntas

  • Como interagir graficamente com um servidor sem cabeça?

Sidebar

Stats

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

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +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