如何将Ubuntu回滚到以前的版本?

我刚刚安装了新版本的Ubuntu,我想把它推回到以前的版本。

我怎样才能做到这一点? 这有可能吗?

在某种程度上可能会降级发布。 有了足够的战斗,就可以完成(有关技术细节,请参阅此处的其他一些答案)。

但是,您最终得到的结果与升级前的结果不同。 在升级过程中,会进行某些单向更改以使新程序包满意并降级它们不会反转这些编辑。 我们无法保证降级会起作用,更不用说它会稳定下来了。

简而言之,您最简单的选择始终是重新安装。 不要把它看作是一件苦差事,把它看作是减少包装和配置更好的好机会。

如果您希望将来测试某些内容并且您担心可能会遇到问题,请务必确保执行以下操作:

  • 首先测试LiveCD。 如果您将立即遇到硬件问题,请告知您。
  • 在做任何事之前备份。 我知道每个人和他们的母亲已经告诉过你这样做,但是如果你认为你会遇到问题,这一点非常重要。 如果超过20分钟你不能没有你的机器,考虑一些像Clonezilla这样的全盘克隆工具,这样你就可以恢复以前版本的磁盘。 还有其他工具可以提供类似的结果。
  • 保持数据分离。 如果你不断升级/降级,那么将/home/置于与安装相同的分区中是一个令人头疼的秘诀。 将其推送到另一个磁盘或至少另一个分区,这样当您需要重新安装时,您只需要设置安装。
  • 降级的关键错误是由Ubuntu QA团队修复的。 请务必仔细阅读,因为有些人会建议您只使用较旧的CD并“升级”它,但这是一个坏主意。

在我的语言中有一种说法可以粗略地翻译为“你不能通过在相反的方向旋转碎肉机的手柄将肉末变成肉”:)

在此处输入图像描述

升级过程是单向的 – 在安装新版本的软件时,您的配置文件和设置会被软件包的安装后脚本修改为使用新软件所需的新格式。 基本上,没有相反的过程 – 使新的配置文件与旧软件兼容。

可以在包装工具(apt)的层面上实现。 但是由此产生的系统可能不等同于重新安装,并且您可能会遇到错误 。 这是因为许多软件包包含对升级的特定支持(例如,处理配置文件中的更改),但不包括降级。

通常,apt更喜欢安装最新版本的软件包。 但您可以通过固定来更改此设置:您可以声明旧版本中的软件包具有比已安装软件包更高的优先级,因此当您执行aptitude dist-upgrade时它们将被降级。

将您的/etc/apt/sources.list更改为仅包含旧版本(编辑文件或使用您喜欢的GUI),然后运行aptitude update 。 然后编辑/etc/apt/preferences (在apt_preferences手册页中记录 )并添加以下行(降级为清除):

 Package: * Pin: release v=10.04 Pin-Priority: 1001 

然后运行aptitude dist-upgrade 。 每个程序包的优先级都大于1000,因此10.04中存在并安装在系统上的每个程序包都将降级。 您必须手动删除不在10.04中的软件包; 它们将被列在aptitude中的“过时和本地创建的包”下。

他们说,“永远不要说永远”,“没有什么是不可能的” – 这两者都是真的,但不是你的情况。 我建议您备份数据并重新安装,或者坚持下去。 随着时间的推移,系统应该变得越来越稳定。

您也可以在现有安装的基础上重新安装(它将保留您的文件)。

但是,根据经验,尽量避免升级到生产系统上的开发版本(特别是如果您不是测试人员/开发人员)。

你可以手动完成。

首先生成系统上已安装的列表。 您可以通过在终端中键入以下内容来完成此操作。

 sudo dpkg --get-selections | grep '[[:space:]]install$' | \awk '{print $1}' > package_list 

将/ home和/ etc文件夹复制到备份媒体。

重新安装ubuntu 10.04。 恢复备份(记住设置正确的预设)。 然后运行以下命令重新安装之前的所有程序。

 cat package_list | xargs sudo apt-get install 

请注意,您可能必须对/ etc和/ home文件夹进行一些清除,以获得不兼容的设置。

这就是您不应该将主安装升级到开发版本的原因。 如果要测试开发版本,则应在单独的分区上执行此操作,以便在出现问题时可以重新启动稳定版本。

此时如果要返回11.04,则需要重新安装,然后选择手动分区。 配置分区时请勿检查格式框,并且用户文件应保持不变。

简单方法是从以前版本的CD / DVD或USB记忆棒启动,并通过覆盖现有安装重新安装Ubuntu。

不要忘记先备份:你的home目录,你可能有任何其他地方的个人数据。

对于某些软件包而言,回滚可以正常工作,但是我不会期望整个发行版的大规模回滚会给你留下除了可怕的破坏系统之外的任何其他东西(或者表面看起来很糟糕的系统)没问题,但是当你发现它变得越来越破碎时,奇怪的东西会不断出现。

APT的设计目的是尽可能避免回滚,而构成Ubuntu(和Debian,就此而言)分发的软件包并没有设计成平滑的回滚作为设计目标。

除非您拥有可靠的全系统备份,否则您真正需要做的是确保备份整个主目录(也可能在单独的分区上),从您选择的版本的CD映像重新安装,然后开始从主文件夹恢复数据。 您甚至可能需要有选择地恢复主目录中的dotfiles ,以防任何已经习惯了新版本的版本与旧版本不相符。

在此之前,您可能希望仔细阅读已安装的软件包并记下您依赖的软件包,以便重新安装它们。 有一些工具可以备份和恢复已安装的软件包列表,但是如果你需要/包含的软件包可能已经更改,我通常不建议这样做。

简单地说:不,没有。 对不起……(这些是升级到测试版本的危险!)