Debian/Ubuntu用dpkg --get-selections > package_list.txt导出包列表,2. Fedora/RHEL用dnf list installed > installed_packages.txt,3. Arch Linux用pacman -Qqe > package_list.txt仅导出主安装包,均可重定向恢复环境,注意使用sudo权限并测试文件可读性。

在Linux系统中,导出已安装软件包的列表可以帮助你备份、迁移或重现环境。不同发行版使用不同的包管理器,以下是常见系统下的操作方法。
Debian/Ubuntu(使用APT)
这类系统使用 apt 或 dpkg 管理软件包。你可以通过以下命令导出已安装的包列表:
dpkg --get-selections > package_list.txt该命令会将所有已标记为安装状态的包写入 package_list.txt。你也可以使用以下命令仅列出实际已安装的包:
apt list --installed > installed_packages.txt导出的文件可用于在另一台机器上恢复环境:
sudo dpkg --set-selections sudo apt-get dselect-upgradeCentOS/RHEL/Fedora(使用YUM或DNF)
对于基于RPM的系统,使用 yum 或 dnf 可以导出已安装的包。
使用 yum(旧版本):
yum list installed > installed_packages.txt使用 dnf(新版本,如Fedora、RHEL 8+):
dnf list installed > installed_packages.txt若要仅提取包名(便于批量安装),可使用:
dnf list installed | awk -F ' ' '{print $1}' | grep -v "@" | grep -v "Installed" > package_names.txtArch Linux(使用Pacman)
Arch系系统使用 pacman,导出已安装包的命令如下:
pacman -Qqe > package_list.txt说明:
- -Q 查询本地数据库
- -q 仅显示包名
- -e 仅列出明确安装的包(排除依赖)
恢复时可使用:
pacman -S -小贴士:过滤和清理列表
导出的列表可能包含不需要的系统包或临时项。建议手动查看或使用脚本过滤。例如,排除虚拟包或内核版本:
grep -v "linux-image" package_list.txt > cleaned_list.txt你也可以压缩保存:
tar czf package_backup.tar.gz package_list.txt基本上就这些。根据你的发行版选择对应命令,就能轻松导出软件包列表。注意权限问题,部分命令可能需要sudo。备份前建议测试导出文件的可读性。









