有没有办法在不重新安装的情况下从带有 Mate 桌面的 Linux Mint 过渡到 Ubuntu MATE?

sil*_*pol 9 gnome apt mint mate cinnamon

简史:出于各种原因,我从带有Gnome 2.0 的Ubuntu桌面过渡到Ubuntu XFCE(从 Gnome 3 生病),然后到Cinnamon桌面环境,不知何故将我推入了Linux Mint世界。然后我得到了Mate 桌面,这似乎是我暂时需要的。事实证明,只有Linux Mint才是我想要摆脱的。

现在的挑战是我有一个开发环境。虽然我确实保留了备份,但我想在不完全重新安装和恢复的情况下过渡到 Ubuntu。

在普通Ubuntu和例如Xubuntu之间的切换看起来很简单——只需切换 apt 源集并让 apt 做生意。但是Linux Mint有更多的钩子用于 URL 和路径的“计算”。所以这该死的事情不让我回去,或者至少我是这么认为的。我试图找到现有的howto无济于事。

任何个人经验都会很棒,但我需要的是一组描述要做什么的步骤,至少是关于陷阱的最少指导以及(可选)一些关于 apt 幕后更改的提示,这些提示不会让我离开现在。

小智 3

假设开发环境位于您的主目录中的某个位置,这就是我将尝试的方法。请注意,我自己没有尝试过,所以这绝对没有保修。简而言之,我会在另一个分区中安装带有 MATE 的 Ubuntu,然后安装在 Mint 中安装的所有软件包,并在新系统中重用当前的主目录。

更详细:

  1. 在您当前的系统中,以可用的形式获取已安装软件包的列表dpkg --set-selections

    apt-mark showmanual | sed -e 's/$/ install/' > pkgs.txt
    
    Run Code Online (Sandbox Code Playgroud)

    (这只会为您提供手动安装的软件包列表;我相信这应该足够好了,或者您可以使用 获取每个已安装软件包的列表dpkg --get-selections '*' > pkgs.txt)。

  2. 在新分区上安装 Ubuntu。

  3. 安装伴侣:

    sudo apt-get install mate-core
    
    Run Code Online (Sandbox Code Playgroud)

    对于最小的 MATE 桌面或

    sudo apt-get install mate-desktop-environment
    
    Run Code Online (Sandbox Code Playgroud)

    以获得完整的 MATE 桌面。

  4. 重复利用 Mint 的房屋。/etc/fstab您可以通过将其全部复制来完成此操作,或者(以最小的方式使其被新系统以某种方式更改的风险)通过在 Ubuntu 中编辑并添加以下行将其直接安装到新系统中:

    /dev/disk/by-uuid/<uuid-of-mint-part> /mnt/mint auto nosuid,nodev,nofail,user,exec 0 0
    /mnt/mint/home/<user>   /home/<user> none bind
    
    Run Code Online (Sandbox Code Playgroud)

    在这里你可以使用blkid /dev/<mint-partition>命令来查找应该找出mint分区的UUID。还要记住创建该/mnt/mint目录,因为我相信它必须存在才能成功挂载。

  5. 重新启动(再次进入 Ubuntu);当系统启动时,您的主目录应该是 Mint 中的目录。

  6. 安装您在 Mint 中安装的额外软件包:将pkgs.txt您在步骤 1 中创建的文件复制到新系统中,然后从那里发出命令:

    sudo dpkg --set-selections < selection.txt
    sudo apt-get -u dselect-upgrade
    
    Run Code Online (Sandbox Code Playgroud)

如果一切按预期进行,并且您在家里使用了“绑定安装”技巧,则可以将其永久移动到新位置,然后删除您的 Mint 分区。