У меня есть сервер PXE/NFS (192.168.1.10), клиентский ПК и бездисковый ПК. Я установил базовую Ubuntu 12.04 на клиентский компьютер. Я написал этот скрипт (update.sh) для работы после входа в систему на клиентском ПК.
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"
Я изменил chown и chmod и добавил разрешение в конце 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
Я создал .bash_profile
чтобы вызвать этот скрипт после входа в систему.
sudo nano ~/.bash_profile
- sudo $HOME/updatefiles/update.sh
Он работает правильно после перезагрузки клиентского ПК. Затем я создал linux live cd (ubuntu.iso) с клиентского ПК с использованием Relinux (орудия remastersys).
Я скопировал ubuntu.iso
на NFS-сервер и загрузил бездисковый ПК через PXE/NFS. Я получаю это сообщение об ошибке после входа на бездисковый компьютер.
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 temporarily unavailable.
Completed
Иногда монтирование NFS работает, а иногда переконфигурирование SSH работает, но в основном я получаю эту ошибку.
Я добавил sleep 5
в начало скрипта, чтобы он заработал, но я снова получил то же сообщение об ошибке.
Он работает правильно, когда я update.sh
вручную после завершения входа в систему. Что вызывает эту ошибку?
Спасибо за любую помощь.