Ash*_*kan 6 mint system-installation
我已经安装了 Linux Mint,现在我想将其更改为 Ubuntu,但我有很多关于它的应用程序和信息。
有没有办法在不丢失数据的情况下获得 Ubuntu?或者如何备份我的信息和应用程序,然后安装一个全新的 Ubuntu 并在其上复制备份?
TL;DR这是可能的,但非常困难。
以下方法不作任何保证。自行承担使用风险。
我已经安装了 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
Run Code Online (Sandbox Code Playgroud)
然后运行它以查找 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
Run Code Online (Sandbox Code Playgroud)
然后重新启动并使用sudo aptitude.
将过时和本地创建的包部分中的所有包设置为清除。
并使用以下命令检查本地安装的软件包:
sh find_origin.sh | grep /var
Run Code Online (Sandbox Code Playgroud)
因此,我重新安装了此处列出的两个软件包 -bash以及base-files来自终端的 xenial-updates 存储库:
sudo apt-get install bash=4.3-14ubuntu1.2 base-files=9.4ubuntu4.7
Run Code Online (Sandbox Code Playgroud)
然后使用以下命令清除所有没有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
Run Code Online (Sandbox Code Playgroud)
从主目录中删除 Mint 文件:
rm -rf ~/.linuxmint/
Run Code Online (Sandbox Code Playgroud)
使用以下命令检查系统完整性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
Run Code Online (Sandbox Code Playgroud)
然后我检查了系统中的文件,这些文件不是来自 Ubuntu 存储库:
sudo find /bin /etc /lib /lib64 /opt /sbin /srv /usr /var -type f -exec dpkg -S {} \; 2> ~/Desktop/results.out
Run Code Online (Sandbox Code Playgroud)
删除了以下对象:
sudo rm -rf /etc/linuxmint
sudo rm /usr/lib/python2.7/dist-packages/oneconf/distributor/LinuxMint.pyc
Run Code Online (Sandbox Code Playgroud)
最后安装了 Ubuntu MATE 桌面:
sudo apt-get install ubuntu-mate-desktop^
Run Code Online (Sandbox Code Playgroud)
重新启动,我几乎正常的 Ubuntu Xenial 16.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
Run Code Online (Sandbox Code Playgroud)
找到 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
Run Code Online (Sandbox Code Playgroud)
使用sudo aptitude.
将过时和本地创建的包部分中的所有包设置为清除。
使用以下命令检查本地安装的软件包:
sh find_origin.sh | grep /var
Run Code Online (Sandbox Code Playgroud)
重新安装此处列出的两个(可能更多!)软件包 -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
Run Code Online (Sandbox Code Playgroud)
然后使用以下命令清除所有没有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
Run Code Online (Sandbox Code Playgroud)
从主目录中删除 Mint 文件:
rm -rf ~/.linuxmint/
Run Code Online (Sandbox Code Playgroud)
使用以下命令检查系统完整性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
Run Code Online (Sandbox Code Playgroud)
然后检查系统中的文件,这些文件不是来自 Ubuntu 存储库:
sudo find /bin /etc /lib /lib64 /opt /sbin /srv /usr /var -type f -exec dpkg -S {} \; 2> ~/Desktop/results.out
Run Code Online (Sandbox Code Playgroud)
删除以下对象(可能是其他对象!):
sudo rm -rf /etc/linuxmint
sudo rm -rf /usr/lib/linuxmint
sudo rm /usr/lib/python2.7/dist-packages/oneconf/distributor/LinuxMint.pyc
Run Code Online (Sandbox Code Playgroud)
最后安装 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
Run Code Online (Sandbox Code Playgroud)
将 MATE 桌面设置重置为默认值:
dconf reset -f /org/mate
gsettings set org.mate.panel default-layout "'default'"
Run Code Online (Sandbox Code Playgroud)
安装 MATE Welcome 和 Software Boutique 作为 Snaps:
snap install software-boutique --classic
snap install ubuntu-mate-welcome --classic
Run Code Online (Sandbox Code Playgroud)
重新启动并获得几乎正常的 Ubuntu Bionic 18.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
Run Code Online (Sandbox Code Playgroud)
找到 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
Run Code Online (Sandbox Code Playgroud)
使用sudo aptitude.
将过时和本地创建的包部分中的所有包设置为清除。
使用以下命令检查本地安装的软件包:
sh find_origin.sh | grep /var
Run Code Online (Sandbox Code Playgroud)
重新安装此处列出的两个(可能更多!)软件包 -bash以及base-files来自终端的 focus-updates 存储库:
sudo apt-get install base-files=11ubuntu5 xapps-common=1.6.10-2
Run Code Online (Sandbox Code Playgroud)
然后使用以下命令清除所有没有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
Run Code Online (Sandbox Code Playgroud)
从主目录中删除 Mint 文件:
rm -rf ~/.linuxmint/
Run Code Online (Sandbox Code Playgroud)
使用以下命令检查系统完整性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
Run Code Online (Sandbox Code Playgroud)
然后检查系统中的文件,这些文件不是来自 Ubuntu 存储库:
sudo find /bin /etc /lib /lib64 /opt /sbin /srv /usr /var -type f -exec dpkg -S {} \; 2> ~/Desktop/results.out
Run Code Online (Sandbox Code Playgroud)
删除以下对象(可能是其他对象!):
sudo rm -rf /etc/linuxmint
sudo rm -rf /usr/lib/linuxmint
sudo rm /usr/lib/python3/dist-packages/__pycache__/mintreport.cpython-38.pyc
Run Code Online (Sandbox Code Playgroud)
最后在第一次登录时安装 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
Run Code Online (Sandbox Code Playgroud)
将 MATE 桌面设置重置为默认值:
dconf reset -f /org/mate
gsettings set org.mate.panel default-layout "'default'"
Run Code Online (Sandbox Code Playgroud)
安装 MATE Welcome 和 Software Boutique 作为 Snaps:
sudo snap install software-boutique --classic
sudo snap install ubuntu-mate-welcome --classic
Run Code Online (Sandbox Code Playgroud)
重新启动并获得几乎正常的 Ubuntu Focal 20.04 LTS :)
| 归档时间: |
|
| 查看次数: |
12187 次 |
| 最近记录: |