AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1058550
Accepted
Ashkan
Ashkan
Asked: 2018-07-23 20:48:05 +0800 CST2018-07-23 20:48:05 +0800 CST 2018-07-23 20:48:05 +0800 CST

将 Linux Mint 更改为 Ubuntu

  • 772

我已经安装了 Linux Mint,现在我想将其更改为 Ubuntu,但我有很多应用程序和信息。

有什么方法可以在不丢失数据的情况下获取 Ubuntu?或者如何备份我的信息和应用程序,然后安装一个新的 Ubuntu 并在上面复制备份?

system-installation mint
  • 3 3 个回答
  • 16020 Views

3 个回答

  • Voted
  1. Best Answer
    N0rbert
    2018-07-24T01:29:59+08:002018-07-24T01:29:59+08:00

    TL;DR这是可能的,但非常困难。

    以下方法不提供任何保证。自行承担使用风险。

    LinuxMint MATE 18.3 (Sylvia) -> Ubuntu Xenial Xerus 16.04 LTS

    我已经安装了 LinuxMint MATE 18.3 (Sylvia)。我问自己一个问题——是否可以在不重新安装的情况下将其转换为普通的 Ubuntu Xenial Xerus 16.04 LTS?

    我用脚本找到了很好的答案,用于列出已知存储库中的包。我根据我的情况对其进行了调整:

    cat > find_origin.sh << \EOF
    LC_ALL=C dpkg-query --showformat='${Package}:${Status}\n' -W '*' | \
    fgrep ':install ok installed' | cut -d: -f1 | \
    (while read pkg; do inst_version=$(apt-cache policy $pkg \
    | fgrep Installed: \
    | awk '{ print $2 }'); origin=$(apt-cache policy "$pkg" \
    | fgrep " *** ${inst_version}" -C1 \
    | tail -n 1 \
    | cut -c12-); echo $pkg $origin; done)
    EOF
    

    然后运行它来查找 Mint 包并删除它们:

    sh find_origin.sh | grep packages.linuxmint.com > mint-packages-all.txt
    
    
    cat mint-packages-all.txt | grep -v "E:" | grep -v ^bash | grep -v ^base-files | grep -v ^mintsources | grep -v grub > mint-packages-remove.txt
    
    
    sudo apt-get install aptitude
    sudo aptitude purge $(cat mint-packages-remove.txt | awk '{print $1}')
    
    sudo sed -i 's/^deb http:\/\/packages.linuxmint.com/#deb http:\/\/packages.linuxmint.com/g' /etc/apt/sources.list.d/official-package-repositories.list
    sudo rm /etc/apt/preferences.d/official-package-repositories.pref
    

    然后重新启动并使用sudo aptitude.
    将过时和本地创建的包部分中的所有包设置为清除。

    并检查本地安装的软件包:

    sh find_origin.sh | grep /var
    

    因此,我重新安装了此处列出的两个软件包 -bash以及base-files来自终端的 xenial-updates 存储库:

    sudo apt-get install bash=4.3-14ubuntu1.2 base-files=9.4ubuntu4.7
    

    然后使用以下命令清除所有没有ii状态(例如rc)的包:

    sudo apt-get purge $(dpkg -l | grep -v ^ii | tail -n +6 | awk '{print $2}')
    sudo apt-get install linux-image-generic linux-headers-generic
    sudo apt-get purge linux-image-4.10.0-*-generic linux-headers-4.10.0-*-generic
    sudo locale-gen en_US.UTF-8
    

    从主目录中删除 Mint 文件:

    rm -rf ~/.linuxmint/
    

    检查系统完整性debsums:

    sudo apt-get install debsums
    sudo debsums_init
    sudo debsums -a -c # carefully check all files listed here with `dpkg -S filepath`
    
    sudo apt-get install --reinstall cups-filters gnome-accessibility-themes im-config imagemagick sound-theme-freedesktop imagemagick-6.q16 libreoffice-draw libreoffice-math gnome-colors-common vino gnome-orca
    sudo apt-get -o Dpkg::Options::="--force-confask" install --reinstall acpid libcompizconfig0 mate-menus systemd xdg-user-dirs-gtk vino # select Y
    

    然后我检查了系统中的文件,这些文件不是来自 Ubuntu 存储库:

    sudo find /bin /etc /lib /lib64 /opt /sbin /srv /usr /var -type f -exec dpkg -S {} \; 2> ~/Desktop/results.out
    

    删除了以下对象:

    sudo rm -rf /etc/linuxmint
    sudo rm /usr/lib/python2.7/dist-packages/oneconf/distributor/LinuxMint.pyc
    

    最后安装了 Ubuntu MATE 桌面:

    sudo apt-get install ubuntu-mate-desktop^
    

    重新启动,我有几乎正常的 Ubuntu Xenial 16.04 LTS :)

    LinuxMint MATE 19 (Tara) -> Ubuntu Bionic Beaver 18.04 LTS

    警告:此方法未经测试。基于以上 18.3 -> 16.04 LTS。

    让我们列出已知存储库中的软件包:

    cat > find_origin.sh << \EOF
    LC_ALL=C dpkg-query --showformat='${Package}:${Status}\n' -W '*' | \
    fgrep ':install ok installed' | cut -d: -f1 | \
    (while read pkg; do inst_version=$(apt-cache policy $pkg \
    | fgrep Installed: \
    | awk '{ print $2 }'); origin=$(apt-cache policy "$pkg" \
    | fgrep " *** ${inst_version}" -C1 \
    | tail -n 1 \
    | cut -c12-); echo $pkg $origin; done)
    EOF
    

    找到 Mint 包并删除它们:

    sh find_origin.sh | grep packages.linuxmint.com > mint-packages-all.txt
    
    
    cat mint-packages-all.txt | grep -v "E:" | grep -v ^bash | grep -v ^base-files | grep -v ^mintsources | grep -v grub > mint-packages-remove.txt
    
    
    sudo apt-get install aptitude
    sudo aptitude purge $(cat mint-packages-remove.txt | awk '{print $1}')
    
    sudo sed -i 's/^deb http:\/\/packages.linuxmint.com/#deb http:\/\/packages.linuxmint.com/g' /etc/apt/sources.list.d/official-package-repositories.list
    sudo rm /etc/apt/preferences.d/official-package-repositories.pref
    

    使用 启动 Aptitude sudo aptitude。
    将过时和本地创建的包部分中的所有包设置为清除。

    检查本地安装的软件包:

    sh find_origin.sh | grep /var
    

    重新安装此处列出的两个(也许更多!)包 -bash以及base-files来自终端的仿生更新存储库:

    sudo apt-get install bash=4.4.18-2ubuntu1 base-files=10.1ubuntu2.1 desktop-file-utils=0.23-1ubuntu3.18.04
    

    然后清除所有没有ii状态(例如rc)的包:

    sudo apt-get purge $(dpkg -l | grep -v ^ii | tail -n +6 | awk '{print $2}')
    sudo apt-get install linux-image-generic linux-headers-generic
    sudo locale-gen en_US.UTF-8
    

    从主目录中删除 Mint 文件:

    rm -rf ~/.linuxmint/
    

    检查系统完整性debsums:

    sudo apt-get install debsums
    sudo debsums_init
    sudo debsums -a -c # carefully check all files listed here with `dpkg -S filepath`
    
    sudo apt-get install --reinstall caja casper compton cups-filters engrampa gnome-icon-theme gnome-accessibility-themes im-config imagemagick libgs9 mate-desktop mate-icon-theme mate-screensaver mate-screensaver-common mate-system-monitor mate-utils openjdk-11-jre sound-theme-freedesktop imagemagick-6.q16 libreoffice-draw libreoffice-math gnome-colors-common vino gnome-orca
    sudo apt-get -o Dpkg::Options::="--force-confask" install --reinstall acpid libcompizconfig0 mate-menus systemd xdg-user-dirs-gtk vino # select Y
    

    然后检查系统中的文件,这些文件不是来自 Ubuntu 存储库:

    sudo find /bin /etc /lib /lib64 /opt /sbin /srv /usr /var -type f -exec dpkg -S {} \; 2> ~/Desktop/results.out
    

    删除以下对象(可能是其他对象!):

    sudo rm -rf /etc/linuxmint
    sudo rm -rf /usr/lib/linuxmint
    sudo rm /usr/lib/python2.7/dist-packages/oneconf/distributor/LinuxMint.pyc
    

    最后安装 Ubuntu MATE 桌面:

    sudo apt-get install lightdm-gtk-greeter ubuntu-mate-lightdm-theme ubuntu-mate-themes ubuntu-mate-wallpapers* ubuntu-mate-core ubuntu-mate-default-settings ubuntu-mate-artwork ubuntu-mate-icon-themes plymouth-theme-ubuntu-mate-logo plymouth-theme-ubuntu-mate-text grub2-themes-ubuntu-mate mate-tweak ubuntu-mate-guide caja-eiciel compiz-mate eom mate-accessibility-profiles mate-applet-appmenu mate-applet-brisk-menu mate-calc mate-dock-applet mate-hud mate-menu mate-netbook mate-optimus mate-user-guide mate-window-applets-common mate-window-buttons-applet mate-window-menu-applet mate-window-title-applet folder-color-caja deja-dup-caja gsettings-ubuntu-schemas indicator-messages indicator-power indicator-session indicator-sound brasero shotwell simple-scan smbclient ubuntu-standard vlc gdebi gdebi-core plank seahorse tilda sessioninstaller
    

    将 MATE 桌面设置重置为默认值:

    dconf reset -f /org/mate
    gsettings set org.mate.panel default-layout "'default'"
    

    将 MATE Welcome 和 Software Boutique 安装为 Snap:

    snap install software-boutique --classic
    snap install ubuntu-mate-welcome --classic
    

    重新启动并拥有几乎正常的 Ubuntu Bionic 18.04 LTS :)

    LinuxMint MATE 20 (Ulyana) -> Ubuntu Focal Fossa 20.04 LTS

    让我们列出已知存储库中的软件包:

    cat > find_origin.sh << \EOF
    LC_ALL=C dpkg-query --showformat='${Package}:${Status}\n' -W '*' | \
    fgrep ':install ok installed' | cut -d: -f1 | \
    (while read pkg; do inst_version=$(apt-cache policy $pkg \
    | fgrep Installed: \
    | awk '{ print $2 }'); origin=$(apt-cache policy "$pkg" \
    | fgrep " *** ${inst_version}" -C1 \
    | tail -n 1 \
    | cut -c12-); echo $pkg $origin; done)
    EOF
    

    找到 Mint 包并删除它们:

    sh find_origin.sh | grep packages.linuxmint.com > mint-packages-all.txt
    
    
    cat mint-packages-all.txt | grep -v "E:" | grep -v ^bash | grep -v ^base-files | grep -v ^mintsources | grep -v grub > mint-packages-remove.txt
    
    
    sudo apt-get install aptitude
    sudo aptitude purge $(cat mint-packages-remove.txt | awk '{print $1}')
    
    sudo sed -i 's/^deb http:\/\/packages.linuxmint.com/#deb http:\/\/packages.linuxmint.com/g' /etc/apt/sources.list.d/official-package-repositories.list
    sudo rm /etc/apt/preferences.d/official-package-repositories.pref
    

    使用 启动 Aptitude sudo aptitude。
    将过时和本地创建的包部分中的所有包设置为清除。

    检查本地安装的软件包:

    sh find_origin.sh | grep /var
    

    重新安装此处列出的两个(可能更多!)包 -bash并base-files从终端的焦点更新存储库中重新安装:

    sudo apt-get install base-files=11ubuntu5 xapps-common=1.6.10-2
    

    然后清除所有没有ii状态(例如rc)的包:

    sudo apt-get purge $(dpkg -l | grep -v ^ii | tail -n +6 | awk '{print $2}')
    sudo apt-get install linux-image-generic linux-headers-generic
    sudo locale-gen en_US.UTF-8
    

    从主目录中删除 Mint 文件:

    rm -rf ~/.linuxmint/
    

    检查系统完整性debsums:

    sudo apt-get install debsums
    sudo debsums_init
    sudo debsums -a -c # carefully check all files listed here with `dpkg -S filepath`
    
    sudo apt-get install --reinstall caja casper compton cups-filters engrampa gnome-icon-theme gnome-accessibility-themes im-config imagemagick libgs9 mate-desktop mate-icon-theme mate-screensaver mate-screensaver-common mate-system-monitor mate-utils openjdk-11-jre sound-theme-freedesktop imagemagick-6.q16 libreoffice-draw libreoffice-math gnome-colors-common vino gnome-orca adwaita-icon-theme-full info
    sudo apt-get -o Dpkg::Options::="--force-confask" install --reinstall acpid libcompizconfig0 mate-menus systemd xdg-user-dirs-gtk vino casper # select Y
    

    然后检查系统中的文件,这些文件不是来自 Ubuntu 存储库:

    sudo find /bin /etc /lib /lib64 /opt /sbin /srv /usr /var -type f -exec dpkg -S {} \; 2> ~/Desktop/results.out
    

    删除以下对象(可能是其他对象!):

    sudo rm -rf /etc/linuxmint
    sudo rm -rf /usr/lib/linuxmint
    sudo rm /usr/lib/python3/dist-packages/__pycache__/mintreport.cpython-38.pyc
    

    最后在首次登录时安装 Ubuntu MATE 桌面:

    sudo apt-get install lightdm-gtk-greeter ubuntu-mate-lightdm-theme ubuntu-mate-themes ubuntu-mate-wallpapers* ubuntu-mate-core ubuntu-mate-default-settings ubuntu-mate-artwork ubuntu-mate-icon-themes plymouth-theme-ubuntu-mate-logo plymouth-theme-ubuntu-mate-text grub2-themes-ubuntu-mate mate-tweak ubuntu-mate-guide caja-eiciel compiz-mate eom mate-accessibility-profiles mate-applet-appmenu mate-applet-brisk-menu mate-calc mate-dock-applet mate-hud mate-menu mate-netbook mate-optimus mate-user-guide mate-window-applets-common mate-window-buttons-applet mate-window-menu-applet mate-window-title-applet folder-color-caja deja-dup-caja gsettings-ubuntu-schemas indicator-messages indicator-power indicator-session indicator-sound brasero shotwell simple-scan smbclient ubuntu-standard vlc gdebi gdebi-core plank seahorse tilda
    

    将 MATE 桌面设置重置为默认值:

    dconf reset -f /org/mate
    gsettings set org.mate.panel default-layout "'default'"
    

    将 MATE Welcome 和 Software Boutique 安装为 Snap:

    sudo snap install software-boutique --classic
    sudo snap install ubuntu-mate-welcome --classic
    

    重新启动并拥有几乎正常的 Ubuntu Focal 20.04 LTS :)

    • 7
  2. Paul Benson
    2018-08-07T10:42:27+08:002018-08-07T10:42:27+08:00

    1) 将您的应用程序备份到一个外部驱动器到您稍后需要的文本文件中的列表中,并在 Ubuntu 上恢复它们​​时遵循此方法。

    2) 使用 rsync 或与 GUI 等效的Grsync命令将数据备份到外部驱动器。

    3) 将您的主目录备份到外部驱动器(再次使用rsync)。这在 Ubuntu 上恢复更加棘手,因为您需要在 Ubuntu 安装后找到 UUID 并确保它正确输入到fstab文件中,否则它不会在启动时挂载。

    4) 您还可以备份所有 Debian 存储库。我了解 Mint 使用与 Ubuntu 相同的那些(Canonical 除外)。这些将在/etc/apt folder.

    5) 从 Live UFD 安装 Ubuntu,为 home、swap 和 root 创建分区。将主文件夹内容恢复到新创建的主分区并检查 fstab 中的 UUID 配置,如 3)。您可能必须为其创建一个新条目。恢复应用程序和数据文件,如 1 - 2 所示。

    • 0
  3. p0358
    2021-06-19T14:05:49+08:002021-06-19T14:05:49+08:00

    我成功地执行了类似于@N0rbert 描述的步骤。在我的情况下,将 Mint 18.3 转换为 Ubuntu 16.04 LTS 并且过程变得更少,如下所示:

    1. 我packages.linuxmint.com从/etc/apt/preferences.d/official-package-repositories.pref

    2. apt update && apt upgrade

    3. apt remove --purge *mint*,确认它是否抱怨删除mintsystem和synaptic

    4. 我确实安装了apt install bash=4.3-14ubuntu* base-files=9.4ubuntu*

    5. 此时lsb_release -a应该已经显示 Ubuntu。删除mintsystem可能会损坏,请执行以下操作:

      update-rc.d -f mintsystem remove
      rm /var/lib/dpkg/info/mintsystem.postinst
      rm -rf ~/.linuxmint/
      sudo rm -rf /etc/linuxmint
      sudo rm /usr/lib/python2.7/dist-packages/oneconf/distributor/LinuxMint.pyc
      dpkg --purge mintsystem
      
    6. 然后升级到下一个 Ubuntu 版本,apt install update-manager-core.

    7. 现在您可以检查更新do-release-upgrade -c和更新do-release-upgrade。更新程序应该修复任何被破坏的东西。对我来说,它工作得 100% 没问题,但在升级之前,我还删除了我能找到的与桌面环境相关的所有内容,因为我想将它转换为服务器专用的机器。

    注意:如果一路上apt突然没有发现,不要惊慌!它只是将其路径更改为默认值。输入bash并在新提示中它将再次起作用。

    • 0

相关问题

  • Wubi 和常规的“Windows 旁边”安装有什么区别?

  • 如何在 Windows 7 中运行 Ubuntu?

  • 您对台式机和家庭服务器的驱动器分区方案有什么建议?[关闭]

  • 安装时,我可以选择加密我的主文件夹——这是做什么的?

  • 在不使用标准升级系统的情况下升级有哪些替代方案?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve