AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1097582
Accepted
cat
cat
Asked: 2018-12-01 21:00:48 +0800 CST2018-12-01 21:00:48 +0800 CST 2018-12-01 21:00:48 +0800 CST

在没有 dpkg 程序的情况下读取完整的 dpkg 数据库状态

  • 772

从 Live USB 中,并且不使用已安装的 Ubuntu 程序,如dpkg、dpkg-query、dselect、aptitude、apt-get或任何其他程序(因为它们都已损坏Illegal instruction),我如何 apt读取作为列表读取的软件包列表,以便对已安装的软件包进行编目,稍后重新安装?

Reading package lists... Done
Building dependency tree
Reading state information... Done

本地包数据库在哪里?几乎是一个完美的答案:

/var/lib/dpkg/status如果您更改包的状态,即安装它、删除它、标记它以执行某些操作,则由 dpkg 修改,...

  • 我不想只列出“更改”的包,还包括依赖包、系统的整个状态等。它包含在dpkg/status?

    • 在另一个健康的系统上,该文件有大约 3800Package:个条目;在目标系统上它有 3600Package:个条目,而在 Live USB 上它只有 2000 个条目。听起来不错,只是我担心它没有列出所有的包。
  • 我不是在寻找下载的.deb缓存,也不是保存临时数据文件的cachefor dpkg/ apt——这些并没有给出完整的系统状态。

  • /var/lib/apt/lists似乎包含一个包源和包的列表,这几乎是完美的,除了很多解析涉及从中获取包名称列表。这是最好的选择吗?

该文件/var/cache/apt/pkgcache.bin存在,但由于它是生成的二进制文件,我认为将其复制到全新安装是不够的。

software-installation package-management dpkg apt
  • 1 1 个回答
  • 1057 Views

1 个回答

  • Voted
  1. Best Answer
    muru
    2018-12-01T21:22:59+08:002018-12-01T21:22:59+08:00

    见man dpkg:

    下面列出的其他文件位于其默认目录中,请参阅选项--admindir以查看如何更改这些文件的位置。

    • /var/lib/dpkg/available可用软件包列表。

    • /var/lib/dpkg/status可用包的状态。

      此文件包含有关是否将包标记为删除、是否已安装等信息。有关更多信息,请参阅关于包的信息部分。状态文件每天以/var/backups. 如果由于文件系统问题而丢失或损坏,它会很有用。

    你可以不用担心了。如果包不在status,dpkg则不知道。完全没有。


    顺便说一句,apt 所采用的“包列表”是另一回事:这些是它从/etc/apt/sources.list等源中下载的列表,并且位于/var/lib/apt/lists. 这些包含有关存储库中软件包的信息,并且与本地系统无关。


    关于您当前的问题,您可以使用上面提到的选项使用实时系统dpkg读取该文件。--admindir

    • 5

相关问题

  • 包管理器之间有什么区别?

  • 设置 LAMP 堆栈的最简单方法是什么?

  • 我应该在哪里安装 sagemath?

  • How do I install Adobe Flash player?对于 11.10 及更高版本明确修复 11.10 上的 64 位 Flash

  • 如何设置软件中心为非 root 用户安装软件?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve