package - 获取 debian 10 的预装包列表
问题描述
在我自己开始安装软件包之前,有没有办法列出在 debian 10 中预安装的所有软件包,包括依赖项等?有没有办法通过删除所有这些包来重新初始化 debian 10?
提前致谢!
解决方案
- 查找最旧的 apt 日志文件:
$ ls -la /var/log/apt/history.log*
-rw-r--r-- 1 root root 19614 Dec 19 17:09 /var/log/apt/history.log
-rw-r--r-- 1 root root 8570 Nov 29 17:05 /var/log/apt/history.log.1.gz
-rw-r--r-- 1 root root 2573 Oct 23 11:09 /var/log/apt/history.log.2.gz
- 找到您手动安装的第一个软件包(
zcat
用于.gz
或cat
其他方式):
$ zcat /var/log/apt/history.log.2.gz | grep '^Commandline: apt\(-get\)\? install' | head -1
Commandline: apt install gpm
这似乎gpm
是我手动安装的第一个软件包。
- 按时间顺序获取所有已安装包的列表:
$ zcat /var/log/dpkg.log.*.gz | cat - /var/log/dpkg.log | grep ' install ' | sort | awk '{print $4}'
第一个手动软件包之前的软件包是由 Debian 安装程序安装的。其他的都是你自己安装的。
推荐阅读
- ruby-on-rails - 为什么我的 API Pie 参数没有显示?
- c# - Mongo.net - BypassDocumentValidation 不起作用
- javascript - 在 ES6 方法中转换下划线
- jquery - 从 excel 复制数据 - JQWidgets Grid
- android - 如何从arrayList中选择数据
- sql-server - 将 SQL Server 数据移动到 Dynamics 365 CRM
- google-kubernetes-engine - 同步期间出错:googleapi:错误 400:为 Kubernetes 配置入口时
- c# - C# Task Scheduler in Remote Machine
- c# - 带有方法值的参数化插入查询
- sql-server - 在表上使用 UNPIVOT 函数