在 Arch Linux 中创建已安装软件包的列表并稍后从列表中安装它们

今天,我将教你如何创建一个已安装包的列表,然后在新系统或 Arch Linux 系统进行全新安装后从备份列表中安装它们。 此方法可用于错误报告或与您的同事或技术支持团队讨论已安装的软件包。 更重要的是,如果您想在一组 Arch Linux 系统中使用类似的软件包集,这是实现它的一种方式。

推荐下载免费备忘单:“Linux 命令行备忘单”

创建已安装包的列表并稍后在 Arch Linux 中安装它们

让我们使用命令生成显式安装的软件包列表:

$ pacman -Qqe > pkglist.txt

此命令将按字母顺序创建显式安装的软件包列表,并将它们保存在名为的文本文件中 “pkglist.txt”.

这里,

  • – 查询包数据库。 此选项允许您查看已安装的包及其文件,以及有关各个包的其他有用元信息(依赖关系、冲突、安装日期、构建日期、大小)。
  • q – 对某些查询操作显示较少的信息。 这在 pacman 的输出在脚本中处理时很有用。
  • e – 列出任何其他软件包不需要的显式安装的软件包。
  • pkglist.txt – 它是您存储已安装文件列表的输出文件。

Save 这 “pkglist.txt” 文件在 USB 驱动器或安全的地方。

现在,格式化并重新安装系统。 重装系统后,复制 “pkglist.txt” 文件到您新安装的系统并运行以下命令以从备份列表中安装软件包。

$ sudo pacman -S - < pkglist.txt

以防万一,备份列表中包含外来包,例如 金子 包,首先删除它们,然后使用命令安装其余包:

$ sudo pacman -S $(comm -12 <(pacman -Slq | sort) <(sort pkglist.txt))

上面的命令将您删除外部包。 键入“y”并按 ENTER 将其删除。 最后,键入“y”以安装列表中的其余软件包。

创建已安装软件包的列表并稍后从列表中安装它们

您不需要一一安装所有软件包。 Pacman 将读取列表并安装其中列出的软件包。

要删除备份列表中未提及的新安装系统上的所有软件包,请运行:

$ sudo pacman -Rsu $(comm -23 <(pacman -Qq | sort) <(sort pkglist.txt))

有关更多详细信息,请参阅手册页。

$ man pacman
  • 在 Arch Linux 中安装和删除包组的简单方法
  • 如何在 Ubuntu 16.04 中离线安装软件

当您想重新安装 Arch Linux 系统或其衍生产品(如 Antergos、Manjaro Linux)时,这种方便的方法将使您的生活更轻松。 不要费心一一安装软件包。 只需将已安装包列表导出到文件,并将其保存到安全的地方,然后在重新安装 Arch 系统后从备份列表中安装包。 您还可以将相同的备份列表用于家庭/办公室中任何新安装的 Arch 系统。 它将为您节省大量时间,无需一一搜索和安装软件包。

想知道如何在基于 YUM 和基于 DEB 的系统中做同样的事情吗? 伟大的! 请参阅以下指南。

  • 在 CentOS 和 Ubuntu 中创建已安装软件包的列表并稍后从列表中安装它们

参考:

  • 吃豆子提示和技巧

Arch Linux创建已安装包列表Linux包管理Pacman