介紹Unix系統(tǒng)中的文件安裝知識(shí)
Unix系統(tǒng)有很多值得學(xué)習(xí)的地方,這里我們主要介紹Unix系統(tǒng)中的文件安裝吧,這也是在使用Unix系統(tǒng)的過(guò)程中我感到挺困惑的一個(gè)問(wèn)題。
我們都知道,在Windows系統(tǒng)中,安裝一個(gè)軟件很簡(jiǎn)單,下載文件壓縮包,解壓,雙擊setup.exe開(kāi)始安裝,選擇一下路徑就OK了,很簡(jiǎn)單吧!安裝好后,文件通常會(huì)寫(xiě)注冊(cè)表,說(shuō)實(shí)話(huà)這是很麻煩的一件事情,當(dāng)你重裝過(guò)系統(tǒng)后就知道了,有我你就不用怕迷路了,你需要重新安裝一次這些軟件,很麻煩吧?
于是在Windows下產(chǎn)生一些新名詞,典型的如“綠色軟件”,意思是說(shuō)不會(huì)寫(xiě)注冊(cè)表,直接解壓后就能用的軟件。當(dāng)這些思想深深地圈住你的時(shí)候,你接觸了Unix系統(tǒng),你也用這套思想給搬過(guò)來(lái)了,于是你去下了個(gè)軟件包,解壓,咦,安裝文件呢?找不到安裝文件怎么安裝?
我還是來(lái)簡(jiǎn)要說(shuō)明一下 Unix系統(tǒng)下的文件安裝吧,拿FreeBSD舉個(gè)例子,在這里我就先不說(shuō)FreeBSD的ports軟件安裝機(jī)制和package軟件安裝機(jī)制了,激情聊天,這些是在你想學(xué)FreeBSD后才需要掌握的東西。
首先,你下載了一個(gè)軟件包,這個(gè)軟件包里面可能是源碼,也可能是二進(jìn)制軟件。如果是源碼,你解壓后,它會(huì)自動(dòng)生成一個(gè)目錄。比如我假設(shè)這個(gè)軟件包是httpd-2.0.55.tar.gz,你用tar zxvf httpd-2.0.55.tar.gz命令將它解壓,在當(dāng)前目錄下得到httpd-2.0.55目錄。
cd httpd-2.0.55,進(jìn)入這個(gè)目錄,里面就是源碼了,一般情況下會(huì)有一個(gè)Makefile的文件,這個(gè)是用來(lái)編譯軟件用的?,F(xiàn)在只要做的,只是先做一下配置,./configure --help,會(huì)顯示出配置幫助。
你可以根據(jù)自己的需要來(lái)定制,配置好后敲入make命令,make程序會(huì)自動(dòng)從這些源碼編譯出二進(jìn)制軟件,這個(gè)二進(jìn)制軟件跟上面我說(shuō)的二進(jìn)制軟件基本一樣,區(qū)別只在于一些不同機(jī)器上編譯的一些細(xì)節(jié),還有就是后者打過(guò)包而已。
好了,現(xiàn)在你敲入make install來(lái)安裝這個(gè)軟件。那么,自然有病變的絕望和痊愈的艱辛,這個(gè)命令做了些什么東西呢?很簡(jiǎn)單,它只是把編譯出來(lái)的軟件復(fù)制到它應(yīng)該去的地方,其它什么都沒(méi)做!就這樣么?它不寫(xiě)“注冊(cè)表”么?
是的,寫(xiě)什么啊,Unix系統(tǒng)的軟件是靠它自己的配置文件來(lái)控制的!如果你想知道它詳細(xì)的動(dòng)作,你可以去看看Makefile文件里的 install部分,看它是怎么寫(xiě)的,你就知道當(dāng)你敲入這個(gè)命令后系統(tǒng)都做了些什么東西了。
【編輯推薦】