仅列出磁盘映像中已安装的软件包

仅列出磁盘映像中已安装的软件包

我的 Raspberry 运行 Raspbian 崩溃了,但我想知道我在 SD 卡上安装了哪些软件包。有没有办法在不实际启动系统的情况下检测到这一点?

答案1

Debian 的软件包数据库位于/var/lib/dpkg.它们是文本文件,即使您没有 Debian 工具,也很容易手动解析。特别是,该文件/var/lib/dpkg/status包含每个软件包的一段信息(不仅是已安装的软件包,还包括系统已知的其他一些软件包),以.Package: PACKAGENAME

cd /media/sdcard0/var/lib/dpkg
<status awk -v RS= '/\nStatus: install ok installed\n/ {print $2}'

如果您不在unix或其他系统上awk或其他文本处理工具上,您可以检查该目录/var/lib/dpkg/info。除了仅虚拟依赖项的包之外,每个包都有多个文件,其中至少包括PACKAGENAME.list.

如果您使用的系统具有dpkg,您可以告诉它查阅普通数据库以外的数据库。

dpkg --admindir=/media/sdcard0/var/lib/dpkg -l
dpkg --root=/media/sdcard0 -l

相关内容