在基于Debian的系统上删除不必要的配置文件

时间:2020-03-21 11:46:47  来源:igfitidea点击:

如果我们是新手,通常会使用“ apt remove”命令来删除Debian,Ubuntu及其衍生版本(如Linux Mint)中的已安装软件包。
我们可能知道,apt remove命令将仅删除给定的程序包,而不会删除已删除程序包的依赖项或者配置文件。
这就是为什么中级和高级用户将经常使用“ apt purge”命令删除给定软件包以及所有依赖项和配置文件,并维护干净系统而没有任何残留的原因。
有时,我们在删除软件包时可能会忘记使用“ apt purge”并使用“ apt remove”命令。
或者我们可能已经使用apt remove命令删除了软件包,并在系统中留下了许多未使用/不必要的软件包和配置文件。
不用担心!此教程说明了如何从基于Debian的系统中删除不必要的配置文件。

在进入本主题之前,让我们看一下apt remove与apt purge与apt autoremove与apt clean与apt autoclean之间的区别。
这些是我们用来删除软件包,已删除软件包的配置文件以及清理任何基于Debian的系统中的本地缓存的命令。

apt remove此命令用于删除软件包,但将所有配置文件保留在原位。
当我们以后重新安装相同的软件包时,所有设置仍将保持不变。

apt purge与“ apt remove”命令相同,但也会删除所有配置文件。

apt autoremove删除基于Deb的系统上不再需要的所有软件包。
这些软件包称为未使用的软件包。
因此,“ autoremove”命令仅删除用户尚未手动安装且系统中其他任何软件包都不需要的软件包。

apt clean当我们使用apt从存储库中安装或者更新内容时,它首先将所有必需的软件包下载到本地驱动器,然后进行安装。
“ apt-get clean”命令删除那些下载的软件包。
它不会卸载任何软件包,只会清除该缓存。

apt autoclean像“ apt clean”一样,“ apt autoclean”命令清除检索到的软件包文件的本地存储库。
不同之处在于,它删除了缓存中所有已存储的归档文件,这些归档文件无法再下载了。

有关更多详细信息,请参见手册页。

$man apt

或者,

$man apt-get

现在,让我们继续前进,找出我们留在系统中的文件。

查找在Debian,Ubuntu中已删除但未清除的所有软件包

首先,让我们使用dpkg命令列出系统中的剩余文件:

$dpkg -l | grep ^rc

或者,

$dpkg -l | grep "^rc"

此命令将列出所有已删除但尚未清除的软件包。

我的Ubuntu 18.04 LTS桌面的示例输出:

我们可能已经注意到,所有行都以rc开头。
其中rc是剩余配置的缩写。

我们还可以使用以下apt命令列出所有已删除但尚未清除的软件包:

$apt list | grep 'residual-config'

列出Debian系统中剩余的另一种方法是使用Synaptic软件包管理器。

如果未安装Synaptic软件包管理器,则可以使用以下命令进行安装:

$sudo apt install synaptic

现在启动突触软件包管理器,单击左窗格中的“状态”按钮,然后查找剩余的配置文件,如下面的屏幕快照所示。

好了,我们刚刚找到了系统中遗留下来的未使用或者不需要的配置文件。

在基于Debian的系统上删除不必要的配置文件

有几种方法可以做到这一点。
我给出了三种从Debian及其衍生版本中删除不需要的配置文件的方法。

使用aptitude:

这是从基于Debian的系统中删除不必要的配置文件的最简单,最短的命令:

$sudo aptitude purge ~c

或者,

$sudo aptitude purge ?config-files

请注意,默认情况下未预先安装aptitude命令。
我们可以使用以下命令安装它:

$sudo apt install aptitude

或者,使用以下命令删除不需要的配置文件:

$sudo aptitude purge `dpkg --get-selections | grep deinstall | awk '{print }'`

使用dpkg命令:

如果我们没有安装aptitude,则可以使用dpkg清除不需要的配置文件。

要使用dpkg查找和删除未使用的配置文件,请运行:

$dpkg -l | grep "^rc" | awk '{print }' | sudo xargs dpkg -P

或者,

$dpkg -l | grep "^rc" | awk '{print }' | sudo xargs dpkg --purge

输出示例:

(Reading database ... 102520 files and directories currently installed.)
[...]
Purging configuration files for linux-image-4.15.0-20-generic (4.15.0-20.21) ...
Purging configuration files for linux-image-4.15.0-23-generic (4.15.0-23.25) ...
Purging configuration files for linux-image-4.15.0-24-generic (4.15.0-24.26) ...
Purging configuration files for linux-image-4.15.0-45-generic (4.15.0-45.48) ...
Purging configuration files for linux-image-4.15.0-46-generic (4.15.0-46.49) ...
Purging configuration files for linux-image-4.15.0-48-generic (4.15.0-48.51) ...
Purging configuration files for linux-image-4.15.0-74-generic (4.15.0-74.84) ...
Purging configuration files for linux-modules-4.15.0-20-generic (4.15.0-20.21) ...
Purging configuration files for linux-modules-4.15.0-23-generic (4.15.0-23.25) ...
Purging configuration files for linux-modules-4.15.0-24-generic (4.15.0-24.26) ...
Purging configuration files for linux-modules-4.15.0-45-generic (4.15.0-45.48) ...
Purging configuration files for linux-modules-4.15.0-46-generic (4.15.0-46.49) ...
Purging configuration files for linux-modules-4.15.0-48-generic (4.15.0-48.51) ...
Purging configuration files for linux-modules-4.15.0-74-generic (4.15.0-74.84) ...
Purging configuration files for linux-modules-extra-4.15.0-20-generic (4.15.0-20.21) ...
Purging configuration files for linux-modules-extra-4.15.0-23-generic (4.15.0-23.25) ...
Purging configuration files for linux-modules-extra-4.15.0-24-generic (4.15.0-24.26) ...
Purging configuration files for linux-modules-extra-4.15.0-45-generic (4.15.0-45.48) ...
Purging configuration files for linux-modules-extra-4.15.0-46-generic (4.15.0-46.49) ...
Purging configuration files for linux-modules-extra-4.15.0-48-generic (4.15.0-48.51) ...
Purging configuration files for linux-modules-extra-4.15.0-74-generic (4.15.0-74.84) ...
[...]

使用Synaptic软件包管理器:

如果我们已在系统上安装Synaptic,请单击左窗格中的“状态”部分,单击要删除的软件包的复选框中的复选框,然后单击“应用”按钮。

如果我们不经常使用“ apt purge”命令,则没有任何危害。
但是,始终不时地运行“ apt autoremove”和“ apt autoclean”命令始终是一个好习惯,以删除未使用的依赖项并清除Debian系统中的本地缓存文件夹。