Linux源码安装软件包时--prefix的配置建议

我们知道,使用源码安装软件包时通常会提供一个config或configure脚本对安装进行一些必要的配置,其中最为常见的是–prefix选项,它用于指定软件安装的父级目录,也就是将软件安装在哪个文件夹下面。通常这个选项要么设置/usr/local,要么设为/usr/local/<package-name>,那两种配置有什么利弊呢?我们以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重装。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Laurence 

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值