○パッケージ管理システムでRustをインストール

これまで、主要3プラットフォーム(Windows、macOS、Linux)でRustをインストールする方法やアンインストールする方法およびアップデートする方法を説明した。Rustチームが紹介しているオフィシャルな方法でのインストール/アンインストールおよびアップデートの方法だ。

Rustチームが紹介している方法はRustを個別にインストールする方法で、パッケージ管理システムを使う方法ではない。rustupコマンドを使ってRustだけをインストールする方法だ。

前回は、macOSでHomebrewと呼ばれるパッケージ管理システムを使う方法を取り上げるとともに、Rustをインストールしたりアップデートしたりする方法を取り上げた。当然、Linuxにもパッケージ管理システムは存在しており、パッケージ管理システムを使ってRustをインストールできるようにもなっている。ただし、パッケージ管理システムや管理用に使われるコマンドはLinuxディストリビューションごとに異なっており、それぞれ別のコマンドを実行する必要がある。

ここでは、Ubuntu、Red Hat Enterprise Linux/CentOS、SUSE Linux Enterprise Server/openSUSE Leapにおけるパッケージ管理システムを使ったRustのインストール方法とアンインストール方法を取り上げる。他のLinuxディストリビューションでは異なるコマンドが必要だったり、同じLinuxディストリビューションでもバージョンが古いと操作が異なったりするものもある。最終的には、ここで紹介した方法を参考にしつつ、使用しているLinuxディストリビューションに適した方法で作業してもらえればと思う。

○Ubuntuにインストール

Ubuntuでは、aptコマンドでパッケージの操作を行う。UbuntuにはrustcというパッケージにRustコンパイラやCargoが同梱されており、このパッケージをインストールすることで、Rustをインストールできる。インストールやアンインストール方法は次のとおり。

Rustインストールサンプル (Ubuntu 18.04 LTS)

Rustアンインストールサンプル (Ubuntu 18.04 LTS)

aptでは、rustcパッケージのみをアップデートするといったことはできない。rustcパッケージをアップデートするには、Ubuntuのパッケージ全体をアップデートする必要がある。

○Red Hat Enterprise Linux / CentOSにインストール

Red Hat Enterprise LinuxやCentOSでは、yumコマンドでパッケージの操作を行う。Red Hat Enterprise LinuxやCentOSでは、rust-toolsetというパッケージをインストールすることでCargoおよびRustコンパイラをインストールできる。インストールやアンインストール方法は次のとおり。

Rustインストールサンプル (CentOS 8.1)

Rustインストールサンプル (CentOS 8.1)

Rustアンインストールサンプル (CentOS 8.1)

Rustアンインストールサンプル (CentOS 8.1)

aptではrustcパッケージのみをアップデートするといったことはできない。rust-toolsetパッケージをアップデートするにはRed Hat Enterprise LinuxやCentOSのパッケージ全体をアップデートする必要がある。

○SUSE Linux Enterprise Server / openSUSE Leapにインストール

SUSE Linux Enterprise ServerやopenSUSE Leapでは、zypperコマンドでパッケージの操作を行う。SUSE Linux Enterprise ServerやopenSUSE Leapでは、cargoというパッケージをインストールすることでCargoおよびRustコンパイラをインストーできる。インストールやアンインストール方法は次のとおり。

Rustインストールサンプル (openSUSE Leap 15.1)

Rustインストールサンプル (openSUSE Leap 15.1)

cargoパッケージをアンインストールするだけでは、インストールしたパッケージは削除しきれない。アンインストールするには、rustパッケージもアンインストールする必要がある。rustパッケージは、cargoパッケージをインストールすると依存関係でインストールされるパッケージだ。

さらに、他のパッケージも依存関係的にインストールされたものが残ってしまう。その場合、「sudo zypper packages --orphaned --unneeded」のようにコマンドを実行して取り残されてしまったパッケージを一覧表示させ、不要なパッケージを個別にアンインストールすればよい。

zypperではcargoパッケージのみをアップデートするといったことはできない。cargoパッケージをアップデートするにはSUSE Linux Enterprise ServerやopenSUSE Leapのパッケージ全体をアップデートする必要がある。

○Linuxならパッケージ管理システムも選択肢

Linuxディストリビューションを使用するなら、パッケージ管理システムを利用するのは自然な選択肢だ。一度インストールすれば、他のパッケージと同じタイミングでアップデートが行われるので手間が一括で済む。rustupコマンドの操作方法を覚える必要がないので簡単だ。

しかし反面、Linuxディストリビューションのパッケージに登録されているRustはバージョンが古い傾向が見られる。Rustは半年おきに新しいバージョンが公開されているのだが、Linuxディストリビューションでは、古いバージョンのままキープされているものも多い。また、古いバージョンのLinuxディストリビューションではそもそもRustのパッケージが提供されていないこともある。

Linuxディストリビューションにおいて、Rustのインストールやアップデートにパッケージ管理システムを使うか、rustupコマンドを使うかは、まずRustパッケージが提供されているかどうか、次に、最新バージョンを使いたいか古いままでもよいか、その辺りが切り分けのポイントになるといえる。