全新安装比升级好吗?

安装Ubuntu全新的话会更好,还是升级过程一样好?换句话说,与重新安装相比,升级后我的电脑能够同样无故障且高效运行吗?

从简单的看来,APTonCD似乎不能用于进行版本升级。而且我相当确定它也无法帮助您在进行全新安装时备份/恢复文档。 - Sergey
18个回答

通常情况下,在Ubuntu上进行升级是没问题的。这不像Windows那样,你需要将一个巨大的注册表从上个系统迁移过来。只要你没有必须遵循很多教程或采取任何绕过方法来修复问题(例如使用特殊应用程序启用无线网卡或出于任何原因对内核进行重大更改),你就没问题。
实际上,我可以说,有大约90%的人问这个问题并进行升级都没问题。
如果你想要绝对安全,你总可以等待经过验证的点版本升级,甚至可以等几年后的下一个LTS版本发布。这是你的选择。如果你现在正在使用10.04,你仍然会在接下来的三年里得到更新支持。

这取决于你使用Ubuntu的目的。
- 如果你的安装只是一个玩具或者一个设备(例如仅用于浏览网页),并且你没有自定义它,那就重新安装吧。确保保存任何个人数据(通常你会想备份你的主目录并恢复选定的部分)。
- 如果你在旧版本下只进行了安装额外驱动程序或其他调整以解决硬件支持不佳的问题,那么最好进行干净的重新安装。
- 如果你以其他方式自定义了你的安装(配置系统设置,安装了多个额外程序等),请升级。如果你经常使用Ubuntu,这种情况可能适用(即使没有其他原因,你可能已经安装了一堆软件包)。
在系统层面上,Ubuntu非常擅长平滑升级。每个发布之前都会进行测试。这是一种受支持的操作模式,与重新安装并尝试记住所有自定义相比,更有可能让你拥有你想要的系统。
在用户层面上,Ubuntu的默认界面是Gnome,它在从一个版本导入设置到另一个版本方面并不太好。因此,选择是在重新安装和尝试记住所有自定义之间进行。
从一个新的主目录开始,并从备份中恢复所有文档和选定的设置;以及
在升级过程中保留您的主目录,并在出现问题时进行排查。
在任何情况下,都可以进行系统升级。

升级开发电脑有多安全?升级会删除现有的命令行工具吗?还有现有的专有驱动程序(Radeon显卡)呢?我在考虑是升级13.04到13.10还是等待LTS版本。 - latusaki
1@latusaki 升级时不能跳过版本,所以你必须按照 13.04 → 13.10 → 14.04LTS 的顺序进行升级。13.04 已经不再受支持,所以我建议你立即升级到 13.10 版本。升级不会删除任何东西,除非某个软件包已经消失。在一台典型的开发机上,升级是无痛的,除非你依赖于编译器的错误。 - Gilles 'SO- stop being evil'
13.04是个例外。它们允许从12.10升级到13.10,再升级到14.04。 - Braiam
@Braiam 嗯?你从哪里得到这个信息的?我一直以来都只看到“仅能从一个版本升级到下一个版本,或者从一个LTS版本升级到下一个LTS版本”。升级说明至今仍然如此,没有提到从12.10升级到13.10或14.04。 - Gilles 'SO- stop being evil'
1在这里http://askubuntu.com/a/368099/169736,他们对13.04做了一个例外,因为它在12.10之前已经到达了生命周期结束。还有在这里http://meta.askubuntu.com/a/7813/169736。 - Braiam

通常情况下,我们更倾向于进行全新安装,因为我曾经遇到过很多升级过程中的问题。升级过程通常会导致一些糟糕的图形驱动问题或者GPU问题。我甚至遇到了一些奇怪的问题,比如共享文件夹不可用和数据丢失。
嗯,这完全取决于你自己,因为即使你选择全新安装,问题仍然可能存在。但是全新安装的问题通常更容易理解和恢复。
祝你安装Ubuntu愉快 :)

如果可以的话,我会选择进行全新安装。升级时有几个人遇到了问题。顺便说一句,新的安装效果非常好。祝你玩得开心,……Erik。 - Erik
我可以确认这一点:尝试升级Kubuntu时遇到了各种系统错误。现在我正在安装一个全新的12.04版本(是的,在安装过程中可以使用Firefox ;-))。 - Yogu
是的,那就是我所说的精神。 :) - ashutosh
我同意,我会进行全新安装。我将我的系统从11.10升级到12.04,虽然升级过程顺利,但不久之后我就开始遇到程序崩溃等问题。所以为了节省时间,请通过Dropbox或Ubuntu One等方式备份您的文件,并进行全新安装。 - Steve
什么是“全新安装”?这意味着格式化我的驱动器,然后安装Ubuntu吗? - falconR

