apache Firefox nginx centos mysql 微软 HTML5 php Android linux命令 Windows shell 开源 linux java google wordpress Ubuntu Python 程序员

Linux不需要重做系统

但从系统构架上来讲,总所周知,Linux的稳定性远大于windows,单纯的使用不会引起系统的损坏。当不进行危险操作时,例如执行sudo rm -rf /*之类的命令,或者混用分区工具,是不会引起各种彻底性损坏。同样,Linux优良的磁盘管理机制,不会想Windows那样产生大量的磁盘碎片,导致系统每年都得至少要重装一次。饶是XP,家里用了两年,仍是没有重做过系统,更何况性能优良的linux。

从一开始接触Linux开始,好像就进入了一个死循环——装系统,折腾系统,重装系统。将近两年的时间,浪费在装系统上的时间不计其数。

然而,这一切都值当的吗?

但从系统构架上来讲,总所周知,Linux的稳定性远大于windows,单纯的使用不会引起系统的损坏。当不进行危险操作时,例如执行sudo rm -rf /*之类的命令,或者混用分区工具,是不会引起各种彻底性损坏。同样,Linux优良的磁盘管理机制,不会想Windows那样产生大量的磁盘碎片,导致系统每年都得至少要重装一次。饶是XP,家里用了两年,仍是没有重做过系统,更何况性能优良的linux。

Linux的不稳定因素在于软件升级管理机制,与系统自身的稳定性类似,linux的软件管理的不容易也是总所周知的。在RH之前,几乎所有的Linux系统安装软件都要靠人工编译,对于入门级别的水平,其稳定性远小于Windows。RH之后,发行版开始有打包这一方案解决软件安装问题,同时发行版本开始带软件管理器,比较有名比如RH系的rpmDebian系的apt-getArch的pacman等。这些软件管理器负责软件升级的同时也负责着系统的升级,而此时带来的潜在问题越来越多。

首先,由于开源软件自身的性质,其稳定性难以保障,这点在arch的testing库里尤为明显。去年的N卡驱动与X不兼容的现象导致N卡用户将近一个月无法加载驱动;而pacman4.0的推出,也带来了一片不小的哗然。由于linux的软件很多是直接与系统底层挂钩,一旦出问题直接导致的系统的崩溃,好在出问题的机率并不是太大。即便是arch的testing库,其稳定性也是有一定保障的。

其次,软件的更新时,尤其是内核和驱动的更新,会导致一些老的硬件不可使用。出现这个问题的很大一部分原因在于人们倾向于拿低端机装linux,认为linux对硬件的要求相当低。其实不然,linux的发行版本何止几百个,不同的发行版本对硬件的要求也不一样。拿Ubuntu来说,Lubuntu和Xubuntu相对来说硬件要求要比 ubuntu和Kubuntu要低,但也绝非586的电脑所能带起来的,即便是轻巧如E17的轻量级桌面也有一定的下限。所以,不要期冀无穷老机能安装一个带X的linux,当然tiny core linux之流或许是这些无穷老机的归属。

然而,软件的不稳定性会导致我们频繁的重做系统么?对于这个软肋,各大发行版仍然有对策应对,对于一些不直接影响系统底层的软件,我们可以采用锁定版本的办法不升级该软件。这个功能无论是deb系还是 arch都可以轻易做到,而且也是一种行之有效的方法。对于一些直接与系统底层挂钩的软件,更新后直接导致系统损坏无法开机,我们可以采用Live cd或者Live USB进行软件的降级,具体方法很多,最常用的就是chroot方法,降级之后锁定版本,等待更新。

对于硬件不兼容的问题,这个很大一定程度上属于硬件厂商的问题,一般处理方法可以采用通用驱动或者在一些老的版本里找所需要的驱动。

总而言之,正常使用linux的情况下,很少能导致系统损坏,我们所要做的只是找出问题症结所在,处理好问题,而不是不厌其烦的重做系统。

延伸阅读

评论