leeand00 Asked: 2020-01-10 12:10:32 +0800 CST2020-01-10 12:10:32 +0800 CST 2020-01-10 12:10:32 +0800 CST 如何获取由用户而不是依赖项使用 apt-get 安装的软件包的列表? 772 假设我正在运行一个基于 Debian 的发行版,我想知道我运行了哪些软件包apt-get install <package-name>来安装,但是我不想包含任何在我安装另一个软件包时自动安装为依赖项的软件包apt-get install <package-name>...找到这个的方法? 我的猜测是没有办法,因为apt并且dpkg可能不会区分两者,但如果可能的话,我更愿意被证明是错误的。 debian apt 2 个回答 Voted Best Answer Stephen Kitt 2020-01-10T12:19:34+08:002020-01-10T12:19:34+08:00 作为依赖项安装的软件包被标记为自动安装。您可以使用 来查看和操作这些标记apt-mark。 apt-mark showmanual 将列出未标记为自动安装的软件包,即显式安装的软件包。 Fsoc 2020-01-10T12:28:06+08:002020-01-10T12:28:06+08:00 这些命令可以帮助您简化工作,我会尝试以下命令: cat /var/log/apt/history.log | grep 'apt-get install ' 以下两个命令: apt-mark showmanual dpkg --get-selections 不是 100% 完成该任务并找出哪些是用户安装的,哪些是依赖项或自动安装的,但第一个命令可能有点帮助。 重要说明,如果您正在运行 logrotate 实用程序,则必须使用以下命令 zgrep 'apt-get install' /var/log/apt/history* --color
作为依赖项安装的软件包被标记为自动安装。您可以使用 来查看和操作这些标记
apt-mark
。将列出未标记为自动安装的软件包,即显式安装的软件包。
这些命令可以帮助您简化工作,我会尝试以下命令:
以下两个命令:
不是 100% 完成该任务并找出哪些是用户安装的,哪些是依赖项或自动安装的,但第一个命令可能有点帮助。
重要说明,如果您正在运行 logrotate 实用程序,则必须使用以下命令