Живой CD: Сценарий doens't работает правильно после входа в систему

У меня есть Сервер PXE/NFS (192.168.1.10), клиент ПК и бездисковый ПК. Я установил основную человечность на клиенте ПК. Я записал этот сценарий (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"

Я изменился показанный и 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 живой 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 temporarilt unavailable.
Completed

Иногда NFS монтирует работы и иногда реконфигурировал работы SSH, но главным образом я получаю эту ошибку. Я добавил sleep 5 к верхней части сценария, чтобы заставить его работать, но я получил то же сообщение об ошибке снова. Это работает правильно, когда я вызываю update.sh вручную после завершенного входа в систему. Что вызывает эту ошибку? Спасибо за любую справку.

1
задан 16 March 2014 в 16:30

1 ответ

Поскольку некоторые процессы сохраняют файлы открытыми для записи, попытайтесь использовать:

while :; do mount $SERVER:/srv/nfs/updatefiles ~/nfs && break || sleep 3; done

Это будет работать mount команда каждые 3 секунды (измените это, как Вы желаете) до успеха.

И попытка также ленивое размонтирование:

umount -l ~/nfs

Read также man mount и man umount для большего количества информации и большего количества опций.

1
ответ дан 11 November 2019 в 12:50

Другие вопросы по тегам:

Похожие вопросы: