我目前正在运行基于 Ubuntu 20.04 的 KDE Neon,但我想尝试回到“正常”的 Ubuntu。
我有一个单独的 /home 分区,但是我在 /opt 中有各种手动安装、对 grub 的更改、启动脚本等,所以我并不想进行备份和全新安装。
下列说法有什么问题吗?
删除 neon 包:
sudo apt remove 'neon-*'
从 apt 中删除 neon 存储库:
sudo find /etc/apt/sources.list.d -name "neon*" -exec rm {} \;
然后更新并安装 ubuntu 桌面:
sudo apt update
sudu apt install kubuntu-desktop
答案1
总结这是可能的,但是非常困难。
下文介绍的方法不提供任何保证。使用时风险自负。
初始状态
我们在新安装的neon-user-20200910-0945.iso
系统上拥有的内容:
$ grep ^deb -r /etc/apt/ --include=*.list /etc/apt/sources.list:deb http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse /etc/apt/sources.list:deb http://security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse /etc/apt/sources.list:deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse /etc/apt/sources.list.d/preinstalled-pool.list:deb [arch=amd64] file:/var/lib/preinstalled-pool/ focal main restricted universe multiverse /etc/apt/sources.list.d/neon.list:deb http://archive.neon.kde.org/user focal main /etc/apt/sources.list.d/neon.list:deb-src http://archive.neon.kde.org/user focal main
因此它基于 Ubuntu 20.04 LTS(焦点) 和一些额外的包。
我们可以遵循并调整我的方法将 LinuxMint 转换为 Ubuntu。
转换 KDE Neon → Kubuntu Focal Fossa 20.04 LTS
刚安装的 KDE Neon 案例
让我们创建脚本来列出已知存储库中的软件包:
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
找到 Neon 包并将其删除:
sh find_origin.sh | grep neon.kde.org > ~/neon-packages-all.txt
cat neon-packages-all.txt | grep -v "E:" | grep -v ^base-files > ~/neon-packages-remove.txt
sudo sed -i "s/deb/#deb/g" /etc/apt/sources.list.d/neon.list /etc/apt/sources.list.d/preinstalled-pool.list
sudo apt-get update
sudo apt-get install aptitude
sudo aptitude purge $(cat ~/neon-packages-remove.txt | awk '{print $1}')
使用以下命令启动 Aptitude sudo aptitude
。
设置所有软件包过时的和本地创建的软件包要清除的部分。
使用以下命令检查本地安装的软件包:
sh find_origin.sh | grep /var
重新安装这里列出的一个(可能更多!)软件包 -base-files
来自 focal-updates:
sudo apt-get install base-files=11ubuntu5.2 --reinstall
然后使用以下命令清除所有没有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
最后安装 Kubuntu 桌面:
sudo apt-get install kubuntu-desktop^ kde-full
重新启动后,Kubuntu Focal 20.04 LTS 几乎恢复正常:)
移除 KDE Neon 的情况霓虹灯列表文件
首先,我们需要列出所有软件包氖名称或版本:
dpkg -l | grep neon > ~/neon-packages.txt
sudo aptitude purge $(cat ~/neon-packages.txt | awk '{print $2}')
使用以下方法重新安装单个包
sudo apt-get install base-files=11ubuntu5.2 --reinstall
安装 KDE 和 Kubuntu
sudo apt-get install kubuntu-desktop^ kde-full $(cat ~/neon-packages.txt | awk '{print $2}' | grep -vE "docker-neon|libkaccounts2:amd64|libkdsoap-common|libkdsoap1:amd64|libksgrd9:amd64|libksignalplotter9:amd64|libksysguardformatter1:amd64|libksysguardsensorfaces1:amd64|libksysguardsensors1:amd64|libkwaylandserver5:amd64|libprocesscore9:amd64|libprocessui9:amd64|libqt5qmlmodels5:amd64|libqt5qmlworkerscript5:amd64|neon-adwaita|neon-apport|neon-desktop|neon-hardware-integration|neon-keyring|neon-settings-2|neon-ubuntu-advantage-tools|okular-backends|qml-module-org-kde-ksysguard:amd64")
重新启动后,Kubuntu Focal 20.04 LTS 几乎恢复正常:)
答案2
不,您不能将 KDE Neon 转换为 Ubuntu。
KDE Neon 是一个完全不同的 Linux 发行版,具有不同的存储库。
仅供参考:Ubuntu 的默认版本使用 GNOME3 桌面。如果您想使用带有 KDE 的 Ubuntu,可以安装 Kubuntu,它是 Ubuntu 的官方版本。