Como faço para desmontar com segurança um compartilhamento de rede no Linux STB sem travar (recebo o GSOD)?

1

Eu tenho um compartilhamento de rede chamado dreambox em C: \ dreambox que é compartilhado com o grupo < strong> Todos no Windows. Eu o montei em / hdd em um STB baseado em Linux com OpenDreambox (OpenEmbedded) usando Telnet (PuTTY).

Eu fiz isso para permitir que o STB grave programas de TV no meu PC sem uma unidade de disco dedicada eSATA.

Eu agora quero desfazer isso, porque eu quero usar um PC diferente para isso e parar de usar este.

Este é o comando que usei depois de conectar à caixa através de telnet e login:

cd /
umount -t cifs

Este comando foi aceito. Mas eu ainda era capaz de pressionar o botão Registrar no controle remoto STB e obter o menu pop-up para gravação. Mas se eu escolhesse gravar o símbolo REC começaria a piscar na barra de informações, mas não havia arquivos realmente gravados no meu compartilhamento de rede. Então meio que ... só meio que ... funcionou ...

Além disso, quando eu parei a gravação eu recebi um GSOD ( tela verde da morte ) mostrando algumas informações básicas de falha e me mandou enviar o registro para o fabricante para o seu endereço de e-mail. Também afirmou que teria que reiniciar. Mas eu não acho que realmente reiniciei. Então, quando eu fui para Menu , Standby / Restart Reiniciar eu podia ver a animação do Gears como se estivesse carregando as configurações e então eu tenho o mesmo tipo de GSOD novamente. Eu não acho que foi totalmente reiniciado. Eu fiz isso repetidamente e recebi o GSOD todas as vezes. Eu desliguei a energia e coloquei de volta, e após a inicialização tive o mesmo problema novamente.

Estes são os passos que fiz para ativar isto:

1. PuTTY start
2. Connect to 192.168.0.107
3. Log in as root
4. cd /
5. mkdir /hdd/movie
6. mount -t cifs -o username=*,password=* //192.168.0.101/dreambox /hdd
7. cd /hdd
8. ls (showed nothing - empty folder)

Além disso, a caixa do Linux está executando o BusyBox e, pelo que entendi, este é o pacote que fornece o comando shell. Eu menciono isso porque este shell não parece suportar todos os comandos shell encontrados em uma distribuição regular do Linux.

Eu tentei este comando primeiro:

umount -t cifs -t cifs -o username=*,password=* //192.168.0.101/dreambox

Esta é a sintaxe adequada?

Este é o mesmo comando que eu usei para montar, somente este é o comando umount para desmontar. E não funcionou, não encontrou o diretório, arquivo ou dispositivo (não tenho certeza da palavra exata). Então eu decidi desmontar tudo cifs (como visto acima), e funcionou, mas causou o aparecimento da caixa do Linux.

Eu já fiz o mesmo comando novamente:

mount -t cifs -o username=*,password=* //192.168.0.101/dreambox /hdd

Ele foi montado e eu não consigo mais nenhum GSOD e posso gravar mais uma vez.

Mas como eu paro para sempre? ...

Eu acho que tem algo a ver com referências ruins. Algo está se referindo ao meu compartilhamento de rede que não está mais presente quando eu desmonto, o que, por sua vez, faz com que o Linux comece a agir.

FWIW, este é o conteúdo do meu arquivo fstab em /etc/fstab :

rootfs               /                    auto       defaults              1 1
proc                 /proc                proc       defaults              0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0
usbfs                /proc/bus/usb        usbfs      defaults              0 0
/dev/mtdblock2       /boot                jffs2      ro                    0 0
tmpfs                /var                 tmpfs      defaults              0 0
tmpfs                /tmp                 tmpfs      defaults              0 0
/dev/sda1            /media/hdd           auto       defaults              0 0

Eu usei um conjunto diferente de comandos nas minhas primeiras tentativas de montar o compartilhamento na caixa. E para montá-lo na reinicialização eu editei este arquivo. Mas eu desfiz essas alterações, então isso não deve ter mais efeito algum. O que você vê aqui acima é como o arquivo fstab se parece por padrão.

Ah, claro ... o /hdd redireciona para /media/hdd . Portanto, a pasta movie que criei no processo está, na verdade, em /media/hdd/movie e não /hdd/movie (etapa 5. mkdir / hdd / movie).

    
por Samir 26.09.2012 / 12:41

1 resposta

1

Eu resolvi isso!

cd /
fuser /hdd
kill 6088
shutdown -r now

Não tenho certeza se é necessário cd para a raiz, mas o fiz de qualquer maneira. O fuser /hdd fornece o PID (ID do processo) do processo que está usando este dispositivo ou pasta. Neste caso, foi 6088. O comando kill seguido pelo PID interrompe esse processo.

O comando shutdown -r now reinicializa o sistema. No entanto, não é necessário usar, você pode simplesmente obter o controle remoto e ir para Menu, Standby / Restart e escolha Reiniciar. Estes passos são para o Dreambox no Enigma2, o seu STB pode ser diferente. Deve reiniciar normalmente, sem erros.

Primeiro, fui para /media/hdd pelo FTP e excluí o conteúdo da pasta movie e depois a pasta em si. Pela aparência, ele estava tentando gravar no compartilhamento do Windows que eu tinha montado, e desde que ele foi desmontado ele tentou gravar em sua memória interna que é de apenas 64 MB. E fica cheio rápido, então basicamente ficou sem memória. Eu acho que esta é uma das principais razões para travar, mesmo na reinicialização. Então você também pode querer se livrar dessas coisas primeiro.

A reinicialização funciona normalmente agora e, quando pressiono o botão Gravar, apenas indica que não há nenhum HDD conectado, o que é normal.

Sinta-se à vontade para me dar uma resposta que não envolva os comandos fuser e kill . Qual é a maneira correta de desmontar um compartilhamento de rede no Linux? Por enquanto, isso funciona bem para mim.

    
por 26.09.2012 / 14:42