本教程适用于以下操作系统版本
- AlmaLinux 9
- AlmaLinux 8
本页内容
- 为何使用 Rust
- 先决条件
- 通过 AppStream 仓库安装 Rust
- 通过 Rustup 安装 Rust 安装依赖 安装 Rust 和 Rustup 管理工具链
- 创建第一个 Rust 项目
- 结论
- 安装依赖
- 安装 Rust 和 Rustup
- 管理工具链
Rust 是一种现代系统编程语言,于 2010 年首次发布。Rust 的开发旨在解决其他编程语言中的常见问题,例如内存安全、并发性和性能。Rust 现在甚至已被用于 Linux 内核。
为何使用 Rust
内存安全
Rust 通过编译期检查和严格的所有权规则来保证内存安全。这避免了空指针解引用、缓冲区溢出和数据溢出等常见的编程错误。
并发
Rust 对并发编程提供内置支持。它提供了称为“tasks”的轻量级线程,以及一个确保线程安全的强大类型系统。
性能
Rust 提供的抽象方式使得高级编程结构不会带来任何运行时开销。这让开发者更容易编写安全且快速的代码。
所有权模型
由于 Rust 内置的所有权模型,内存得到了高效管理。它对所有权、借用(borrowing)和生命周期(lifetime)实施严格规则,防止了 use-after-free 和 double-free 等常见错误。
Cargo
Rust 拥有一个名为 Cargo 的强大包管理器和构建系统。它让管理依赖、构建项目和运行测试变得轻松。
简洁语法
Rust 拥有受 C++ 影响但注重可读性和简洁性的清晰且富有表现力的语法。它提供模式匹配、闭包(closures)、泛型(generics)以及其他现代语言特性。
在性能、可靠性和安全性至关重要的场景中,Rust 表现出色,并被广泛用于开发操作系统(如 Linux)、嵌入式系统、设备驱动程序、网络服务、游戏引擎以及其他性能关键型软件。
在本指南中,我们将带你完成在 AlmaLinux 9 上安装 Rust 编程语言的过程。你将通过两种不同的方法安装 Rust,并学习 Cargo 包管理器用于创建和管理 Rust 项目的基本用法。
先决条件
在开始之前,请确保你具备以下条件:
- 一台 AlmaLinux 9 机器 —— 服务器版或桌面版。
- 一个具有 root/管理员权限的非 root 用户。
通过 AppStream 仓库安装 Rust
在 AlmaLinux 9 上,默认的 appstream 仓库提供了一个可以通过 DNF 轻松安装的 Rust 软件包。此外还有 Cargo 软件包,它是用于你的 Rust 项目的 Rust 包管理器和依赖管理工具。
本节将向你展示如何通过 appstream 仓库在 AlmaLinux 9 上安装 Rust 和 Cargo 包管理器。
首先,输入以下 dnf 命令来检查 AlmaLinux 仓库中可用的 Rust 详细信息。
sudo dnf info rust
在以下输出中,你可以看到 AlmaLinux appstream 仓库中提供的 Rust v1.66。

现在,运行以下命令将 Rust 和 Cargo 包管理器安装到你的系统。在提示时输入 y 并按 ENTER。
sudo dnf install rust cargo

Rust 和 Cargo 安装完成后,运行以下命令来检查 Rust 和 Cargo 的二进制文件位置。
which rust
which cargo
然后,使用以下命令验证 Rust 和 Cargo 版本。
rustc --version
cargo --version
你将看到以下输出,确认 Rust 和 Cargo v1.66 已通过 appstream 仓库安装。

通过 Rustup 安装 Rust
另一种安装 Rust 的方法是通过 rustup,它是用于 Rust 开发环境的工具链多路复用器(toolchain multiplexer)。它类似于 Ruby 的 rbenv、Node.js 的 nvm 或 Python 的 Pyenv。
你可以在系统级环境或单用户环境中安装 rustup。在下一节中,你将通过 rustup 进行系统级安装,这样任何用户都可以执行你的 Rust 安装。
安装依赖
在安装 rustup 之前,你必须为其安装软件包依赖。你必须将 EPEL 仓库添加到你的系统,然后安装一些开发工具,例如 gcc、make 和 cmake。
首先,运行以下 dnf 命令将 EPEL 仓库添加到你的系统。
sudo dnf install epel-release
输入 y 并按 ENTER 确认。

然后,使用以下 dnf 命令安装一些软件包依赖。
sudo dnf install cmake gcc make wget tree -y

依赖安装完成后,继续进行 Rustup 的安装。
安装 Rust 和 Rustup
rustup 安装起来很容易。它提供了一个可以在任何 Linux 发行版上运行的安装脚本。
现在,你将安装 rustup,它包含 Rust 的稳定版和 Cargo 包管理器。你还将设置 RUSTUP_HOME 环境变量,并将 rustup 的二进制路径添加到系统 PATH。
运行以下命令下载 Rustup 安装程序,然后将 Rustup 安装到 /opt/rust 目录。
wget -qO - https://sh.rustup.rs | sudo RUSTUP_HOME=/opt/rust CARGO_HOME=/opt/rust sh -s -- --no-modify-path -y
Rustup 安装过程中的输出。

