🐧

【Rust】Oracle Linux 8.5(WSL2) で環境構築 ~その1~

2022/02/12に公開

Microsoft Storeに Oracle Linux 8.5 が出たので色々と触ってます...。

Ubuntu(WSL2) + Rust の記事は結構あるので、、需要あるかな?と思いつつ
「きっと・・あるはず!」と思い込み?書いてますー。

はじめに

出来る限り、サクっと読める内容にしたい思ってますので
WSL2の環境構築などについては「出来ている」こと前提としてます
( 不親切でごめんね )

また、各種操作等々・・自己責任でお願いします。。

WSL2にOL8を入れよう

公式から入手してください ↓↓

https://www.microsoft.com/ja-jp/p/oracle-linux-85/9p06h18wxbvp

初回起動時にユーザ作成を促されるので、指示に従いましょう。
また、個人的にコンソール起動時の「開始ディレクトリ」を変えておきたい派なので
以下のような設定にしています。 ( Windows Terminal以外の方は適宜お願いします )

必要パッケージのインストール

Rust環境をつくるのに必要なパッケージを入れていきます。
Ubuntuでいう build-essential はないので、 Development Tools を入れていきます。
※詳しい方は必要なものだけインストールするでもOKです。

# 兎にも角にも最新化
$ sudo dnf update

# Build関連のパッケージをインストール
$ sudo dnf groupinstall "Development Tools"

Rustのインストール

公式ではこちらを推していますので、こちらでインストールしていきます。
※Oracle Linux 8.5 だと dnfrust-toolset があるんですが、こちらが楽です。

# Rustインストール (作成したUserで実行)
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

↓↓の質問が出てくるので「1」で進みましょう。
※カスタムしたい方は、「2」を選んでゴニョゴニョっと。

1) Proceed with installation (default)
2) Customize installation
3) Cancel installation

インストールが終わったら、パスを通しましょう。
そして、動作確認も行っておきましょう。

# パスを通す
$ source $HOME/.cargo/env

# 動作確認
$ rustc --version
rustc 1.58.1 (db9d1b20b 2022-01-20)

$ rustup --version
rustup 1.24.3 (ce5817a94 2021-05-31)

後々のために Rust Language Server をインストールしておきます。

$ rustup update
$ rustup component add rls rust-analysis rust-src

プログラムを作って確認しよう

さて、準備が整ったので...早速モノ作ってみましょう。
場所等々はお好みでお願いします。 ( 例は cargo 使ってやってます )

# cargo の動作確認
$ cargo --version

# 作業場所を作成 -> 移動
$ cd ~/
$ cargo new workspace/rust_test --bin
$ cd ./workspace/rust_test

# Build
$ cargo build
   Compiling rust_test v0.1.0 (/home/tachang/workspace/rust_test)
    Finished dev [unoptimized + debuginfo] target(s) in 2.37s

# Run!!
$ cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.01s
     Running `target/debug/rust_test`
Hello, world!

さいごに

簡単にですが、Oracle Linux 8.5(WSL2) に Rust環境を作成してみました。
WindowsでRust環境作るとVisualStudio (BuildTools含む) を入れないといけないから
「ちょっと億劫やねん」「ライセンス的に・・」という方にお役に立てれば~。

次回は、第2弾ということでVSCodeとの連携について書いていきたいな と思ってます。

~追伸~
 Oracle Linux 8.5(WSL2)を触ってて思うのは、「勝手が違う」
 特にPodman(Docker含む)導入で躓きまくってるので・・そのうち記事にするかも。。
 ( 全然、解決出来てない。くやしい。。 )

Discussion