本文档的目的是提供一些技巧,以帮助您完成 Linux 系统的销毁和重新安装。它绝不是一本万无一失的食谱,但我希望它能指示您需要考虑的内容以及执行操作的顺序。如果在我第一次升级之前有人写过类似的东西,对我来说将是一个帮助;因此,如果您有一台 Linux 机器需要重建,我希望它对您有所帮助。
不过,不要将其视为绝对真理:您的实际情况肯定会有所不同。即使本文档中的目录名称也可能与您需要使用的名称不同;例如,有些人使用 /usr/home 而不是 /home;另一些人称之为 /u,还有一些人(轻微颤抖:)甚至将所有用户直接放在 /usr 下!我无法具体说明您的系统,所以我只使用了我系统中的名称。
您还会注意到我使用 Slackware 发行版,并且我假设您有足够的 RAM 和硬盘空间来安装 Linux 内核源代码并构建自己的内核。如果您的系统不同,我的某些建议可能不适用;但我希望您仍然会发现总体概要对您的重建项目有所帮助。
好问题!如果可以避免,请不要这样做!(这是本指南中最重要的建议!!!) 本指南初稿时,没有多少人的硬盘足够大,可以容纳两个完整的 Linux 安装;如今,这已不再罕见。如果可以的话,请在单独的分区(或分区组)中构建新系统,保持旧系统完整,直到您确信新系统正是您想要的方式。如果可以避免破坏旧系统来为新系统腾出空间,请务必避免!但是有时您可能别无选择。
(这些例子有点过时,但它们有助于说明我的观点:)
例如,我安装了一个 4Gb 的硬盘,然后发现老旧的 Slackware 2.0 Linux 不知道硬盘可以超过 2Gb,它变得非常混乱。所以我不得不升级到当时的 Slackware 2.3。那次升级是一次痛苦的经历,这也是我写这些笔记的部分原因。我几乎做错了所有事情,只有好运以及我旁边有另一台正在运行的 Linux 机器才使我免于灾难。
另一个例子,我发现我无法在使用开箱即用的 Slackware 2.3 安装(另一台机器,而不是我之前搞砸的那台)的 1.3 系列中成功构建一个可用的 a.out Linux 内核。我冒险购买了 CDROM 上的 Slackware 3.0 并转换为 ELF。这次重新安装进行得更好,部分归功于之前的痛苦经历,并且它成为了我在这里向您提供的许多想法的来源。
见上文。如果可以在其他空闲磁盘空间中构建新系统,请这样做!但是,对于本文档的其余部分,我将假设这是无法选择的情况之一;您要么必须“就地”重新安装,覆盖现有系统,要么必须咬紧牙关从头开始重建。
奇怪的是,后者更安全。如果您覆盖安装到现有 Linux 系统之上,则很可能您会混合使用旧的和新的二进制文件、旧的和新的配置文件,以及通常难以管理的混乱局面。将系统完全清除,然后仅放回您知道需要的东西,是获得干净结果的一种极端但有效的方法。(当然,我们这里谈论的是安装一个全新的 Linux 发行版,而不是升级一两个软件包!避免进行完整重新安装的最佳方法恰恰是保持各个部分——尤其是 gcc 及其库以及 binutils——的最新状态。如果您使用的东西相当新,并且您可以通过不时引入并在需要时编译新代码来保持其最新状态,那么就没有必要进行大规模升级。)
当然,这取决于您的系统的复杂程度。但我估计,对于成功的升级(另一个?——别问!:) 我花了大约十个小时进行备份,六个小时重建系统到我可以启用登录的程度,以及大约半天的时间来恢复不太重要的东西。随着时间的推移,我不断发现仍然不完全符合我意愿的小问题——我会在遇到这些问题时修复它们——但总的来说,二十小时的工作应该足以完成一项相当复杂的重建工作。如果您从硬盘重新安装(我使用 CDROM),则可能更少,如果您需要从软盘安装,则可能更多。如果您有一台快速的奔腾处理器,则可能更少,如果是 386 则可能更多。您明白我的意思。
那是糟糕的旧时代。现在,有了更快的硬盘、更快的机器和 CD 刻录机,情况变得更好。我的笔记本电脑在 2002 年 12 月被盗,当新笔记本电脑到货时,我几乎完成了所有工作——尽管丢失了旧系统,没有机会保存最新的更改——但在大约七个小时的努力后。
介绍就到此为止。一旦您决定必须这样做,这就是开始着手的方法。用坚韧和 Jolt 或其他东西武装自己,然后