rc.local não funciona

Iniciado por sottam, 01 de Março de 2011, 12:03

tópico anterior - próximo tópico

sottam

boa tarde pessoal, não sei se esse é o lugar adequado para esta duvida mas vamos lá.....

dou suporte a algumas escolas onde tem um servido que é o Fedora e as estações que  são Ubuntu....

no servido tem uma pasta chamada ! deposito ! , onde os alunos e professores colocam seu trabalhos....

Bom, cada estação deveria montar automaticamente essa pasta, mas algumas não montão... todos estão devidamente atualizadas...

Tirei de uma máquina que está montando legal o deposito....a configuração do rc.local, que é está....

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

mount -t nfs 192.168.0.200:/deposito/ /mnt/deposito/

exit 0


coloquei a mesma linha de comando no rc.local do micro que não esta montando o deposito.....

reinicio o micro e nada.....

se coloco essa linha de comando no terminal ela monta tranquilo.....

mount -t nfs 192.168.0.200:/deposito/ /mnt/deposito/


alguem sabe como resolver esse pepino...???

não se tem haver, mas tipo assim... o rc.local sobe antes das configurações de rede... será que é isso???


linuser104

#1
algumas perguntas,

neste computador que não está dando certo em /mnt existe a pasta depósito?

Pergunto isso porque talvez o comando mount -t nfs 192.168.0.200:/deposito/ /mnt/deposito/ não esteja funcionando simplesmente porque não existe o /mnt/deposito que seria o local onde ele iria colocar os dados, então caso não exista tal pasta no referido local, crie a mesma antes de e veja se é suficiente para resolver o caso.

Você não poderia fazer essas montagens no arquivo fstab que fica em /etc que seria o local apropriado para isso?

Caso seja porque o rc.local carrega antes da rede, então coloque assim


Citar#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

sleep 5
mount -t nfs 192.168.0.200:/deposito/ /mnt/deposito/

exit 0

onde o que destaquei em negrito seria um comando de espera, antes de executar o próximo comando, que no caso do exemplo seria de 5 segundos. Você pode aumentar esse valor.
Linux = Quem realmente gosta de computador; Mac = Artista Digital; Windows = A maioria que votou no Tiririca [pior que tá não fica].

zekkerj

Provavelmente o rc.local está sendo executado antes do serviço de rede ser iniciado.

Tente criar um script de serviço em /etc/init.d, daí tem como amarrar a inicialização desse script ao momento em que o serviço de arquivos remotos esteja iniciado.

Pra isso, vc pode usar o script abaixo:

#!/bin/sh
#
# /etc/init.d/meu-servico
#
### BEGIN INIT INFO
# Provides:                     meu-servico
# Required-Start:               $local_fs $remote_fs $network smbd nmbd
# X-UnitedLinux-Should-Start:   $named $time samba
# Required-Stop:                $local_fs $remote_fs $network
# X-UnitedLinux-Should-Stop:
# Default-Start:                3 5
# Default-Stop:                 0 1 2 6
# Short-Description:            Inicia um servico que eu preciso
# Description:
### END INIT INFO

start()
{
# coloque aqui os comandos pra iniciar o seu serviço
}

stop()
{
# coloque aqui os comandos pra encerrar o seu serviço
}

case $1 in
start)
    start
    ;;
stop)
    stop
    ;;
restart)
    stop
    start
    ;;
*)
    echo "Use: service `basename $0` {start | stop | restart}
    exit 1
esac

Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D