编译开源软件

最近要使用学校的服务器完成一些工作,然而我的帐号是没有 sudo 权限的(一般也不会有),因此无法通过 apt 安装软件。

无 sudo 权限意味着你无法在系统级别安装软件,因此所有软件都需要我们手动安装到用户目录。在 Linux 世界,这意味着你要自己编译源代码并配置安装目录进行安装。

安装

从源码安装

建议:在安装前先检查目录下有没有 INSTALL 文件,很多开源软件会将编译安装流程写在 INSTALL 文件中。如果没有 INSTALL 文件的话检查 READMEREADME.md 文件,这个文件也有可能会提供安装信息。

  • 使用 Autoconf(GNU 系)

    大多数开源软件都使用这种安装流程。

    ./configure --prefix=$HOME/.local  # 检查系统环境、依赖库等,并生成合适的编译配置
    make -j$(nproc)                    # 执行编译过程
    make install                       # 将编译生成的文件安装到指定路径
    
  • 使用 CMake

    mkdir build && cd build
    cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/.local
    make
    make install
    
  • 使用安装脚本

    ./install.sh PREFIX=$HOME/.local
    
  • 直接使用 make

    make PREFIX=$HOME/.local -j$(nproc)
    

安装预编译包

  • 将可执行文件拷贝到 ~/.local/bin 目录
  • man 目录拷贝到 ~/.local/share/man 目录
  • doc 目录拷贝到 ~/.local/share/doc 目录

设置环境变量

通过下面的环境变量让系统可以找到你安装的程序和库:

export PATH="$HOME/.local/bin:$PATH"
export LIBRARY_PATH="$HOME/.local/lib:$LIBRARY_PATH"
export LD_LIBRARY_PATH="$HOME/.local/lib:$LD_LIBRARY_PATH"
export MANPATH="$HOME/.local/man:$MANPATH"
export C_INCLUDE_PATH="$HOME/.local/include:$C_INCLUDE_PATH"
posted @ 2024-10-18 02:53  Undefined443  阅读(5)  评论(0编辑  收藏  举报