在开发机中安装工具引导
功能概述
欢迎使用百舸开发机,开发机镜像已预装了常用工具,但由于开发场景不同,若遇到某个软件没有安装您可以通过文档快速补齐所需环境。
前置条件
1. 开发机镜像
平台提供的开发机镜像(比如 Ubuntu 22.04 / 20.04)已经配置 apt 源、网络和基础环境,文档中的命令可以直接运行。 若您使用自定义镜像,自定义镜像可能裁剪了某些包、修改了 apt 源,导致 apt install 失败,可能是由于兼容性问题或配置差异导致,如果遇到这种情况,可以联系百舸技术支持人员。
2. 开发机开启公网访问
apt install使用的是百度内部镜像,不需要公网,但nodejs、python、java等语言的依赖库,依然需要从公网下载,所以绝大部分情况下,开发机需要能够访问公网。
一个最简单的检查方法:在开发机终端执行
1ping www.baidu.com -c 4
如果看到类似 64 bytes from ... 的回复,说明网络是通畅;如果超时或报错,请检查 VPC 的路由表、安全组/防火墙规则,开放公网出方向。
小提示: 百舸全托管资源池的 VPC 默认已开通公网出方向,一般不需要额外配置。
3. 更新apt
平台默认只设置了apt镜像地址,还需要执行一下apt update命令,镜像地址才会生效,创建开发机之后请先执行一下apt update,以保证后续的apt install命令运行正常。
安装常用软件概览
| 类型 | 提供软件 |
|---|---|
| 编程语言 | Python3.12及pip、uv包管理 Nodejs20安装和npm、yarn包管理 Golang1.22安装和go mod包管理 Rust1.77安装和cargo包管理 Java21安装和Maven、Gradle包管理 |
| 数据库软件 | SQLite PostgreSQL客户端 Redis客户端 |
| 系统命令和基础软件 | 常用命令包 |
编程软件及依赖库
Python
Python推荐版本
开发机启动后会自动安装miniforge,相当于python3.12版本,不需要额外安装
Python包管理器pip
pip会跟随python3.12自动安装,不需要额外安装 包管理的镜像也会使用国内镜像,不需要修改
Python包管理器uv
uv安装
使用国内镜像安装最新版uv(uv版本独立于python版本)
1curl -sL https://mirrors.ustc.edu.cn/github-release/astral-sh/uv/LatestRelease/uv-installer.sh | sh
2
3# 安装后验证
4uv --version
注意: uv 不直接依赖 Miniforge,但可在 Miniforge 创建的 Conda 环境中使用。关键在于确保 uv 使用的是 Conda 环境中的 Python。百舸托管 VPC 默认已开通公网出方向,一般不需要额外配置。
方法 1:在 Conda 环境中安装 uv(推荐)
1# 创建并激活 Conda 环境
2conda create -n myproject python=3.11 -y
3conda activate myproject
4
5# 在此环境中安装 uv(确保使用环境内 Python)
6pip install uv # 或使用 conda install -c conda-forge uv(如有)
7
8# 初始化项目(将在当前环境创建 .venv)
9cd myproject/
10uv init
⚠️ 注意: 此时 uv 会基于 myproject 环境中的 Python 创建虚拟环境,不会使用系统或 base 环境的包。
方法 2:让 uv 使用 Miniforge 的 base Python
若希望 uv 直接使用 Miniforge 的 base Python(不创建新虚拟环境),可
1# 激活 base 环境
2conda activate base
3
4# 在当前目录初始化项目,并复用 base 环境的 Python
5uv init
6uv venv --system-site-packages # 允许访问 base 环境的包
注意: 此方式适合快速开发,但牺牲了环境隔离性,不推荐用于生产或团队协作。
uv国内镜像设置
将下面的命令添加到 Shell 配置文件中(例如 ~/.bashrc, ~/.zshrc):
1# 设置 PyPI 默认镜像源
2export UV_DEFAULT_INDEX="https://pypi.tuna.tsinghua.edu.cn/simple"
3# 设置 Python 解释器下载镜像
4export UV_PYTHON_INSTALL_MIRROR="https://cnb.cool/astral-sh/python-build-standalone/-/releases/download/"
之后执行 source ~/.bashrc 使其生效。
Nodejs
Nodejs推荐版本
建议安装版本为Nodejs20,请使用下面的脚本,用官方deb包版本替换apt源然后安装
1# 安装 Node.js 20.x
2curl -fsSL https://deb.nodesource.com/setup_20.x | bash
3apt install -y nodejs
Nodejs包管理器npm
npm安装
上面安装nodejs20时,会自动安装npm10.8.2,请参照上面的Nodejs20安装步骤
npm国内镜像配置
npm在国内可直接访问,但国内有些场景访问速度会比较慢,如果出现超时或者访问缓慢,可尝试通过下面的方式设置国内镜像
1# 命令行配置
2npm config set registry https://registry.npmmirror.com
3
4# 查看是否配置成功
5npm config get registry
6# 预期输出:https://registry.npmmirror.com
Nodejs包管理器yarn
yarn安装
1# yarn需要使用npm安装,所以需要先完成【npm安装】
2npm install --global yarn
yarn国内镜像配置
yarn在国内可直接访问,但国内有些场景访问速度会比较慢,如果出现
1# 查看当前配置
2yarn config get registry
3
4# 设置为国内镜像源
5yarn config set registry https://registry.npmmirror.com
6
7# 验证配置生效
8yarn config list | grep registry
9# 预期输出:registry: 'https://registry.npmmirror.com/'
Golang
Golang推荐版本
golang推荐版本为1.22,可通过下面的命令安装,apt提供从1.12到1.24的版本
1apt instal -y golang-1.22-go
2
3# 安装完成后,需要将go命令所在文件夹设置进PATH,才能直接调用go命令
4echo 'export PATH=/usr/lib/go-1.22/bin:$PATH' >> ~/.bashrc
5echo 'export GOROOT=/usr/lib/go-1.22' >> ~/.bashrc
6
7# 执行上面的命令后,开启新的bash即可使用go命令,当前窗口还得执行下面的source才能起效
8source ~/.bashrc
Golang包管理器gomodules
gomodules安装
gomodules的使用命令为go mod(例如go mod tidy),golang安装完成就可用,不需额外安装
gomodules国内镜像配置
1# 安装golang成功后
2
3# 启用 Go Modules (Go 1.11+ 通常默认开启)
4go env -w GO111MODULE=on
5
6# 配置 GOPROXY 为国内加速地址
7go env -w GOPROXY=https://goproxy.cn,direct
8
9# 配置私有仓库代理(可选)
10# go env -w GOPRIVATE=git.mycompany.com,*.example.com
Rust
Rust推荐版本
Rust推荐版本为1.77,可通过下面的命令安装,apt提供多个版本,可通过apt search自行查看:
1apt install -y rustc-1.77
2
3# 安装完成后,需要将rustc命令所在文件夹设置进PATH,才能直接调用rustc命令
4echo 'export PATH=/usr/lib/rust-1.77/bin/:$PATH' >> ~/.bashrc
5
6# 执行上面的命令后,开启新的bash即可使用rustc命令,当前窗口还得执行下面的source才能起效
7source ~/.bashrc
Rust包管理器cargo
cargo安装
cargo安装也使用推荐版本1.77,可通过下面的命令安装,apt提供多个版本,可通过apt search自行查看:
1apt install -y cargo-1.77
2
3# cargo的所在路径和同版本rustc相同,如果之前有安装过rustc,就可以跳过这一步了
4# echo 'export PATH=/usr/lib/rust-1.77/bin/:$PATH' >> ~/.bashrc
5
6# 执行上面的命令后,开启新的bash即可使用rustc命令,当前窗口还得执行下面的source才能起效
7# source ~/.bashrc
cargo国内镜像配置
1# 以下内容写入 ~/.cargo/config.toml
2[source.crates-io]
3replace-with = "tuna"
4
5[source.tuna]
6registry = "sparse+https://mirrors.tuna.tsinghua.edu.cn/crates.io-index/"
Java
Java推荐版本
Java推荐版本为21,可通过下面的命令安装,apt提供21,11、17、18、21、25、8版本
1apt install -y openjdk-21-jdk
Java包管理器Maven
Maven安装
1cd /tmp
2wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.9.9/binaries/apache-maven-3.9.9-bin.tar.gz
3tar -zxvf apache-maven-3.9.9-bin.tar.gz -C /opt
4ln -s /opt/apache-maven-3.9.9 /opt/maven
5echo 'export MAVEN_HOME=/opt/maven' > /etc/profile.d/maven.sh
6echo 'export PATH=${MAVEN_HOME}/bin:${PATH}' >> /etc/profile.d/maven.sh
7source /etc/profile.d/maven.sh
8
9# 最后使用下面的命令查看安装结果
10mvn -version
Maven全局镜像配置
最推荐的配置方式是修改Maven的全局配置文件 settings.xml,这样对所有项目都能生效。
1.找到配置文件
~/.m2/settings.xml如果文件或目录不存在,请手动创建 .m2 文件夹和settings.xml 文件。
2.编辑配置文件
在 settings.xml 文件的 <mirrors>标签内,添加清华源作为镜像:
1<!-- 这些并不是完整的settings.xml内容,只是要添加在<mirrors>标签内的部分 -->
2<mirror>
3 <id>tuna</id>
4 <name>TUNA Maven Mirror</name>
5 <url>https://mirrors.tuna.tsinghua.edu.cn/maven-central/</url>
6 <mirrorOf>central</mirrorOf>
7</mirror>
小提示 : 如果希望镜像源覆盖所有官方仓库请求,可以将
标签内的值改为 *。这样会拦截所有请求,适合网络环境较差时使用,但可能影响部分特殊依赖的获取。
3.验证配置是否生效
执行以下命令,若没有错误且构建日志中的下载链接指向清华源,则表示配置成功。
1mvn clean compile
Java包管理器Gradle
Gradle安装
1cd /tmp
2wget https://mirrors.tuna.tsinghua.edu.cn/gradle/8.10.2/gradle-8.10.2-bin.zip
3apt install -y unzip
4unzip -d /opt/gradle gradle-8.10.2-bin.zip
5ln -s /opt/gradle/gradle-8.10.2 /opt/gradle/latest
6echo 'export GRADLE_HOME=/opt/gradle/latest' > /etc/profile.d/gradle.sh
7echo 'export PATH=${GRADLE_HOME}/bin:${PATH}' >> /etc/profile.d/gradle.sh
8source /etc/profile.d/gradle.sh
9
10# 最后使用下面的命令查看安装结果
11gradle -v
Gradle全局镜像配置(推荐)
为了不在每个项目中重复配置,推荐使用全局 init.gradle 脚本。
1. 创建配置文件 ~/.gradle/init.gradle
2. 编辑配置文件
将以下内容复制进 init.gradle 文件。这个脚本会自动拦截 Gradle 对 Maven 中央仓库的请求,并替换为清华源,而项目中的 build.gradle文件无需做任何修改。
1allprojects {
2 repositories {
3 maven {
4 url 'https://mirrors.tuna.tsinghua.edu.cn/maven-central/'
5 }
6 mavenCentral()
7 }
8}
数据库软件
| 数据库 | apt软件包名 | 是否默认安装 |
|---|---|---|
| SQLite | bsqlite3 |
❌ |
| PostgreSQL客户端 | postgresql-client |
❌ |
| Redis客户端 | redis-tools |
❌ |
系统命令和基础软件
文件与目录管理
| 命令 | 功能说明 | apt 软件包名 | 是否默认安装 |
|---|---|---|---|
ls |
列出目录内容 | coreutils |
✅ |
cd |
切换目录 | coreutils |
✅ |
rm |
删除文件或目录 | coreutils |
✅ |
mkdir |
创建新目录 | coreutils |
✅ |
cp |
复制文件或目录 | coreutils |
✅ |
mv |
移动或重命名文件或目录 | coreutils |
✅ |
pwd |
显示当前目录 | coreutils |
✅ |
cat |
显示文件内容 | coreutils |
✅ |
mkdir |
创建目录 | coreutils |
✅ |
rmdir |
删除空目录 | coreutils |
✅ |
tac |
反向显示文件内容 | coreutils |
✅ |
head |
显示文件开头部分 | coreutils |
✅ |
tail |
显示文件结尾部分 | coreutils |
✅ |
find |
查找文件或目录 | findutils |
✅ |
grep |
搜索文本 | grep |
✅ |
tar |
归档工具 | tar |
✅ |
zip |
压缩文件 | zip |
❌ |
unzip |
解压文件 | unzip |
✅ |
网络与通信
| 命令 | 功能说明 | apt 软件包名 | 是否默认安装 |
|---|---|---|---|
ping |
测试网络连通性 | iputils-ping |
✅ |
curl |
传输数据 | curl |
✅ |
wget |
下载文件 | wget |
✅ |
netstat |
显示网络连接、路由表等 | net-tools |
✅ |
ip |
显示/操作路由、设备等 | iproute2 |
❌ |
ss |
查看套接字统计信息 | iproute2 |
❌ |
traceroute |
追踪数据包路由路径 | traceroute |
❌ |
dig |
DNS 查询工具 | dnsutils |
❌ |
nslookup |
DNS 查询工具 | ndnsutils |
❌ |
系统信息监控
| 命令 | 功能说明 | apt 软件包名 | 是否默认安装 |
|---|---|---|---|
ps |
显示当前进程快照 | procps |
✅ |
top |
实时显示系统资源使用情况 | procps |
✅ |
htop |
交互式进程查看器 | htop |
❌ |
free |
显示内存使用情况 | procps |
✅ |
df |
报告文件系统磁盘空间使用情况 | coreutils |
✅ |
du |
估算文件和目录的磁盘使用情况 | coreutils |
✅ |
uptime |
显示系统运行时间 | procps |
✅ |
uname |
显示系统信息 | coreutils |
✅ |
硬件信息
| 命令 | 功能说明 | apt 软件包名 | 是否默认安装 |
|---|---|---|---|
lspci |
列出所有 PCI 设备 | pciutils |
❌ |
lsusb |
列出所有 USB 设备 | usbutils |
❌ |
lscpu |
显示 CPU 架构信息 | util-linux |
✅ |
lsblk |
列出块设备信息 | util-linux |
✅ |
文本处理
| 命令 | 功能说明 | apt 软件包名 | 是否默认安装 |
|---|---|---|---|
sed |
流编辑器 | sed |
✅ |
awk |
模式扫描和处理语言 | awk |
✅ |
sort |
对文本文件行排序 | coreutils |
✅ |
uniq |
去除重复行 | coreutils |
✅ |
cut |
从每行中剪切出选中的部分 | coreutils |
✅ |
jq |
操作json信息 | jq |
❌ |
rg |
ruby版本的grep命令 | ripgrep |
❌ |
软件开发与版本控制
| 命令 | 功能说明 | apt 软件包名 | 是否默认安装 |
|---|---|---|---|
git |
版本控制 | git |
✅ |
vim |
文本编辑器 | vim |
✅ |
nano |
简单易用的文本编辑器 | nano |
❌ |
gcc |
C 编译器 | gcc |
❌ |
g++ |
C++ 编译器 | g++ |
❌ |
make |
项目构建工具 | make |
❌ |
gcc默认会安装gcc的11.2.0版本 建议使用下面的命令安装gcc的12.3.0版本:
1# 安装gcc-12版本
2apt install -y gcc-12
3
4# gcc-12安装后默认只能用gcc-12命令调用,执行下面的命令,就可以用gcc命令调用gcc12版本
5ln -s gcc-12 /usr/bin/gcc
其他实用工具
| 命令 | 功能说明 | apt 软件包名 | 是否默认安装 |
|---|---|---|---|
tree |
以树状结构显示目录内容 | tree |
❌ |
man |
查看命令手册 | man-db |
✅ |
sudo |
以其他用户身份执行命令 | sudo |
❌ |
screen |
终端复用器 | screen |
❌ |
tmux |
终端复用器(更现代) | tmux |
❌ |
评价此篇文章
