假设文件系统上的“ B”也已被替换。现在,由于某种原因,“ A”需要再次读取“ B”。问题是:“ A”是否有可能找到“ B”的不兼容版本并以其他方式崩溃或故障?
这是可能的,但在大多数情况下是不可能的。如果“ B”是代码库,则通常不会关闭原始版本。“ A”将继续使用“ B”的原始版本。如果在更新后运行“ A”,则将使用新版本的“ B”。在更新过程中,存在加载不兼容版本的风险。但是,由于代码库的加载方式,仅当“ A”需要的功能在其加载的“ B”版本中不存在时,这才是问题。
良好的编码习惯会使接口的功能保持不变。因此,加载哪个版本并不重要,除了新版本中已修复的错误之外。
配置文件稍有不同,但是通常在启动期间读取。在这种情况下,除非更改了配置的重载,否则“ A”将不会显示为“ B”。同样,更改配置文件的格式或含义也将是不好的编码习惯。配置文件的不兼容版本应使用其他名称,因此不会造成问题。
为什么没有人通过使用实时CD或类似方法重新引导来更新系统?
从其他版本关闭并重新启动会导致服务中断。对于服务器,通常不希望这样做。无论如何,正在运行的系统上的程序包管理器都知道其已安装的软件和版本。实时CD拥有自己的已安装软件列表,可能具有不同的版本。这使得很难从实时CD可靠地升级正在运行的系统。
当安装新版本的O / S时,有时会使用Live CD。在这种情况下,通常要进行操作系统的干净安装。这可以限制保留以前版本的未使用文件的数量。比升级实时系统要付出更多的努力。但是,如果使用不同的根分区,则可以限制卡在无法引导的部分更新的系统中的风险。