初始状态

初始状态

我目前正在运行基于 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 的官方版本。

相关内容