O arquivo /var/cache/apt/pkgcache.bin
é gerado novamente a cada vez que apt-get update
é executado (e não é gerado novamente).
Por exemplo, se você quiser executar apt-get update
apenas se não tiver sido executado na última hora, poderá usar
#!/bin/sh
last_update=$(stat -c %Y /var/cache/apt/pkgcache.bin)
now=$(date +%s)
if [ $((now - last_update)) -gt 3600 ]; then
apt-get update
fi
ou
#!/bin/sh
if [ -z "$(find /var/cache/apt/pkgcache.bin -mmin -60)" ]; then
apt-get update
fi
Observe que, se você executar várias cópias desse script quase ao mesmo tempo, todas elas poderão decidir executar apt-get update
. Se isso é uma preocupação, use um cadeado (que é uma questão totalmente separada).