Я работаю в компании, у которой есть несколько серверов Ubuntu 18.04, разбросанных по США, на которых работает наше собственное программное обеспечение. Устройства используются нашими клиентами несколько дней в неделю, а в остальное время простаивают и (обычно) отключены. С момента его выпуска мы столкнулись с этой редкой проблемой, из-за которой устройство загружалось до пустого экрана. К счастью, мы можем вручную исправить это удаленно, но это было неприятно. Наконец, я отследил это до этого сценария обновления программного обеспечения:
wget -O /home/user/update.tar.gz.gpg www.website.com/001001002.tar.gz.gpg
gpg --batch --passphrase Секретный пароль -o /home/user/update.tar.gz -d /home/user/update.tar.gz.gpg
cp /var/имя_программы/etc/config.cfg /home/user/config.backup
rm -r /var/имя_программы/bin
rm -r /var/имя_программы/и т. д.
rm -r /var/имя_программы/setup
rm -r /var/имя_программы/static
tar -C /var/имя_программы/ -zxvf /home/user/update.tar.gz
cp /home/user/config.backup /var/имя_программы/etc/config.cfg
рм /home/user/update.tar.gz.gpg
рм /home/user/update.tar.gz
рм /home/user/config.backup
systemctl перезапустить softwareName.service
systemctl перезапустить kiosk.service
Если обновление установлено, а затем кабель питания подключен к устройству в течение ~ 30 секунд, все файлы в каталогах «bin», «etc», «setup» и «static» полностью пусты. Все файлы, которые должны быть, есть, просто они пустые.
Что меня действительно сбивает с толку, так это то, что обновленное программное обеспечение загружается сразу после запуска скрипта и работает нормально.
Я провел некоторое тестирование, запустив отдельные разделы сценария за раз, и я считать Я сузил его до
tar -C /var/имя_программы/ -zxvf /home/user/update.tar.gz
Кто-нибудь знает, как содержимое файлов удаляется?