# Rust for Linux Applications

## About this Install Guide

| Reading time:        | 10 min           |
|----------------------|------------------|
| Last updated:        | 25 Aug 2026      |
| Ecosystem dashboard:  | [View](https://developer.arm.com/ecosystem-dashboard/linux?package=rust) |

| Author:              | Mathias Brossard, Arm |
|----------------------|------------------------|
| Official docs:       | [View](https://www.rust-lang.org/tools/install) |

This guide shows you how to install and use the tool with the most common configuration. For advanced options and complete reference information, see the official documentation. Some install guides also include optional next steps to help you explore related workflows or integrations.

[Rust](https://www.rust-lang.org/) is an open source programming language.

This install guide is for Linux application developers who use Rust.

If you want to use Rust for embedded applications on Arm, see [Rust for Embedded Applications](https://learn.arm.com/install-guides/rust_embedded/) instead.

## What are the prerequisites before installing Rust on Arm Linux?

Rust is available for a variety of operating systems and Linux distributions, and there are multiple ways to install it.

This install guide provides a quick solution to install Rust on an Arm Linux distribution.

Confirm you are using an Arm machine by running:

```
uname -m
```

The output should be:

```
__output__ aarch64
```

If you see a different result, you are not using an Arm computer running 64-bit Linux.

## How do I install Rust on an Arm Linux system?

### How do I install dependencies on Debian-based distributions?

Use the `apt` command to install the required software packages on any Debian-based Linux distribution, including Ubuntu.

```
sudo apt update
sudo apt install -y curl gcc
```

### How do I install dependencies on Red Hat, Fedora, or Amazon Linux?

These Linux distributions use `yum` as the package manager.

Use the `yum` command to install the required software packages. If the machine has `sudo` you can use it.

```
sudo yum update -y
sudo yum install -y curl gcc
```

### How do I download and install Rust?

Run the following command to download and install Rust:

```
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
```

The installer output is similar to:

```
__output__ info: downloading installer
__output__ info: profile set to default
__output__ info: default host triple is aarch64-unknown-linux-gnu
__output__ info: syncing channel updates for stable-aarch64-unknown-linux-gnu
__output__ info: latest update on 2026-08-20 for version 1.98.0 (88d9e12ae 2026-08-18)
__output__ info: downloading 6 components
__output__ info: default toolchain set to stable-aarch64-unknown-linux-gnu

__output__ stable-aarch64-unknown-linux-gnu installed - rustc 1.98.0 (88d9e12ae 2026-08-18)

__output__ Rust is installed now. Great!

__output__ To get started you may need to restart your current shell.
__output__ This would reload your PATH environment variable to include
__output__ Cargo's bin directory ($HOME/.cargo/bin).

__output__ To configure your current shell, you need to source
__output__ the corresponding env file under $HOME/.cargo.

__output__ This is usually done by running one of the following (note the leading DOT):
__output__ . "$HOME/.cargo/env"            # For sh/bash/zsh/ash/dash/pdksh
__output__ source "$HOME/.cargo/env.fish"  # For fish
```

The latest version of Rust is now installed.

The installer updates `$HOME/.bashrc` and `$HOME/.profile` to set up the environment. Start a new shell or run the following command to continue:

```
source "$HOME/.cargo/env"
```

To confirm the installation is complete, run `cargo version` (`cargo` is the Rust package manager):

```
cargo version
```

The output is similar to:

```
__output__ cargo 1.98.0 (797e8a9bc 2026-08-05)
```

You are ready to use the Rust programming language on your Arm Linux machine.

## How do I get started using Rust?

To compile an example program, run the following commands:

```
cargo new hello
cd hello
cargo run
```

The `cargo run` command outputs:

```
__output__ Compiling hello v0.1.0 (/home/user/hello)
__output__     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.54s
__output__      Running `target/debug/hello`
__output__ Hello, world!
```

## Give Feedback

How would you rate this tool quick-install guide?

What is the primary reason for your feedback?

- Missing information
- Too complicated / unclear steps
- Code problems
- Out of date
- Easy to understand
- Solved my problem
- Excellent code snippets

Have more feedback? [Log an issue on GitHub.](https://github.com/ArmDeveloperEcosystem/arm-learning-paths/issues/new?title=Feedback%20-%20Install%20Guides)

Want to collaborate? [Join our Discord server.](https://discord.com/invite/armsoftwaredev)