人生没有保证

在全新安装或升级过程中,可能会出现崩溃的情况。大多数人不会遇到崩溃问题。如果你是那个不幸的少数人,最好采取以下措施:

  • 备份可以恢复的数据,或者
  • 在单独的分区上进行安装/升级测试。

全新安装的优缺点

通过全新安装,你可以摆脱在LTS版本之间安装了两年的旧垃圾。然而,这也可能是一个缺点,因为你经常会忘记在/usr/etc子目录中添加的好东西。

升级的优缺点

在升级过程中,你会被告知每个配置文件将如何更改以适应新的软件包版本。你可以选择保留旧版本或使用新版本。例如,在从Ubuntu 16.04 LTS升级到18.04 LTS时,我的系统发生了以下变化:

  • 扫描仪配置 - /etc/sane.d/dll.conf
  • /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
  • 声音覆盖以保持HDMI电视活动 - /etc/pulse/default.pa
  • Grub覆盖以隐藏启动菜单,除非按下Escape键 - /etc/grub.d/30_os-prober
  • Cron(在新安装中会丢失所有内容!) - /etc/cron.d/anacron
  • 总网络流量监控实用程序 - /etc/vnstat.conf

在2018年5月6日运行升级时,我被告知将删除203个软件包。随着时间的推移,将添加对更多软件包的支持,因此在升级过程中将删除较少的软件包。最好确保所有关键需求的软件包都存在,或者您有其他开发人员提供的替代方案可供使用。

首先备份或在克隆分区上运行升级

备份和恢复是一件麻烦的事情。它耗时且经常无法按计划进行恢复。另一种选择是将您的16.04 LTS(或其他版本)克隆到一个新的测试分区,并在那里升级到18.04 LTS(或其他版本)。
我使用一个脚本来将Ubuntu克隆到一个测试分区以进行升级:Bash脚本用于将Ubuntu克隆到新分区以测试18.04 LTS升级
该脚本将会:
- 使用rsync确保从真实分区到测试分区的镜像完全一致。 - 更新测试分区的/boot/grub/grub.cfg,以便正确引导。 - 更新测试分区的/etc/fstab,以便正确引导。 - 运行sudo update-grub,将测试分区添加到启动菜单中。 - 允许您重新启动并在测试分区上运行升级操作。
升级测试分区后,您可以花时间探索所有新功能并检查错误。您仍然可以使用原始的Ubuntu安装进行日常工作。如果您在新版本中发现错误,可以在修复后的一两周内重新运行克隆和升级。如果与您的工作相关的关键软件包不受支持,但现在已经添加了支持,您也可以重新克隆和升级。

很好的优缺点分析。备份优先的建议是明智的。 - Elder Geek

对我来说,升级总是会导致问题,有时候是大问题,有时候是小问题。而且其中大部分问题都出现在家目录下的旧配置文件中。
所以我的常规流程如下:
1. 备份可能存储在根分区上的关键数据,比如mysql数据库。 2. 启动Live CD。 3. 小心地删除家目录中的隐藏文件,但可以保留一些文件,比如.purple、.VirtualBox、.wine等。 4. 格式化根分区并使用旧的家目录分区。

如果有可能的话,最好进行全新安装。
去年我面临了这个选择。
最好的是,我有两台系统需要升级,所以我可以通过逐个升级来进行比较。
总结一下,正如其他人所指出的,如果你能够进行全新安装,那就是最佳选择。这将清除掉可能会成为问题的东西。它将确保你的重要数据和个人程序不会固定在那台机器上(显然,在这种情况下,你会备份它们)。
我的“生产”机器是我升级的那台,因为我在那台机器上进行了关键工作。
不过,有一件事我想推荐,因为我知道这个过程有多么令人紧张:买一台另外的机器(现在你可以花不到300美元买到一台基本配置的机器)。用那台机器设置好你的关键内容,当它真正运行良好时,再升级你的核心机器。这样,如果出现问题(在操作系统的安装/升级中可能会非常可怕),你可以在解决问题的同时使用另一台机器。你还会得到一个物理备份和一个备用机器,以防将来出现故障。这基本上就是保险。

