Eu tenho um servidor PXE / NFS (192.168.1.10), um PC cliente e um PC sem disco. Eu instalei o ubuntu base no PC cliente.
Eu escrevi este script (update.sh) para funcionar após o login no PC cliente.
SERVER=192.168.1.10
echo "Copying files"
mount $SERVER:/srv/nfs/updatefiles ~/nfs
cp ~/nfs/file.txt ~/texts/
umount ~/nfs
echo "Reconfigure SSH"
dpkg-reconfigure openssh-server
echo "Completed"
Alterei chown e chmod e adicionei permissão no final dos sudoers.
sudo chown root:root ~/updatefiles/update.sh
sudo chmod 700 ~/updatefiles/update.sh
sudo nano /etc/sudoers
- hduser ALL=(ALL) NOPASSWD:/home/hduser/updatefiles/update.sh
Eu criei .bash_profile
para invocar este script após o login.
sudo nano ~/.bash_profile
- sudo $HOME/updatefiles/update.sh
Funciona corretamente após a reinicialização do PC cliente.
Então eu criei um live cd do linux (ubuntu.iso) do PC cliente usando o Relinux (um implemento de remastersys).
Eu copiei ubuntu.iso
para o servidor NFS e inicializei o PC sem disco via PXE / NFS.
Estou recebendo essa mensagem de erro após o login no PC sem disco.
Copying files
mount.nfs: /home/hduser/nfs is busy or already mounted
umount.nfs: /home/hduser/nfs: device is busy
debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another process: Resource temporarilt unavailable.
Completed
Às vezes, o NFS mount funciona e algumas vezes reconfigura o SSH, mas, na maioria das vezes, estou recebendo esse erro.
Eu adicionei sleep 5
ao topo do script para fazer isso funcionar, mas recebi a mesma mensagem de erro novamente.
Ele funciona corretamente quando invoco update.sh
manualmente após o login ser concluído. O que está causando esse erro?
Obrigado por qualquer ajuda.