红联Linux门户
Linux帮助

列出Gentoo不再使用的源文件

发布时间:2008-07-01 00:14:50来源:红联作者:HolGes
  Debian 的 apt-get 有一个命令 autoclean,删除已经下载的 deb 包中属于旧版本的文件。但是 Gentoo 的 portage 似乎没有提供一个相应的功能。研究了一下,发现只要用一条 bash 命令就可以把 /usr/portage/distfiles 中不属于任何已经安装的包的文件列出来:

  sed -e 's![^ ]*/!!g' -e 's/ /\n/g' /var/db/pkg/*/*/SRC_URI | sort -u | comm -13 - <(\ls /usr/portage/distfiles)

  先用上面的命令确认无误以后就可以加上 | xargs rm 将它们删除。(先 cd /usr/portage/distfiles)

  上面的命令 sed 给出的结果除了属于已经安装的包的文件外还有一些垃圾信息,但是都能经过 comm 过滤掉,并且应该不影响结果。ls 前面的反斜杠是为了排除 alias 的影响。
文章评论

共有 0 条评论