人人都会AI编程

18.3 开发工具链部署:Git、Docker、编译工具、调试工具

更新时间:2026-07-12

一套得心应手的开发工具链是高效工作的基础。本节介绍如何在 Linux 环境中快速部署 Git、Docker、编译工具以及常用调试器,覆盖从代码管理、环境构建到问题定位的完整流程。以下步骤以 Debian/Ubuntu 和 RHEL/CentOS 两大主流系为例,均经过生产环境验证。


1. Git:版本控制与协作

Git 是目前最普及的分布式版本控制系统,几乎所有 Linux 发行版都直接提供了安装包。

安装

# Debian / Ubuntu
sudo apt update && sudo apt install git -y

# RHEL / CentOS / Fedora
sudo dnf install git -y          # Fedora 22+
# 或 sudo yum install git -y     # CentOS 7 等旧版

基础配置(全局)

git config --global user.name "Your Name"
git config --global user.email "you@example.com"
git config --global core.editor vim      # 可选,设置默认文本编辑器
git config --global init.defaultBranch main   # 设置默认分支名

验证

git --version          # 应输出 git version 2.xx.x
git config --list      # 查看当前配置

实用建议

  • 在企业内网环境中,若无法直接访问 GitHub,可配置 HTTP 代理:
  git config --global http.proxy http://proxy.company.com:8080
  
  • 部署 Git 服务器(如 Gitea、GitLab)时可参考后续服务搭建章节,客户端工具本身即装即用。

2. Docker:一致的运行环境

Docker 通过容器技术将应用及其依赖打包,消除“在我机器上能跑”的问题。安装 Docker 前请确认内核版本 ≥ 3.10(现代发行版均满足)。

Ubuntu / Debian 安装步骤

# 卸载旧版本(如果有)
sudo apt remove docker docker-engine docker.io containerd runc

# 添加 Docker 官方 GPG 密钥和仓库
sudo apt update
sudo apt install ca-certificates curl gnupg lsb-release -y
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y

CentOS / RHEL 8+ 安装步骤

sudo dnf remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

sudo dnf install dnf-plugins-core -y
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y

启动并验证

sudo systemctl start docker
sudo systemctl enable docker
sudo docker run hello-world    # 输出欢迎信息表示成功

让非 root 用户使用 Docker(可选但推荐)

sudo groupadd docker                # 可能已存在
sudo usermod -aG docker $USER
newgrp docker                       # 立即生效,或重新登录
docker run hello-world              # 无需 sudo

国内镜像加速
若拉取镜像缓慢,可配置镜像源,编辑 /etc/docker/daemon.json(需 root):

{
  "registry-mirrors": ["https://mirror.example.com"]
}

之后重启服务:sudo systemctl restart docker


3. 编译工具:从源代码构建软件

Linux 下最常见的编译环境是 GCC(GNU Compiler Collection)加 make 工具链。C/C++ 开发只需安装 build-essential(Debian 系)或 Development Tools(RHEL 系)软件包组。

安装基础编译工具

# Debian / Ubuntu
sudo apt install build-essential -y      # 包含 gcc, g++, make, libc-dev 等

# RHEL / CentOS / Fedora
sudo dnf groupinstall "Development Tools" -y
# 或最小化安装:sudo dnf install gcc gcc-c++ make glibc-devel -y

安装额外常用开发库

  • libssl-dev / openssl-devel:SSL/TLS 支持
  • libffi-dev / libffi-devel:外部函数接口
  • pkg-config:用于查询已安装库的编译选项

验证

gcc --version          # 如 gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
make --version         # GNU Make 4.3
g++ --version          # 确认 C++ 编译器

实战:编译一个简单 C 程序

// hello.c
#include <stdio.h>
int main() {
    printf("Hello from source!\n");
    return 0;
}

编译并运行:

gcc hello.c -o hello
./hello

对于更复杂的项目,通常会提供 configure 脚本或 Makefile,标准流程为:

./configure --prefix=/usr/local
make -j$(nproc)       # 根据 CPU 核数并行编译
sudo make install

4. 调试工具:快速定位问题

开发过程中免不了遇到段错误、性能瓶颈或程序逻辑错误,以下工具是 Linux 调试的“瑞士军刀”。

(1) GDB:源码级调试器

# 安装
sudo apt install gdb -y          # Debian/Ubuntu
sudo dnf install gdb -y          # RHEL/Fedora

# 简单使用:编译时加入调试符号
gcc -g -O0 hello.c -o hello
gdb ./hello
(gdb) break main     # 在 main 函数设置断点
(gdb) run            # 运行程序
(gdb) next           # 单步执行(跳过函数)
(gdb) step           # 单步执行(进入函数)
(gdb) print var      # 打印变量值
(gdb) backtrace      # 查看调用栈
(gdb) quit

(2) strace:追踪系统调用
当你不知道程序在哪儿卡住、或者怀疑文件/网络访问异常时,strace 能打印出程序发出的每一个系统调用。

sudo apt install strace -y
strace -o output.txt ./your_program      # 将所有调用记录到文件
strace -e open,read,write cat /etc/hostname   # 只跟踪指定调用

(3) ltrace:追踪库函数调用
与 strace 类似,但追踪的是动态库函数调用(如 malloc、printf)。

sudo apt install ltrace -y
ltrace ./your_program

(4) valgrind:内存错误检测

sudo apt install valgrind -y
# 检测内存泄漏和非法访问
valgrind --leak-check=full ./your_program

(5) perf:性能分析
现代 Linux 内核内置的性能分析工具,可以采样 CPU 使用、缓存缺失等。

sudo apt install linux-tools-common linux-tools-generic -y   # Debian/Ubuntu
# 简单采样
perf record ./your_program
perf report

快速排错流程示例

  1. 程序崩溃无输出:ulimit -c unlimited 开启 core dump,用 gdb program core 分析崩溃点。
  2. 程序长时间无响应:在新终端执行 strace -p PID 观察它阻塞在哪个系统调用上。
  3. 内存持续增长:用 valgrind --tool=massif 生成内存使用快照,定位分配点。

5. 一次性安装建议

如果是一台新机器,可以用一条命令搭好上述全部工具:

Ubuntu / Debian

sudo apt update && sudo apt install -y \
  git \
  build-essential gdb strace ltrace valgrind \
  linux-tools-common linux-tools-generic \
  ca-certificates curl gnupg lsb-release
# Docker 安装需单独添加仓库,如上文所述

Fedora / CentOS 8+

sudo dnf install -y \
  git \
  gcc gcc-c++ make glibc-devel gdb strace ltrace valgrind \
  perf

完成部署后,执行以下命令确认核心工具版本:

git --version && docker --version && gcc --version && make --version && gdb --version

小结
以上工具覆盖了现代软件开发中 代码管理 → 环境打包 → 编译构建 → 问题诊断 的全部环节。所有安装步骤均基于官方仓库,稳定可靠;配置要点来源于实际生产环境,可避免常见的权限、网络和调试符号缺失问题。在后续的 CI/CD 流水线或项目环境搭建中,这套工具链可以直接复制使用。