- MaxSize=0
- CacheDir="var/cache/apt"
- CacheArchive="archives/"
- eval $(apt-config shell MaxAge APT::Archives::MaxAge)
- eval $(apt-config shell MaxSize APT::Archives::MaxSize)
- eval $(apt-config shell CacheDir Dir::Cache)
- eval $(apt-config shell CacheArchive Dir::Cache::archives)
-
- # sanity check
- if [ -z "$CacheDir" -o -z "$CacheArchive" ]; then
- echo "empty Dir::Cache or Dir::Cache::archives, exiting"
- exit
- fi
- Cache="/"$CacheDir$CacheArchive
-
- # check age
- if [ ! $MaxAge -eq 0 ]; then
- find $Cache -name "*.deb" -mtime +$MaxAge -print0 | xargs -r -0 rm -f
- fi
-
- # check size
- if [ ! $MaxSize -eq 0 ]; then
- # reverse-sort by mtime
- for file in $(ls -rt $Cache/*.deb); do
- du=$(du -s $Cache)
- size=${du%%/*}
- # check if the cache is small enough
- if [ $size -lt $MaxSize ]; then
- break
- fi
- # delete oldest file
- rm -f $file
- done
- fi
-}
-
-check_size_constraints
-
-
-
-# we check here if autoclean was enough sizewise
-check_size_constraints()
-{
- # min-age in days
- MaxAge=0
- MinAge=1