从安装 Ubuntu 操作系统开始,清除所有通过 apt-get 手动安装的软件包

从安装 Ubuntu 操作系统开始,清除所有通过 apt-get 手动安装的软件包

有没有办法purge 全部apt-get从您安装 Ubuntu 操作系统的那一刻起,直到现在,通过哪些软件包进行安装?

人们可以称它为“超级 apt-get purge”。

此操作的目的是清除我迄今为止apt在 Ubuntu 操作系统上安装的所有内容(来自)。这将使我更接近全新安装Ubuntu 操作系统,无需添加任何软件(当然,我唯一要做的就是清除apt我添加的所有非软件和单独的文件,但这当然是另一个问题)。

进行此操作的原因在于这是在 VPS 机器上完成的,我无法以传统方式安装和卸载操作系统;我确实可以使用托管服务提供商的“重建”功能,但出于个人原因我发现使用它有点烦人,所以我只想尽可能接近全新安装。

您将如何执行所需的“mega apt-get purge”?谢谢。

答案1

您可以使用apt一些脚本:

apt list --manual-installed | awk -F "/" '{print $1}' > ~/list
sudo apt-get purge --simulate `cat ~/list | grep -v Listing`

请记住 - 您正在尝试执行非常危险的操作。
如果不确定,请不要删除--simulate

在手动安装了 555 个软件包的系统上apt-get写入以下内容:

此操作后,将释放 4 769 MB 磁盘空间。
您即将执行可能有害的操作。
要继续,请输入短语“是的,按我说的做!”
?]
是的,按我说的做!Enter

然后它就停止了。

所以这完全是个坏主意(我之后没有cat,sudo命令)。
系统启动时出现内核崩溃。
我有快照,我会在 5 秒内恢复它。


结论:您应该使用巧妙的手动方法 - 例如确定哪些服务是手动安装的(使用apt list --manual-installed)和正在运行的(使用、、htop等),然后仅清除它们的包。netstatsystemctl

答案2

如果 /var/log/apt 中仍有来自 apt 的所有日志文件,您可以执行以下操作: $grep install /var/log/apt/history.log; zgrep install /var/log/apt/history.log.*.gz ,这将显示通过 apt 已在系统上安装的所有软件包。

在一个命令行中删除它们需要一些 bash 脚本。

希望这可以帮助。

相关内容