route não está sendo executado em rc.local

0

Eu tentei adicionar route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0 ao meu arquivo Fedora rc.local , mas ele não está sendo executado quando o Fedora é inicializado. O que posso fazer para corrigir isso?

atualização: Eu mudei para o caminho completo cmd no meu rc.local / sbin / route add-net 224.0.0.0 netmask 240.0.0.0 dev eth0, mas não está sendo executado. Eu mudei para sudo / sbin / route add-net 224.0.0.0 netmask 240.0.0.0 dev eth0 ainda não funciona, embora funcione quando eu digitá-lo manualmente no terminal.

    
por user1265478 02.04.2012 / 12:08

3 respostas

1

Aqui está a configuração passo a passo:

Etapa 1

Em / etc crie link simbólico

lrwxrwxrwx   1 root     root         18 Jun 29 19:08 rc.local -> /etc/rc.d/rc.local

No arquivo /etc/rc.d create rc.local

#!/bin/bash
#!/bin/sh
/sbin/route add -net 192.xxx.xx.x netmask 255.255.255.0 gw 192.xxx.xx.xx

Faça o executável rc.local, seu arquivo rc.local deve se parecer com

-rwxr-xr-x    1 root root    93 Jul  4 18:30 rc.local

Etapa 2

cd /lib/systemd/system
ls -l rc-local.service

-rw-r--r-- 1 root root 565 Jul  6 20:18 rc-local.service

Edite o rc-local.service, o seu arquivo rc-local.service deve se parecer com:

[Unit]
Description=/etc/rc.local Compatibility
ConditionFileIsExecutable=/etc/rc.d/rc.local
After=network.target

[Service]
Type=forking
ExecStart=/etc/rc.d/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target
    
por 06.07.2012 / 17:30
0

Você deve adicionar o caminho completo ao comando de rota, /sbin/route add deve funcionar.

    
por 02.04.2012 / 13:19
0

Provavelmente, rc.local simplesmente não está sendo executado na inicialização. Você pode verificar isso executando systemctl status rc-local.service . Se não foi executado, você verá a saída assim:

rc-local.service - /etc/rc.d/rc.local Compatibility
          Loaded: loaded (/usr/lib/systemd/system/rc-local.service; static)
          Active: inactive (dead)
          CGroup: name=systemd:/system/rc-local.service

Se ele foi executado com sucesso na inicialização, você verá a saída assim:

rc-local.service - /etc/rc.d/rc.local Compatibility
          Loaded: loaded (/usr/lib/systemd/system/rc-local.service; static)
          Active: active (exited) since Sun, 01 Apr 2012 12:54:47 -0700; 1 day and 21h ago
        Main PID: 380 (code=exited, status=0/SUCCESS)
          CGroup: name=systemd:/system/rc-local.service

Se não estiver sendo executado, você provavelmente enfrentará uma armadilha comum. Tradicionalmente, os sistemas da Red Hat colocavam esse arquivo em /etc/rc.d/rc.local , com um link simbólico em /etc/rc.local para pessoas familiarizadas com os sistemas Debian. Versões recentes do Fedora não incluem o arquivo rc.local por padrão, para acelerar um pouco a inicialização, não tendo que executar bash no que é, na maioria dos sistemas, um arquivo vazio. systemd agora verifica se /etc/rc.d/rc.local existe e é executável e somente a executa se for.

Se você criou o arquivo em /etc/rc.local , precisará movê-lo ou vinculá-lo a /etc/rc.d/rc.local para que ele seja executado na inicialização. Você também deve verificar se é executável, ( chmod +x /etc/rc.d/rc.local ).

    
por 03.04.2012 / 19:04

Tags