红联Linux门户
Linux帮助

tarball套件安装应该注意的问题

发布时间:2016-01-23 10:24:26来源:linux网站作者:ltt

对于linux下成熟的用户来讲,他们安装tarball套件都习惯性的将软件的tarball包拷贝到/usr/local目录下,然后解压缩源码到/usr/local/src目录下;利用configure,make,make install,来完成安装,软件将按照默认的安装目录(/usr/local)安装。安装完成后数据就会放在(以abc.tar.gz安装为例):

/usr/local/etc(配置文件所在目录)
/usr/local/bin(执行文件所在目录)
/usr/local/lib(函数库所在目录)
/usr/local/man(在线帮助文件所在目录)

在这里要注意,可能有的人会问:为什么不放到根下面的目录/etc,/usr/lib,/usr/bin,/usr/shar/man中呢?回答是:系统安装时候自带的服务软件,如apache安装后的数据就放在这些目录下。


如果每个套件都按照上面的路径默认安装,则每个软件的数据都默认的安装在上面的目录下,想升级和删除就会要追查到文件的来源。这个时候我们就想:是否可以将每个软件都安装在自己特有的目录下?如将abc软件安装在/usr/local/abc下(./configure --prefix=/usr/local/abc),那么软件的数据将存放在:

/usr/local/abc/etc(配置文件所在目录)
/usr/local/abc/bin(执行文件所在目录)
/usr/local/abc/lib(函数库所在目录)
/usr/local/abc/man(在线帮助文件所在目录)


这样这个套件的所有文件都在一个目录下,要删除这个软件的时候只要将/usr/local/abc目录杀出就可以(rm -rf /usr/local/abc)。如此一来就会遇见问题,由于环境变量PATH中没有包含/usr/local/abc/bin目录,在命令行输入abc命令是无法执行的,必须使用abc命令的绝对路径./usr/local/abc/bin/abc才行;此外,/usr/local/abc/man也需要加入到man page搜索的路径中,即在man的配置文件(/etc/man.config)中加上:MANPATH  /usr/local/abc/man。


结合上面分析的情况,为了用户更好的管理tarball套包,建议如下:

1.最好将tarball的原始数据解压到/usr/local/src中。
2.安装时,最好安装在/usr/local默认路径下。
3.考虑到将来的卸载步骤,最好可以将每个套件单独安装在/usr/local下面;如上面的abc软件。
4.加上man path。


本文永久更新地址:http://www.linuxdiyf.com/linux/17592.html