Rustup 安装完成后,将显示如下输出信息“Rust is installed now. Great!”:

接下来,运行以下命令设置 /opt/rust,并将 /opt/rust/bin 目录添加到系统 PATH。
echo 'export RUSTUP_HOME=/opt/rust' | sudo tee -a /etc/profile.d/rust.sh
echo 'export PATH=$PATH:/opt/rust/bin' | sudo tee -a /etc/profile.d/rust.sh
重新加载 /etc/profile 以应用新的系统环境变量。
source /etc/profile
之后,使用以下命令验证 RUSTUP_HOME 和 PATH 环境变量。
echo $RUSTUP_HOME
echo $PATH
从输出中,你可以看到 RUSTUP_HOME 指向 /opt/rust 目录,并且 /opt/rust/bin 目录已添加到系统 PATH。

现在运行以下命令检查 Rust 二进制文件的位置并验证 Rust 版本。
which rustc
rustc -V
然后,运行以下命令检查 Cargo 二进制文件的位置并验证 Cargo 版本。
which cargo
cargo -V
显示的输出应确认 Rust 和 Cargo 二进制文件位于 /opt/rust/bin 目录。并且已安装的 Rust 和 Cargo 版本为 v1.69。

管理工具链
在 rustup 中,有一些类似 toolchain(工具链)和 channel(通道)的概念。channel 是 Rust 版本的来源,你可以从 stable、beta 和 nightly 等不同构建中进行选择。toolchain 是 Rust 编译器的单次安装,你可以在 rustup 环境中安装多个工具链。
在本节中,你将学习如何通过 rustup 命令管理 rustup 工具链。
首先,运行以下命令为 rustup 命令生成 bash 补全(bas completion)并加载新的 bash 补全。这将简化通过 rustup 进行的 Rust 管理。
rustup completions bash > /usr/share/bash-completion/completions/rustup
source /etc/profile.d/bash_completion.sh
现在输入 rustup 命令并按 TAB 键以获取 rustup 的可用选项列表。
rustup TAB
如果 rustup 的 bash 补全成功,你应该会得到 rustup 命令的可用选项输出。

接下来,运行以下 rustup 命令来检查你的 Rust 和 rustup 安装信息。
rustup show
从以下输出中,你应该能获取 rustup 主目录 /opt/rust 的位置,并且系统上已安装 rustup 默认的 stable 通道。

接下来,运行以下命令安装另一个 rustup 工具链版本。在此示例中,你将安装 rustup 的 nightly 版本。
rustup toolchain install nightly

rustup nightly 安装完成后,运行以下命令验证可用的 rustup 工具链列表。你应该会看到两个版本的 rustup 工具链:stable 和 nightly 版本。
rustup toolchain list
现在运行以下 rustup 命令切换到不同版本的工具链。在此示例中,你将切换到 rustup nightly。
rustup default nightly

现在使用以下命令验证 Rust 和 Cargo 的当前版本。你应该会看到系统当前使用的是 Rust 和 Cargo v1.71。
rustc -V
cargo -V

创建第一个 Rust 项目
在 Rust 编程语言和 Cargo 包管理器安装完成后,现在你将通过 Cargo 创建第一个 Rust 项目。
首先,使用以下命令登录到你的用户。
su - username
现在使用以下 cargo 命令创建一个新的 Rust 项目。在本演示中,你将创建一个名为 hello_rust 的新项目。
cargo new hello_rust
命令执行后,你应该会看到新目录 hello_rust 被创建。
进入 hello_rust 目录并运行以下 tree 命令以获取可用文件和目录的列表。
cd hellow_rust/
tree .
你应该会看到 COnfig.toml 文件,它存储了你的应用程序信息以及所有必需的依赖,还有包含 Rust 应用程序源代码的 src 目录。

以下是 Config.toml 文件的类似内容。根据需要修改它,如果你的 Rust 应用程序有依赖,请将它们包含在 [dependencies] 部分中。
[package] name = "hello_rust" version = "0.1.1" edition = "2021" [dependencies]
接下来,使用你喜欢的编辑器打开 src/main.rs 文件,并将默认的“Hello World”消息修改为如下内容。
fn main() {
println!("Hello World, welcome to Rust.");
}
完成后保存文件并退出编辑器。
现在运行以下 cargo 命令来编译并构建 Rust 项目。然后在项目编译后再次验证文件和目录列表。
cargo build
tree .
你应该会看到生成了一个名为 target 的新目录,编译后的应用程序就存储在其中。

现在运行以下 cargo 命令来运行应用程序。你应该会看到诸如“Hello World, welcome to Rust”这样的输出。
cargo run

此外,你也可以像这样直接运行 Rust 应用程序的二进制文件。
./target/debug/hello_rust
你应该会得到相同的输出。

结论
做得好!你已按照所有步骤在 AlmaLinux 9 系统上安装了 Rust。你学习了通过 AlmaLinux appstream 仓库和 rustup 这两种安装 Rust 的方法。
除此之外,你还学习了如何在 rustup 工具链的多个版本之间切换,以及如何通过 Cargo(Rust 包管理器和依赖管理器)创建第一个 Rust 应用程序/项目。