Az Ubuntu 16 és újabb az apt-hez kapcsolódó időszakos feladatokat (például a csomaglista frissítését és a felügyelet nélküli frissítések alkalmazását) rendszeridőzítő segítségével hajtja végre. Ez az időzítő általában az Ubuntu 16 VPS indításakor aktiválódik, ami az apt tools ( apt, apt-get) meghibásodását okozhatja a következőhöz hasonló hibával:
E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
A Vultr indító parancsfájlok gyakori felhasználási esete a rendszercsomagok frissítése. A aptvagy a címről visszaküldött hibakódok ellenőrzése nélkül a apt-getrendszerfrissítések sikertelenek lehetnek. Amikor a zárolási feltétel jelentkezik, aptáltalában a kódot adja vissza 100.
Ez a mintaszkript használható Vultr indítószkriptként a rendszerfrissítések telepítésének újrapróbálásához. Az igényeinek megfelelően módosíthatja.
#!/bin/bash
UPGRADE_ATTEMPT_COUNT=100
UPGRADE_STATE=1
for i in `seq 1 $UPGRADE_ATTEMPT_COUNT`;
do
if [ "$UPGRADE_STATE" -eq "1" ]; then
apt-get -y update
if [ "`echo $?`" -eq "0" ]; then
echo "package list updated."
UPGRADE_STATE=2;
fi
fi
if [ "$UPGRADE_STATE" -eq "2" ]; then
apt-get -y upgrade
if [ "`echo $?`" -eq "0" ]; then
echo "packages updated."
UPGRADE_STATE=3;
fi
fi
if [ "$UPGRADE_STATE" -eq "3" ]; then
break
fi
sleep 5
done
if [ "$UPGRADE_STATE" -ne "3" ]; then
echo "ERROR: packages failed to update after $UPGRADE_ATTEMPT_COUNT attempts."
fi
További információ az automatikus frissítésekről az Ubuntu LTS dokumentációjában található .