Linux源码安装软件包时--prefix的配置建议
Posted bluishglc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux源码安装软件包时--prefix的配置建议相关的知识,希望对你有一定的参考价值。
我们知道,使用源码安装软件包时通常会提供一个config或configure脚本对安装进行一些必要的配置,其中最为常见的是–prefix选项,它用于指定软件安装的父级目录,也就是将软件安装在哪个文件夹下面。通常这个选项要么设置/usr/local,要么设为/usr/local/,那两种配置有什么利弊呢?我们以openssl的安装为例,讨论一下于–prefix是使用/usr/local
好还是/usr/local/openssl
好。
使用--prefix=/usr/local
的好处是像软件包自身的bin,lib,include,share等文件夹下的文件会自动安装到/usr/local下对应的文件夹中,与使用yum安装的方式较为类似,从文件的安放位置上看更加像是“软件包分散融入到了Linux的约定位置”,由于这些约定位置在OS层面上做了一些配置,安装后可以省掉一些额外配置。例如:
-
由于
/usr/local/bin
已经加入到PATH中,所以软件包安装后一般是可以直接在终端调用相关命令,不必再单独配置PATH -
由于
/usr/local/share/doc
是man查找使用文档的位置,所以软件包安装后可以正常使用man查询命令使用方法
而相应不好的地方在于:由于文件安装位置分散,如果安装失败想卸载重装的话就比较麻烦了。如果需要卸载可以使用sudo make uninstall
,但并不是所有的软件包都支持uninstall操作。
综合来看,对于那些比较知名和成熟的软件包,还是建议使用--prefix=/usr/local
,这种安装方式更规范也会有带来很多便利,即使安装中遇到错误想要回滚也有sudo make uninstall
帮助清理分散的安装文件。
如果不确定软件包的安装行为,可以先使用--prefix=/usr/local/your-package
进行一下预安装,观察安装完毕后的文件夹结构,主要看一下是否有bin,lib,include,share等文件夹,再决定是否卸载并使用--prefix=/usr/local
重装。
以上是关于Linux源码安装软件包时--prefix的配置建议的主要内容,如果未能解决你的问题,请参考以下文章
Linux ./configure --prefix 命令是什么意思?