LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: bjsm

pacman -Scc后

[复制链接]
 楼主| 发表于 2009-2-18 13:21:51 | 显示全部楼层
可否不要按Y?
回复 支持 反对

使用道具 举报

发表于 2009-2-18 14:21:05 | 显示全部楼层
Post by bjsm;1949170
可否不要按Y?
--noconfirm      不询问确认
回复 支持 反对

使用道具 举报

发表于 2009-2-18 16:44:55 | 显示全部楼层
即使是 -Sc ,不到万不得已也没必要用,给软件包降级的最好办法就是保留缓存。如果真想省点空间,就写个脚本,保留最近 2 个版本的包。
回复 支持 反对

使用道具 举报

发表于 2009-2-25 10:07:34 | 显示全部楼层
Post by veryxp;1949256
即使是 -Sc ,不到万不得已也没必要用,给软件包降级的最好办法就是保留缓存。如果真想省点空间,就写个脚本,保留最近 2 个版本的包。

一个简单的实现,供大家参考。
  1. #!/bin/bash
  2. # paclean.sh
  3. # $1 参数表示保留历史文件的个数
  4. if [ $# -gt 1 ] ; then
  5.         echo -e " USAGE :\n\t paclean.sh [:digit:]\n"
  6. elif [ $# -eq 1 ] ; then
  7.         reserve=$1
  8. else
  9.         reserve=1
  10. fi
  11. SRC_DIR=/var/cache/pacman/pkg/
  12. tmpfile=/tmp/$$.tmpfile
  13. pacman -Q > $tmpfile
  14. list=$(ls -l $SRC_DIR | awk '{print $NF}')
  15. while read soft_name soft_version
  16. do
  17.         dupl_file=$(echo "$list" | grep ^"${soft_name}"-[0-9] | grep -v $soft_version)
  18.         if [ x"$dupl_file" != x ] ; then  # 其实这个判断可有可无,加上这个判断,理论上效率更高
  19.                 if [ $reserve -ne 0 ] ; then
  20.                         old_file=$(echo "$dupl_file" | sort -g | tail -n $reserve)
  21.                         for i in $old_file
  22.                         do
  23.                                 dupl_file=$(echo "$dupl_file" | grep -v $i)
  24.                         done
  25.                 fi
  26.                 dupl_file_list=$(echo $dupl_file_list $dupl_file)
  27.         fi
  28. done < $tmpfile
  29. rm $tmpfile
  30. dupl_file_list=$(echo $dupl_file_list | sed 's/ /\n/g')
  31. if [ x"$dupl_file_list" != x ] ; then
  32.         echo "$dupl_file_list"
  33. else
  34.         echo "There's no duplicated package." >& 2
  35. fi
复制代码

脚本的功能是显示系统中多余的安装包

使用就直接执行 ./paclean.sh 就好了,默认保留两个版本的安装包。如果想同时删除多余的包,也可以这样
  1. $ cd /var/cache/pacman/pkg
  2. $ ~/bin/paclean.sh | xargs sudo rm    # 这个脚本我放在了 $HOME/bin 目录下
复制代码
执行 ~/bin/paclean.sh 0 的效果类似 pacman -Sc,只不过会多保留一些安装包(曾经安装过的软件包,但现在已经卸载了,可是安装包还在本地硬盘上)。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-2-25 10:42:51 | 显示全部楼层
多谢。......
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表