电脑技术学习

Windows转向UNIX的一些困惑

dn001

  要想正常搞定新内核是有点挑战的,你需要对硬件相当熟悉。好了,接下来我讲讲文件安装吧,这也是在使用Unix的过程中我感到挺困惑的一个问题。我们都知道,在Windows系统中,安装一个软件很简单,下载文件压缩包,解压,双击setup.exe开始安装,选择一下路径就OK了,很简单吧!安装好后,文件通常会写注册表,说实话这是很恶心的一件事情,当你重装过系统后就知道了,你需要重新安装一次这些软件,很麻烦吧?于是在Windows下产生一些新名词,典型的如“绿色软件,意思是说不会写注册表,直接解压后就能用的软件。当这些思想深深地圈住你的时候,你接触了UNIX,你也用这套思想给搬过来了,于是你去下了个软件包,解压,咦,安装文件呢?找不到安装文件怎么安装?呵呵……我还是来简要说明一下UNIX下的文件安装吧,拿FreeBSD举个例子,在这里我就先不说FreeBSD的ports软件安装机制和package软件安装机制了,这些是在你想学FreeBSD后才需要掌握的东西。首先,你下载了一个软件包,这个软件包里面可能是源码,也可能是二进制软件。如果是源码,你解压后,它会自动生成一个目录。比如我假设这个软件包是httpd-2.0.55.tar.gz,你用tar zxvf httpd-2.0.55.tar.gz命令将它解压,在当前目录下得到httpd-2.0.55目录。cd httpd-2.0.55,进入这个目录,里面就是源码了,一般情况下会有一个Makefile的文件,这个是用来编译软件用的。现在只要做的,只是先做一下配置,./configure --help,会显示出配置帮助,你可以根据自己的需要来定制,配置好后敲入make命令,make程序会自动从这些源码编译出二进制软件,这个二进制软件跟上面我说的二进制软件基本一样,区别只在于一些不同机器上编译的一些细节,还有就是后者打过包而已。好了,现在你敲入make install来安装这个软件。那么,这个命令做了些什么东西呢?很简单,它只是把编译出来的软件复制到它应该去的地方,其它什么都没做!就这样么?它不写“注册表么?对呀,写什么啊,UNIX的软件是靠它自己的配置文件来控制的!如果你想知道它详细的动作,你可以去看看Makefile文件里的install部分,看它是怎么写的,你就知道当你敲入这个命令后系统都做了些什么东西了。一个典型的UNIX软件,可以看作组件、二进制程序和配置文件组成,而这些文件都是独立的(当然除了某些必要的依赖软件在这之前必须安装外),当你知道这个软件在另一个系统上是二进制兼容的时候,你把这个软件所在的目录完全拷贝到那个系统上,这个软件可以立即正常工作!多自然的事情,还写什么注册表,塞什么“开始菜单啊,UNIX就是这么井然有序!那么卸载呢?就是把这个文件夹删除!不会留下垃圾么?留什么垃圾啊,在Windows下的“绿色软件不就是直接删除么?呵呵,可以这样说,UNIX下的软件,都是“绿色软件。

标签: