![如何自动清理过去 pkg 中的配置文件,如“dpkg -l | grep ^rc”所报告](https://linux22.com/image/631192/%E5%A6%82%E4%BD%95%E8%87%AA%E5%8A%A8%E6%B8%85%E7%90%86%E8%BF%87%E5%8E%BB%20pkg%20%E4%B8%AD%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E5%A6%82%E2%80%9Cdpkg%20-l%20%7C%20grep%20%5Erc%E2%80%9D%E6%89%80%E6%8A%A5%E5%91%8A.png)
有许多软件包没有被“apt-get purge”删除,我想自动清理它们。
你不能这样做,apt-get purge apache2.2-common
因为 pkg 已经被删除。
您仍然可以使用 列出 pkg 中的文件dpkg -L apache2.2-common
。
这意味着我可以删除 pkg 中的文件列表,但 dpkg 如何知道这一点?如何删除遗留的配置文件并将其从以下报告中删除?
示例输出:
$ dpkg -l | grep ^rc
rc apache2.2-common 2.2.14-5ubuntu8.10 Apache HTTP Server common files
rc libapache2-mod-php5filter 5.3.10-1ubuntu2ppa6~lucid server-side, HTML-embedded scripting languag
rc libapr1 1.3.8-1ubuntu0.3 The Apache Portable Runtime Library
rc libaprutil1 1.3.9+dfsg-3ubuntu0.10.04.1 The Apache Portable Runtime Utility Library
rc libgd2-xpm 2.0.36~rc1~dfsg-3.1ubuntu1 GD Graphics Library version 2
rc libt1-5 5.1.2-3ubuntu0.10.04.2 Type 1 font rasterizer library - runtime
rc php5-gd 5.3.10-1ubuntu2ppa6~lucid GD module for php5
rc ssl-cert 1.0.23ubuntu2 simple debconf wrapper for OpenSSL
答案1
类似这样的操作可以找到包名称:
dpkg --list | grep ^rc | awk '{print $2}'
或者要删除管道数量,您可以使用以下命令:
dpkg --list | awk '/^rc/ {print $2}'
因此,下一步是将其中一个列表输入到dpkg --purge
。使用子 shell 可以轻松完成此操作:
dpkg --purge $(dpkg --list | grep ^rc | awk '{print $2}')
简单的!