• 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重装。

  • 相关阅读:
    LeetCode每日一练 —— 138. 复制带随机指针的链表
    JavaScript中的异步编程
    VUE框架响应系统简单实现
    【云原生之K8s】 Kubernetes核心组件
    视频格式转换avi格式怎么弄?分享视频转换方法
    系统常用的命令
    减轻关键基础设施网络安全风险的 3 种方法
    想兼职?学网络安全,钱赚到你手软
    Windows 安装 MySQL 5.7详细步骤
    N1中openwrt实现不插网线就能上网,通过wifi连接路由器
  • 原文地址:https://blog.csdn.net/bluishglc/article/details/127558722