对于一个经验不足的Ubuntu用户来说,干净安装Ubuntu可能比升级发行版更安全,前提是你有自律备份所有个人数据的能力,在升级之前像完全重新安装Ubuntu一样备份所有个人数据。
如果系统提示你进行升级,那意味着这是一个受支持的升级,但你怎么知道受支持的升级会成功呢?即使是升级全新安装的Ubuntu也可能出错。我见过这种情况发生,但由此升级引起的错误是微不足道且容易修复的。
有时,升级后的系统会包含许多不必要的文件、与新系统不兼容的配置文件等。在升级时,Ubuntu安装程序会识别出不工作的配置文件。当我从Ubuntu 18.04升级到Ubuntu 20.04时,大约花了一个小时,我收到了一个关于需要编辑的配置文件的通知。我将建议的编辑内容复制/粘贴到一个文本文件中,并在升级完成后编辑了配置文件。值得注意的是,如果我没有在整个升级过程中观察终端输出,就会错过完美运行的建议编辑。
为了从升级后的系统中删除不必要的文件,我使用以下命令:
  • sudo apt autoremove
  • sudo apt clean
  • deborphan - 使用sudo apt install deborphan安装此软件包管理工具。

在升级后运行这些命令大约需要我5分钟。我的工作站安装了很多软件。如果我选择重新安装而不是升级,配置所有已安装的应用程序将花费我2-3天的时间。

成功的升级几乎完全取决于您对Ubuntu操作系统的理解水平。由升级引起的问题几乎总能通过具备解决问题所需技能来解决。当我升级Ubuntu时,我会在正在升级的计算机旁边使用另一台笔记本电脑,以便在出现问题时立即搜索Ask Ubuntu以找到解决方案。我依赖自己的经验和他人的经验来帮助我解决由升级引起的问题。否则,您就在进行任何发行版升级时进行赌博 - 尤其是如果您是一个经验不丰富的Linux用户


我喜欢这个赌博的比喻。说得好。 - Elder Geek

有时候新功能(例如从ext3升级到ext4)只在全新安装中启用。我建议您查看发布说明或更改日志,但除此之外没有真正的区别。

据我所知,你可以随时将ext3升级为ext4:https://www.cyberciti.biz/tips/linux-convert-ext3-to-ext4-file-system.html - WinEunuuchs2Unix

干净的安装是确保您能够获得开发者为发布所设想的体验的最佳方式,而升级可能会使用旧数据、配置、软件包等,或创建开发者未预料到或未正确容忍的情况。
如果你在问 - 就是进行全新安装。只需将您的主目录复制到基础目录并更改名称为系统中未使用的名称,然后在安装过程中选择该分区作为“/”,并确保不选择“格式化”。这样将安装操作系统,但您可以在不重新格式化或其他操作的情况下访问您的数据。

首先,我不确定是否可以指示安装程序不要格式化将作为/挂载的分区。其次,如果分区没有被格式化,您提到的旧数据/配置等是否仍然存在呢? - koushik
当然最好的是一开始就拥有独立的系统和文件分区。 - bobince

AptOnCD软件用于在光盘上创建您下载的软件包的离线存储库。您可以使用您自己创建的AptOnCD(包含所有已下载的软件包)作为存储库源。对于带宽较小的用户来说,这是一个非常有用的工具。(我以前用过这个)。您还可以拥有一个安装所有已安装软件包的元软件包。
您可以在这里获取有关AptOnCD的更多信息。
实际上,如果您选择“创建元包”选项,您可以使用一个元包在单个AptOnCD编译中恢复(安装)所有软件包。从元包描述中可以看到:“自动生成的元包,其依赖关系包括之前由AptOnCD生成的APTonCD媒体中的所有软件包”
但是,您可以通过输入命令dpkg --get-selections > packages_list备份软件包列表,其中packages_list是文件名。您以后可以使用此列表使用程序synapticdpkg安装所有软件包。this可能对您有所帮助。但请确保您新安装的系统也具有之前安装的系统中的存储库源,否则将无法正常工作。
要使用“Synaptic软件包管理器”安装所有软件包,请按照以下步骤进行操作:
  • 使用sudo apt-get install synaptic命令安装Synaptic。
  • 在Dash中输入synaptic打开Synaptic。
  • 从菜单中选择“文件”,点击“读取标记”。
  • 在“打开更改”窗口中,选择使用dpkg --get-selections命令创建的文件。在这个上下文中,它是packages_list文件。
  • 然后点击“应用”按钮。

我可以使用AptOnCD将我安装的程序恢复到新安装的Ubuntu上吗?我有一个带宽较低的互联网连接。 - Mayank
在回答中添加了更多信息,因为评论的字符限制较小。 - Anwar