1. 引言
在使用 Ubuntu 时,您可能会在安装软件时遇到名为 make install 的过程。在大多数情况下,可以使用包管理命令如 apt 来安装应用程序。然而,并非所有软件都存在于官方仓库中。如果您想使用最新版本或运行自己的自定义程序,您可能需要下载源代码并手动构建(编译)它,然后再安装。
这就是 make install 变得至关重要的地方。
make install 是一个用于将编译后的程序放置到适当系统位置的命令。它不仅使用 make 构建程序,还自动化了将文件复制到系统目录的过程。在 Linux 环境中,这是最常用的基本过程之一。
在本文中,我们将以清晰且适合初学者的方式解释如何在 Ubuntu 上从源代码构建软件并使用 make install 安装它。我们还将涵盖过程中可能出现的常见错误以及如何解决它们。
让我们从准备必要的开发工具开始。
2. 安装所需的开发工具
要从源代码构建和安装软件,您首先需要在 Ubuntu 上准备所需的开发工具。没有这些工具,make 命令可能不可用,或者构建错误会频繁发生。为了确保工作流程顺畅,最好提前设置开发环境。
安装基本包:build-essential
Ubuntu 提供了一个名为 build-essential 的包,它捆绑了 C 编译器(gcc)、构建工具(make)以及相关库。安装此包可以让您快速设置最小所需环境。
安装步骤如下:
sudo apt update
sudo apt install build-essential
首先,更新包信息,然后安装 build-essential。这将提供构建软件所需的所有基本工具。
验证安装
您可以通过运行以下命令来验证工具是否正确安装:
gcc --version
make --version
如果显示 gcc 和 make 的版本信息,则安装成功。如果出现错误,请仔细查看错误消息并尝试重新安装包。
至此,在 Ubuntu 上构建源代码的基本环境已准备就绪。接下来,我们将进行获取和提取源代码。
3. 获取和提取源代码
一旦安装了开发工具,下一步就是获取要构建的源代码。这涉及下载软件开发者提供的源代码并将其提取到工作目录中。
获取源代码的方法
源代码通常使用以下方法之一获取:
从官方网站下载
许多开源项目以压缩文件形式分发源代码,如 .tar.gz 或 .tar.bz2。例如:
wget https://example.com/software-1.2.3.tar.gz
请将 URL 替换为软件官方下载页面上提供的那一个。
从 GitHub 或类似平台克隆
许多项目在其源代码托管在 GitHub 等平台上。在这种情况下,您可以使用 Git 克隆仓库。
如果 Git 未安装,请先安装它:
sudo apt install git
然后克隆仓库:
git clone https://github.com/username/repository.git
请务必检查官方项目页面以获取正确的仓库 URL。
提取压缩文件
如果源代码以压缩文件形式提供,请使用适当的命令提取它:
.tar.gz格式:tar -xvzf software-1.2.3.tar.gz
.tar.bz2格式:tar -xvjf software-1.2.3.tar.bz2
.zip格式:unzip software-1.2.3.zip
.
提取后,将会创建一个包含软件名称和版本号的目录。进入该目录以继续操作:
cd software-1.2.3
您现在可以开始构建软件了。
4. 构建与安装过程
在源码准备就绪后,您可以继续进行构建和安装流程。
构建前配置:运行 ./configure
许多源码包都包含一个配置脚本,用于准备构建环境。在源码目录中运行以下命令:
./configure
该命令会检查您的系统并自动生成 Makefile。如果缺少必需的库或工具,可能会出现错误。此时请仔细阅读错误信息并安装缺失的依赖。
如果不存在 configure 脚本,请查阅 README 或 INSTALL 文件获取说明。
构建软件:make
完成配置后,开始构建软件:
make
这会根据 Makefile 的指令编译源码。过程可能需要一些时间,请留意编译期间的错误信息。
安装程序:sudo make install
构建成功后,将程序安装到系统目录:
sudo make install
该命令会把已编译的文件复制到合适的系统位置,例如 /usr/local/bin。
常见错误及解决方案
- Permission denied 确认在执行
make install时使用了sudo。 - Missing dependencies 查看错误信息并安装所需的库。
- configure: command not found 确认
configure脚本存在且具有可执行权限。必要时使用chmod +x configure。
5. 验证安装
安装完成后,检查软件是否正确安装。
检查安装路径
which program_name
检查版本信息
program_name --version

检查 PATH 环境变量
echo $PATH
export PATH=/usr/local/bin:$PATH
source ~/.bashrc
6. 卸载方法
使用 make uninstall
sudo make uninstall
手动删除文件
sudo rm /usr/local/bin/program_name
使用 checkinstall 管理安装
sudo apt install checkinstall
sudo checkinstall
7. 离线环境下的安装
即使没有网络连接,也可以从源码构建并安装软件。
离线准备 build-essential
sudo apt install apt-offline
使用 Ubuntu 安装介质
sudo mount /dev/sdb1 /mnt
sudo apt-cdrom -d=/mnt add
传输并解压源码
tar -xvzf software-1.2.3.tar.gz
cd software-1.2.3
8. 常见问题解答 (FAQ)
Q1. 执行 make install 时出现 Permission denied?
sudo make install
Q2. ./configure: No such file or directory?
检查项目是否使用 autotools,或是否采用其他构建系统(如 CMake)。
Q3. 找不到 make 命令?
sudo apt install build-essential
Q4. 如何离线安装 build-essential?
使用 apt-offline 或 Ubuntu 安装介质。
9. 结论
make install 是在 Ubuntu 上从源码安装软件的关键技术。通过了解完整流程——从准备工具到安装与卸载——您可以获得更大的灵活性和对 Linux 环境的控制。
掌握这些知识后,您即可自信地处理那些不在软件包管理器中的软件,构建更为定制化的开发环境。


