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

Ton*_*ony 21 ubuntu backup debian restore

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

Gil*_*il' 39

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

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

sudo apt-get install apt-clone
apt-clone clone foo
Run Code Online (Sandbox Code Playgroud)

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

sudo apt-get install apt-clone
sudo apt-clone restore foo.apt-clone.tar.gz
Run Code Online (Sandbox Code Playgroud)

apt-clone可以在相关发行版之间工作,例如 Debian 和 Ubuntu。在这种情况下使用restore-new-distro代替restore。如果失败,则使用手工方法dpkg --get-selectionsapt-mark,和小提琴与包列表,直到容易满足。

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


ter*_*don 11

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

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

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

    sudo apt-get install $(cat installed)
    
    Run Code Online (Sandbox Code Playgroud)

或者,您可以为此使用 GUI 工具。Mint 有一个很好的叫mintbackup

薄荷备份截图

然后,从新安装:

mintbackup 的另一个截图