编译开源软件
最近要使用学校的服务器完成一些工作,然而我的帐号是没有 sudo 权限的(一般也不会有),因此无法通过 apt 安装软件。
无 sudo 权限意味着你无法在系统级别安装软件,因此所有软件都需要我们手动安装到用户目录。在 Linux 世界,这意味着你要自己编译源代码并配置安装目录进行安装。
安装
从源码安装
建议:在安装前先检查目录下有没有 INSTALL
文件,很多开源软件会将编译安装流程写在 INSTALL
文件中。如果没有 INSTALL
文件的话检查 README
或 README.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"