已安装程序(无依赖项)列表

已安装程序(无依赖项)列表

我想获得通过 USC 或终端安装的程序列表,但不包含它们的依赖项。可以吗?如果可以,请以哪种模式?我使用 Ubuntu 13.10 谢谢

答案1

如果您已经使用安装sudo apt-get install,我可以展示如何获取软件列表(而不是依赖项)。

$ cat /var/log/apt/history.log > ~/Desktop/allhistory.log && zcat /var/log/apt/history.log*gz >> ~/Desktop/allhistory.log

将在您的桌面上创建一个名为“allhistory.log”的简单文本文件。

您还将看到以下内容,例如:

Start-Date: 2014-02-07  20:54:06
Commandline: apt-get install spell
Install: spell:amd64 (1.0-24), ispell:amd64 (3.3.02-6, automatic), ienglish-common:amd64 (3.3.02-6, automatic), iamerican:amd64 (3.3.02-6, automatic)
End-Date: 2014-02-07  20:54:15

看看第二行和第三行。你想要的在第二行。你不想要的依赖项在第三行。这就是我喜欢用命令行安装/删除/清除的原因。

现在,要制作列表,只需运行:

$ grep ^"Commandline: apt-get install" ~/Desktop/allhistory.log > ~/Desktop/installed_apps.log

您将获得如下列表:

Commandline: apt-get install --no-install-recommends rox-filer
Commandline: apt-get install spell
Commandline: apt-get install ibritish
Commandline: apt-get install htop
Commandline: apt-get install --no-install-recommends python-pip
Commandline: apt-get install bootchart

显然,您可以进一步清理输出。

请注意,以上内容不适用于通过任何其他方法安装。

答案2

依赖关系不过是程序
需要注意的是,依赖项就是程序。程序和依赖项之间没有区别。

有时,您可能认为是依赖项,可能是可以独立运行的完整软件。

简而言之,这是不可能的。但你可以使用命令获取完整列表

dpkg -l

如果你想要仅列出与模式匹配的命令

dpkg -l <pattern>

将会完成这项工作。

答案3

您可以使用以下命令列出软件包的依赖项apt-cache depends <pkg>

要列出一些不依赖于其他软件包的软件包,请使用一些命令行功能:

dpkg -l|grep ^ii|while read a b c; \
do apt-cache depends $b|grep -q Depends: || echo $b; done

相关内容