Workaround for apt db locked by WALinuxAgent v2 (#2000)

* retry apt if lock is held by other process

* Increase timeout and change grep string
This commit is contained in:
Sergey Dolin
2020-11-11 16:01:41 +05:00
committed by GitHub
parent 85c66c52c9
commit ec9befb26a

View File

@@ -11,17 +11,22 @@ for tool in apt apt-get apt-fast;do
i=1
while [ \$i -le 30 ];do
fuser /var/lib/dpkg/lock >/dev/null 2>&1
err=\$(mktemp)
$real_tool "\$@" 2>\$err
result=\$?
if [ \$result -eq 0 ];then
sleep 1
echo "/var/lib/dpkg/locked... retry \$i"
i=\$((i + 1))
else
break
fi
grep -q 'Could not get lock' \$err
held=\$?
if [ \$held -ne 0 ];then
break
fi
cat \$err >&2
sleep 5
echo "...retry \$i"
i=\$((i + 1))
done
$real_tool "\$@"
EOT
chmod +x $prefix/$tool
done