天天看點

從windows到*nix(一) 軟體的安裝

注:本系列文章講述對程式員而言windows和類unix作業系統(*nix)在使用上的異同,并以*nix為主。涵蓋内容包括程式安裝、日常操作、編輯器,IDE,管道,GUI vs CLI......,文章宗旨在于引導有經驗的windows程式員順利過渡到*nix下。

windows下安裝軟體的一般步驟是解壓縮,找到setup.exe,點選它,然後next,選安裝目錄,next,選可選元件,next,.....完成

*nix類似,所不同的是由指令行完成:

tar -xzf xxx-n.n.n.tgz ;

cd xxx-n.n.n;

./configure;

make;

make intall 

上面的tar是解壓縮,./configure是配置,make是編譯,make install是安裝。

需要考慮的絕大部分事情是配置時來做的。

配置的時候用指令行參數來指定:

./configure --help 

可以獲得可用的參數說明。

比較通用的一個參數是--prefix,例如

# 安裝到使用者的主目錄

./configure --prefix=$HOME

# 安裝到/usr目錄

./configure --prefix=/usr 

我們知道windows軟體一般都把自身配置檔案,程式檔案,庫檔案都指定到一個目錄中,例如c:/program files/xxx

其下的子目錄結構就是軟體作者自己随意。

*nix軟體配置時的prefix參數也是指定安裝目錄,但是

差別1:安裝目錄的下級子目錄有一套約定的命名,例如$prefix/bin放程式檔案,$prefix/etc放配置檔案,$prefix/lib放庫檔案等等。

差別2:大部分的*nix軟體會安裝到相同的prefix下面,通常是/usr、/usr/local。

此外,configure還常用的參數有--with-xxx,--without-xxx,--enable-xxx,--disable--xxx。前兩種決定是否複用其它軟體,後兩種決定本軟體的某特性是否可用。

上面說的是從源碼安裝得大緻過程,二進制安裝要簡單的多(以gentoo發行版為例):

emerge -K xxx  

對于其它發行版,RedHat使用rpm,Debian使用apt-get,FreeBSD用pkg_add等等。

使用二進制安裝意味着失去定制的特性,因為二進制包是預先用某組配置參數從源碼編譯好了的。