创建已安装的包列表,然后从CentOS和Ubuntu中的列表中安装它们
在CentOS中创建已安装的软件包列表,然后安装它们
首先,我们将在Centos系统中看到如何在CentOS系统中进行。
我在CentOS 7 Server Edition上测试了本教程。
以root用户身份运行以下命令以创建已安装的包列表:
# rpm -qa | sort > pkglist.txt
其中
- RPM - RPM包管理器
- -qa - 查询所有已安装的软件包
- sort - 文本文件排序
- pkglist.txt - 我们保存已安装软件包列表的文件。
上面的命令将列出CentOS 7计算机上的所有已安装的软件包,并在当前工作目录中将其保存在名为Pkglist.txt的文件中。
现在,我们创建了已安装的软件包列表。
保持这个列表安全。
我们稍后需要它。
继续格式化系统。
重新安装Linux框后,将PKGlist.txt文件复制到系统。
我们还可以使用SCP命令将此文件复制到任何远程系统。
只需确保我们在远程系统上安装了相同的版本操作系统。
# scp pkglist Hyman@theitroad:/path/
比如:
# scp pkglist.txt Hyman@theitroad:/root/
最后,使用以下命令从pkglist.txt文件中安装packages作为root用户:
# 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 }')
用自己的方式替换path /home/sk/pkglist.txt文件。
请注意,如果我们在旧系统中使用了任何外部存储库或者PPA,则需要在从备份列表重新安装软件之前添加它们。