如何仅列出根包而不列出其依赖项?

如何仅列出根包而不列出其依赖项?

我试图查看我已安装的软件包,但我dpkg -l得到了一个很长的软件包列表及其软件包依赖项。

有没有办法可以仅获取明确安装的软件包列表?

前任:

apt-get install mysql-server

这也安装了 mysql-common

我希望当我列出我的软件包时只显示 mysql-server。

答案1

这是我在原始帖子的评论中讨论的快速而粗略的脚本,遵循@Videonauth 的想法(据我理解)。其余软件包的列表写入文件 top_packages。

(运行需要一些时间)。

#!/bin/bash

echo > dependencies
echo > top_packages
dpkg -l | egrep '^..  ' | cut -f3 -d' ' | cut -f1 -d':' > packages

for i in `cat packages`
do
    echo collecting dependencies of package $i
    apt show $i 2> /dev/null | grep Depends >> dependencies
done

for i in `apt-mark showmanual`
do
    grep -q $i dependencies || echo $i | tee -a top_packages
done

答案2

此解决方案帮我:

cat /var/log/apt/history.log | grep 'apt-get install '

相关内容