可能有人会觉得Windows操作系统升级的比较快,其实Linux系统内核的升级比Windows操作系统要快的多。通常情况下,每隔一个月都会有一个新版本的内核出来。正是因为如此,Linux系统才能够应对最新的攻击。
为此Linux系统管理员平时很重要的一项工作就是负责系统内核升级。升级系统内核,可以修补旧版本内核的漏洞,而且还可以支持更多的接口设备。同时也有利于提高应用程序的兼容性,增加系统的稳定度等等。如Oracle数据库系统出现一个新的版本之后,如果数据库管理员需要对Oracle进行升级的话,则最好能够先对Linux系统的内核进行升级。因为说不定最新的内核中某些改进有利于提高Linux操作系统与Oracle数据库系统之间的兼容性。所以做好系统内核的升级工作,对于Linux系统的稳定性具有至关重要的作用。但是很少有人敢贸然的对Linux系统的内核进行升级,担心会影响现有Linux系统上的应用服务。确实内核升级是一项比较危险的工作。但是系统管理员也不需要一日被蛇咬,十年怕井绳。只要在系统内核升级之前做好相关的准备工作,那么系统内核的升级就不会有多大的危险性。具体的来说,系统管理员需要明明白白的做好如下几项准备工作。
一、需要确认内核升级的目的
通过内核升级可以达到很多目的。如提高对最新设备的兼容性;修补原有系统内核的漏洞;提高系统的稳定性等等。为此在对内核升级之前,必须要先了解一下自己系统内核升级的目的。只有如此,系统管理员后续才能够判断到底有没有升级的必要。就好像动手术一样,任何手术都会有风险。像前几天新闻报道的一样,一个骨折病人利用钢板固定的手术,也会造成死人。这个手术在大部分骨科医生眼中是一个小得不能够再小的手术。但是其仍然具有一定的风险。为此在系统内核升级的时候,这个风险观念还是要有的。通常情况下,系统管理员需要根据企业的实际情况,判断是否需要内核升级。一般来说,可以通过其它渠道来实现的,那就不要进行系统内核升级。只有在其它途径都不能够有效解决企业问题的时候,再进行系统内核升级。
如对于安装Oracle数据库应用程序来说,Oracle 0G对于Linux等操作系统的内核版本是有要求的。如果系统管理员需要在Linux操作系统上部署Oracle数据库系统的话,则其内核必须在某个版本以上。此时这个系统内核版本的要求就是一个强制性的限制。为此系统管理员就需要对Linux操作系统内核进行升级。至于说在安转过程中对于一些软件包的需求,这就不需要通过内核升级来实现。而是直接可以安装相关的软件包来解决这些问题。
所以说,系统管理员需要在内核升级之前,明确内核升级的目的。然后考虑一下,这个目的是否一定需要通过内核升级来实现。如果有其它方式的话,可以先通过其它方法来试试看。只有在其它方法不能够实现的情况下,才尽心内核升级。注意内核升级是有一定风险的。即使是Linux系统的专家也不能够保证在内核升级后原先的应用程序不会出现问题。为此在对待内核升级这件工作上,各位系统管理员还是需要谨慎。
二、通过修补文件进行升级需要慎用
Linux系统内核升级有许多方式。而通过修补文件来进行修复就是其中一种。当系统管理员从网络上下载的内核升级包中,就包含着内核的修补文件。在通过修补文件进行内核升级时,注意其需要进行逐版的更新,而不能够进行跳跃更新。这是什么意思呢?如现在Windows系统有98、000、XP等等。这个不能够进行跳跃更新的意思,就是不能够从98 直接更新到XP(笔者这里只是做个比喻)。
如Red Hat 9最新出来的时候,其系统内核的版本为..0。如果现在系统管理员想要通过修补文件的方式来进行内核升级,从..0升级到..。此时系统管理员该如何处理呢?通常情况下,系统管理员需要一次下载..到..一共五个系统内核的版本。在每个系统内核版本中都包含对应的系统内核修补文件。系统管理员需要县利用..的修补文件把系统内核从..0升级到..。依此类推。而不能够直接利用..版本内核的修补文件把系统内核从..0直接升级到..。这是不允许的。这也就是说,通过修补文件来升级系统内核,必须要逐步进行,版本必须连续而不能够有所跳跃。
为此系统管理员在升级内核之前,必须先查看操作系统内核的当前版本,然后依此把后续的版本都下载下来,不能够只下载最新的内核版本。然后再从低到高进行一个个的升级。可见,通过修补文件升级就好像是安装应用程序过程中的自定义安装,能够为系统管理员提供更多的灵活性。但是,通常情况下只有对这个应用程序的专家才建议采用这种方式。如果系统管理员对Linux操作系统还不是很精通或者是第一次对系统进行内核升级的话,则最好还是采用其它更加简便的内核升级方式,如重新安装最新版本的Linux操作系统等等。虽然可能时间需要久一点,但是可以把风险降低到最低。
我在系统内核升级时,也是采取这种策略。如在Linux操作系统上没有部署什么关键应用或者重新部署新的服务器时,我都是从网络上下载最新的Linux版本的操作系统。即使在这以前已经有了以前版本的Linux操作系统镜像。虽然可以通过安装旧版本的操作系统,然后再通过内核升级来实现。但是这不是一个很好的处理方式。
为此,我认为在对内核进行升级时,其升级方式也非常的重要。特别是需要注意,通过修补文件进行内核升级虽然可以在一定程度上提高内核升级的灵活性。但是除非系统管理员对自己非常的有信心,否则的话最好还是不要采用这种方式进行内核升级的工作。
三、确认现有的硬件配置
Linux操作系统跟Windows操作系统最大的不同就是在对于硬件的兼容性上面。通常情况下,在Windows操作系统下会自动监测硬件的变动信息。当硬件发生变动后,Windows操作系统会自动进行调整。但是在Linux操作系统中则不同。虽然最新版本的Linux操作系统已经对市面上的大部分硬件有很友好的支持。但是仍然有很多的硬件需要系统管理员进行设置。如利用不同对接口的鼠标或者不同键数的鼠标,系统管理员都需要自己手工设置后才可以使用。在内核升级成功后,这些配置信息可能会丢失。则内核升级后,这些硬件就可能出现故障无法使用。所以往往内核升级后,需要手工的对某些硬件进行配置。
为了减少后续配置的麻烦,系统管理员需要先了解Linux操作系统现有的硬件配置,并查询每项硬件所使用的系统资源如IRQ等等。只有如此系统管理员才能够在系统升级后,万一遇到某些硬件无法使用或者无法识别的情况下,迅速的利用先前的配置信息来解决故障问题,从而减少Linux操作系统当机的时间。通常情况下,这对于把Linux操作系统当作服务器系统来说非常的重要。
最后再强调一个系统内核升级的原则。如果把Linux操作系统当作客户端来使用的话,则除非有特殊的必要,还是直接重新安装最新版本的Linux操作系统来的方便。只有对那些安装有比较复杂的应用服务的操作系统才通过系统内核升级的方式来完成。如在Linux操作系统中已经部署了邮箱服务系统。由于安装Oracle数据库系统的需要,要一个更高版本的内核。此时如果通过重新安装Linux操作系统的方式来提升Linux操作系统的内核版本,那么需要重新部署邮箱服务系统,这可能需要比较多的时间。在这种情况下,通过内核升级的方式来满足Oracle数据库应用程序安装的需要,就比较合理。