天天看点

从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等等。

使用二进制安装意味着失去定制的特性,因为二进制包是预先用某组配置参数从源码编译好了的。