1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- #!/usr/bin/env bash
- # Apt-P2P Clean
- #
- # Douglas Thrift
- #
- # $Id$
- function usage()
- {
- cat <<-EOF
- Usage: $program [options]
- Options:
- -e, --execute clean up the apt-p2p cache
- -h, --help show this help message and exit
- -n, --no-execute show what would be done to clean up the apt-p2p cache
- -v, --version show version information and exit
- EOF
- exit $@
- }
- function version()
- {
- echo "$program $version"
- exit
- }
- program=`basename $0`
- version='1.0'
- args=`getopt -l 'execute,help,no-execute,version' -n "$program" -o 'ehnv' -- "$@"`
- val=$?
- [[ $val != 0 ]] && usage $val
- eval set -- "$args"
- unset args val
- until [[ "$1" == -- ]]; do
- case "$1" in
- (-e|--execute)
- execute=1
- ;;
- (-h|--help)
- usage
- ;;
- (-n|--no-execute)
- execute=0
- ;;
- (-v|--version)
- version
- ;;
- esac
- shift
- done
- [[ -z $execute ]] && usage
- set -e
- if [[ $execute -eq 1 ]]; then
- echo 'Removing files:'
- else
- echo 'Would remove files:'
- fi
- find /var/cache/apt-p2p/cache -name '*.deb' | (
- freed=0
-
- while read deb; do
- if [[ ! -f /var/cache/apt/archives/${deb##*/} ]]; then
- ((freed += `du -B 1 $deb | cut -f 1`))
- echo ${deb##*/}
- [[ $execute -eq 1 ]] && rm -f $deb
- fi
- done
- if [[ $execute -eq 1 ]]; then
- [[ $freed != 0 ]] && invoke-rc.d apt-p2p restart
- echo -n 'Freed'
- else
- echo -n 'Would free'
- fi
- echo " `bc <<-EOF
- freed=$freed
- scale=1
- if (freed >= 1024 ^ 3) print freed / 1024 ^ 3, "G" else if (freed >= 1024 ^ 2) print freed / 1024 ^ 2, "M" else if (freed >= 1024) print freed / 1024, "K" else freed
- EOF`B of disk space"
- )
- # Clean up Apt-P2P cache
|