|
发表于 2008-5-3 01:12:23
|
显示全部楼层
贴过来~~~
- # !/bin/bash
- # script cleans pacman cache by comparing existing version of a package
- # to newest version of package available according to pacman-db
- # WARNING! THIS SCRIPT WILL DELETE EVERY FILE IN /var/cache/pacman/pkg
- # THAT IS NOT IN THE PACMAN-DB OR THAT DOES NOT FOLLOW THE CURRENT NAMING
- # CONVENTIONS: <PACKAGENAME>.<VERSION>.<ARCHITECTURE>.pkg.tar.gz !!!
- #
- arc=$(uname -m)
- for fn in $(ls /var/cache/pacman/pkg);do
- # strip off .pkg.tar.gz
- f=${fn/%\.pkg\.tar\.gz/}
- # strip off architecture if given in package name
- if echo $f | grep -q $arc; then
- f=${f/%$arc/};f=${f/%-/}
- fi
- # now divide string into version and package name as used by pacman -Si
- pk=$f;v=$f;pk=${pk%-*};pk=${pk%-*};v=${v/$pk};v=${v/-}
- # query pacman-database to get current version of package and delete cached version if it is older
- if ! pacman -Si $pk | grep -q $v ; then
- rm -v /var/cache/pacman/pkg/$fn
- fi
- done
- # end of file
复制代码 |
|