Ubuntu 16 i noviji izvode povremene zadatke vezane uz apt (kao što je ažuriranje popisa paketa i primjena nenadziranih nadogradnji) koristeći systemd timer. Taj se mjerač vremena obično pokreće na početku pokretanja Ubuntu 16 VPS-a, što može uzrokovati neuspjeh alata apt ( apt, apt-get) s greškom sličnom sljedećoj:
E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
Uobičajeni slučaj upotrebe Vultr skripti za pokretanje je ažuriranje paketa sustava. Bez provjere kodova pogrešaka vraćenih s aptili apt-get, ažuriranja sustava mogu propasti. Kada se naiđe na uvjet zaključavanja, aptobično će vratiti kod 100.
Ovaj primjer skripte može se koristiti kao Vultr skripta za pokretanje za ponovni pokušaj instaliranja ažuriranja sustava. Možete ga modificirati kako bi odgovarao vašim potrebama.
#!/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
Više informacija o automatskim ažuriranjima dostupno je u Ubuntu LTS dokumentaciji .