几天前,我们发布了一份指南,描述了如何 创建一个已安装包的列表,然后在 Arch Linux 中从列表中安装它们,以及它的衍生产品,如 Antergos、Manjaro Linux 等。今天,在本指南中,我们将做同样的事情,但在其他流行的 Linux 发行版中,如 CentOS 和 Ubuntu。 当您要重新安装 Linux 系统时,这将很有帮助。 重新安装 Linux 机器后,您不必一一手动安装软件包。 只需在格式化系统之前获取已安装软件包的备份列表,然后从列表中一次安装。 当您想在运行类似操作系统的多个系统上安装同一组软件时,这也会很有帮助。
推荐下载 – 免费电子书:“学习 Python”
在 CentOS 中创建已安装软件包列表并稍后安装它们
首先,我们将看看如何在 CentOS 系统中进行操作。 我在 CentOS 7 服务器版上测试了本指南。
运行以下命令 根 用户创建已安装软件包的列表:
# rpm -qa | sort > pkglist.txt
这里,
- 转数 – RPM 包管理器
- -qa – 查询所有已安装的包
- 种类 – 对文本文件的行进行排序
- pkglist.txt – 我们保存已安装软件包列表的文件。
上述命令将列出 CentOS 7 机器上所有已安装的软件包,并将它们保存在一个名为 pkglist.txt 在您当前的工作目录中。
- ExplainShell – 查找 Linux 命令的每个部分的作用
现在,我们已经创建了已安装包的列表。 妥善保管这份清单。 我们以后需要它。 继续格式化您的系统。
重新安装 Linux 机器后,将 pkglist.txt 文件复制到您的系统。 您还可以使用将此文件复制到任何远程系统 scp 命令。 只需确保您在远程系统上安装了相同版本的操作系统。
# scp pkglist [email protected]:/path/
前任:
# scp pkglist.txt [email protected]:/root/
最后,以 root 用户身份使用以下命令从 pkglist.txt 文件安装软件包:
# yum install $(cat /root/pkglist.txt|xargs)
替换路径 /root/pkglist.txt 用你自己的文件。
完毕! 包管理器将安装所有列在您的 CentOS 机器上的 pkglist.txt 文件中的包。
您可以将此 pkglist.txt 文件用于网络上的所有系统。 请注意,包管理器只会安装来自默认官方存储库的包。 如果您在旧系统上启用了任何其他额外的存储库,则需要在安装软件之前先添加它们。
在 Ubuntu 中创建已安装软件包列表并稍后安装
创建所有已安装软件包的列表并将其保存在基于 DEB 的系统中名为 pkglist.txt 的文件中,运行:
$ dpkg-query -f '${binary:Package}n' -W > pkglist.txt
或者,
$ dpkg --get-selections > pkglist.txt
现在,我们已经创建了已安装软件的备份列表。 将此文件保存在安全位置。 格式化并重新安装您的 Ubuntu 机器。
重新安装 Ubuntu 后,一一运行以下命令,从备份列表中重新安装所有软件。
$ sudo apt-get install dselect
$ sudo dpkg --set-selections < pkglist.txt
$ sudo apt-get dselect-upgrade
或者,将上述所有命令组合成一行命令和 pkglist.txt 文件中的所有软件,如下所示。
$ sudo apt-get install $(cat /home/sk/pkglist.txt | awk '{print $1}')
将路径 /home/sk/pkglist.txt 文件替换为您自己的。
请注意,如果您在旧系统中使用了任何外部存储库或 PPA,则需要在从备份列表中重新安装软件之前添加它们。
推荐阅读:
- 备份已安装的软件包并在新安装的 Ubuntu 系统上恢复它们
- 如何将系统设置和数据从旧系统迁移到新安装的 Ubuntu 系统
感谢您的光临!
帮助我们帮助您:
- 订阅我们的电子邮件通讯: 立即注册
- 支持 OSTechNix: 通过贝宝捐款
- 下载免费的电子书和视频: TradePub 上的 OSTechNix
- 联系我们: 红迪网 | Facebook | Twitter | 领英 | RSS订阅
祝你有美好的一天!!