如何将已安装的软件包和设置从一个发行版转移到另一个发行版?

如何将已安装的软件包和设置从一个发行版转移到另一个发行版?

几个月以来,我一直在通过 VirtualBox 探索学习和了解 Linux 系统,并决定将其作为我的主要操作系统并将其安装在我的硬盘上。我有许多文件、包和设置(例如对 .bashrc 的更改),希望在将其直接安装到 HDD 时带来这些文件、包和设置,那么我该如何执行此操作?另外,现在我正在运行 Ubuntu,如果我决定切换到类似的 Debian 或 RPM、基于 RHEL 的发行版,它会是相同的过程吗?如果有的话,我必须考虑哪些因素?

答案1

包管理是发行版之间的主要区别之一。在不相关的发行版之间,您将无法自动执行任何操作。不同的发行版将软件分解为不同的软件包集并使用不同的名称。

在运行相同发行版的相同版本的计算机之间,您可以通过复制已安装软件包的列表来实现类似的安装。在使用 的系统上apt,例如 Debian 及其衍生版本(Ubuntu、Mint 等),请使用apt-clone。看如何将已安装的软件包选择从一个 Debian 系统复制到另一个 Debian 系统?(Debian Wheezy)以获得确切的命令。简而言之,在旧机器上:

sudo apt-get install apt-clone
apt-clone clone foo

复制foo.apt-clone.tar.gz到新机器并运行

sudo apt-get install apt-clone
sudo apt-clone restore foo.apt-clone.tar.gz

apt-clone可以在相关发行版之间工作,例如 Debian 和 Ubuntu。在这种情况下使用restore-new-distro而不是。restore如果失败,请使用手动方法使用dpkg --get-selectionsapt-mark,并摆弄软件包列表,直到 apt 满意为止。

对于您自己的设置,更简单:只需复制点文件从您的主目录。通常,配置与您帐户中的硬件无关的内容,而不是系统范围内的内容;这样就可以轻松地将它们复制到另一台机器上。

答案2

如果您留在 Debian 家族中,是的,您可以非常轻松地转移它们。只需列出当前安装的软件包,将它们保存到文件中,然后读取该文件即可重新安装它们:

  1. 将已安装的包保存在文件中installed

    dpkg -l | grep ^ii | awk '{print $2}' > installed
    
  2. 在新安装的基于 Debian 的发行版中,安装保存的软件包:

    sudo apt-get install $(cat installed)
    

或者,您可以使用 GUI 工具来完成此操作。 Mint 有一个非常好的名字叫做mintbackup:

薄荷备份截图

然后,从新安装:

mintbackup 的另一个屏幕截图

答案3

设置通常存储在/etc/. 等等管理员可以得心应手。它的主要目的是变成/etc/一个 git 存储库,但如果我理解得很好的话,它也会过滤掉一些你不想复制的部分。因此,如果您熟悉git,您最好使用etckeeper将更改合并到新安装中。

相关内容