Linux 获取已安装软件列表以便重新安装/恢复所有软件程序
硬件和软件故障是生活的一部分。这就是为什么你需要有一个备份计划。我已经写过关于备份文件和 MySQL数据库的文章。没有必要备份所有已安装的二进制文件和软件程序。以下提示不仅可以节省您的时间,而且 Debian/Ubuntu 和 CentOS/Fedora/RHEL 发行版都可以在需要时更新和恢复。
为了重新安装或恢复已安装的软件,您需要拥有所有已安装软件的列表。Linux 中的包管理器可用于保存源系统上已安装/已删除的包,并将这些更改复制到其他系统。这篇文章将帮助您完成同样的操作。
如何:在 Debian / Ubuntu Linux 上创建所有已安装软件的备份列表
如果您使用的是Debian 或 Ubuntu Linux,请使用 dpkg 命令列出已安装的软件:
$ dpkg --get-selections
您可以将已安装软件的列表存储到名为 /backup/installed-software.log 的文件中,输入:
$ dpkg --get-selections > /backup/installed-software.log
如何:在 RHEL/Fedora/Suse/CentOS Linux 上创建所有已安装软件的备份列表
基于 RPM 的发行版(RHEL、Fedora、Redhat、CentOS、Suse Linux)用户尝试使用 rpm 命令获取所有已安装软件的列表,输入:
$ rpm -qa
或
$ rpm -qa > /backup/installed-software.log
或删除软件版本号(推荐):
rpm -qa --qf "%{NAME}\n" | sort > /backup/installed-software.log
如何从备份列表恢复已安装的软件?
在 Debian/Ubuntu Linux 下输入以下两个命令重新安装所有程序:
# dpkg --set-selections < /backup/installed-software.log
导入列表后,使用 dselect 命令或其他工具安装软件包,输入:
# dselect
选择“ i”安装软件。或者使用以下命令:
# apt-get dselect-upgrade
在基于 rpm 的发行版上恢复软件包
据我所知,基于 RPM 的发行版不提供 dpkg 之类的功能。但是,使用一些 shell 脚本技术,您可以轻松安装所有软件程序:
# LIST="$ cat /backup/installed-software.log )"
如果您使用yum 命令,请键入以下bash for 循环来安装所有软件:
# for s in $LIST; do yum -y install $s; done
或者尝试以下命令(HT 到 gt):
# yum -y install $(cat /backup/installed-software.log)
关于 RHEL 版本 4 的说明
如果您使用的是 RHEL/CentOS v4.x 或更早版本,请输入:
# for s in $LIST; do up2date -i $s; done
或者,您可以使用以下up2date 命令:
# up2date -i $(cat /backup/installed-software.log)