初めに #
近年の開発現場において、バックエンド開発や運用ツール作成の分野で急速に存在感を高めているプログラミング言語が Go(Golang) です。
Go言語は Google が開発した、シンプルな文法と高い実行性能を兼ね備えたプログラミング言語となります。
Go言語では依存関係を含めた単一バイナリとして実行ファイルを生成できるため、サーバーへの配置や配布が容易で、運用管理の負担を抑えることができます。
本記事では、AlmaLinux環境にGoをインストールする方法を初心者向けにわかりやすく解説します。
2種類の導入方法 #
AlmaLinuxへ Go言語を導入する方法は、主に次の2種類があります。
- パッケージマネージャ(yum / dnf)を利用してインストールする方法
- 公式配布バイナリをダウンロードして手動でインストールする方法
それぞれの特徴は以下の通りとなります。
1.パッケージマネージャを利用する場合 #
OS標準のパッケージ管理機能を利用するため、サーバー全体へ統一的に導入する事ができます。
そのため、インストール手順がシンプルで管理もしやすく、初心者にとっても扱いやすい方法となっています。
また、後述する手動導入とは異なり、PATHの設定を個別に行う必要がなく、環境変数を意識する場面もほとんどありません。
ただし、RHEL系ディストリビューションでは安定性を重視した設計となるため、提供されるGoのバージョンは最新ではない場合がございます。
2.公式配布バイナリを利用する場合 #
Go公式サイトからバイナリを取得し、任意のディレクトリへ展開して利用する方法となります。
そのため、前述の方法とは異なり、ユーザー単位でインストールすることが可能となっております。
また、用途に応じて異なるバージョンを共存させることもできます。
一方で、OSやCPUアーキテクチャを把握した上で、対応するバイナリを選択する必要があり導入後のアップデートやバージョン管理も手動で行う必要があります。
そのため、ある程度Linuxの基本操作に慣れている方向けの方法といえます。
どちらを選択するべきか #
以下のようなケースに該当する場合はパッケージマネージャによるインストールが適しています。
- 手軽に導入したい
- サーバー全体で統一的に管理したい
- 管理の手間をできるだけ少なくしたい
- PATHや環境変数の設定を意識せず利用したい
反対に、次のようなケースでは公式配布バイナリによる手動インストールが適しています。
- 最新バージョンを利用したい
- ユーザー単位で環境を構築したい
- 複数バージョンを用途ごとに使い分けたい
- 共用サーバーなどで管理者権限がない
利用目的や運用方針に応じて、適した方法を選択してください。
AlmaLinuxでGoをパッケージマネージャ(dnf / yum)からインストールする方法 #
ここでは、AlmaLinux に標準搭載されているパッケージ管理機能「dnf」を利用して Go を導入する手順を解説します。
次のコマンドを実行し導入を行ってください。
dnf install golang
インストールのコマンドを実行すると依存関係の解決が始まり、確認を求められます。
内容を確認して問題なければ y を入力し進めてください。
Total download size: 131 M
Installed size: 438 M
Is this ok [y/N]:
インストールが完了すると、次のメッセージが表示されます。
Complete!
以下のコマンドを実行することで、パッケージの導入有無を確認することができます。
$ rpm -qa |grep "golang"
golang-src-1.25.5-1.el10_1.alma.1.noarch
golang-race-1.25.5-1.el10_1.alma.1.x86_64
golang-1.25.5-1.el10_1.alma.1.x86_64
golang-bin-1.25.5-1.el10_1.alma.1.x86_64
次のコマンドでインストールされたGo言語のバージョン情報を確認する事ができます。
$ go version
記事執筆時点で AlmaLinux 10 向けに提供されているバージョンは 1.25.5 となっておりました。
go version go1.25.5 (Red Hat 1.25.5-1.el10_1.alma.1) linux/amd64
以上でGo言語の導入は完了となります。
公式配布バイナリを利用した導入手順 #
ここでは、Go公式サイトより配布されているバイナリを利用して手動でインストールする方法をご紹介します。
CPUアーキテクチャの確認 #
初めに以下のコマンドを実行しCPUアーキテクチャの確認を行ってください。
uname -m
出力された結果に応じて、バイナリ種別を選択してください。
今回は例として x86-64 環境を使用します。
| 表示結果 | CPUアーキテクチャ | 選択するバイナリ種別 |
|---|---|---|
i386 / i486 / i586 / i686 |
x86 | linux-386 |
x86_64 |
x86-64 | linux-amd64 |
aarch64 |
ARM64 | linux-arm64 |
armv6l |
ARMv6 | linux-armv6l |
公式バイナリのダウンロード #
次に以下のGoの公式サイトより、選択した種別に対応するアーカイブをダウンロードしてください。
今回は、記事執筆時点での最新版となる 1.26 をダウンロードします。
インフラ技術部では Goバージョン一覧まとめページを毎日更新しています。
必要に応じて、こちらもあわせてご覧ください。
Goバージョン一覧まとめ
では、実際にダウンロードを進めていきます。
以下のコマンドを実行しダウンロードを行ってください。
wget https://go.dev/dl/go1.26.0.linux-amd64.tar.gz
wget が利用できない場合は以下のコマンドを実行しダウンロードを行ってください。
curl -LO https://go.dev/dl/go1.26.0.linux-amd64.tar.gz
ダウンロードが完了すると、カレントディレクトリにアーカイブファイルが作成されます。
$ ls
go1.26.0.linux-amd64.tar.gz
以上でダウンロードは完了となります。
ハッシュ値の確認(整合性チェック) #
ダウンロードしたアーカイブが改ざんされていないことを確認するため、必ずハッシュ値と比較を実施してください。
$ sha256sum go1.26.0.linux-amd64.tar.gz
aac1b08a0fb0c4e0a7c1555beb7b59180b05dfc5a3d62e40e9de90cd42f88235 go1.26.0.linux-amd64.tar.gz
表示された先頭の文字列が SHA256 のハッシュ値となります。
公式サイトに掲載されている値と完全一致していることを確認してください。
一致しない場合は、該当のファイルを直ちに削除し正しいファイルのダウンロードを行ってください。
展開用ディレクトリの作成 #
次にバイナリファイルを配置するためのディレクトリを作成します。
今回は例としてユーザー領域に .local ディレクトリを作成します。
mkdir -p $HOME/.local
ディレクトリ名や配置先は任意に設定可能です。
既に同様の目的で利用しているディレクトリがある場合は、新たに作成する必要はありません。
その場合は、既存のディレクトリを展開先として指定してください。
アーカイブファイルの展開 #
次に、先ほどダウンロードしたアーカイブファイルの展開を行います。
作成したディレクトリを展開先として指定します。
tar -C $HOME/.local -xzf go1.26.0.linux-amd64.tar.gz
展開が完了すると、次のように go ディレクトリが作成されます。
$ ls $HOME/.local
go
アーカイブの展開が完了したら、ダウンロードした圧縮ファイルは不要となります。
以下のコマンドにて削除を実施してください。
unlink go1.26.0.linux-amd64.tar.gz
環境変数(PATH)の設定 #
展開が完了しただけでは go コマンドは利用できません。
実行ファイルへパスを通すため、環境変数 PATH の設定を行う必要があります。
以下のコマンドを実行し PATH 設定を追加してください。
echo 'export PATH=$PATH:$HOME/.local/go/bin' >> ~/.bashrc
次に設定を反映させるため、以下のコマンドを実行してください。
source ~/.bashrc
以上で導入は完了となります。
バージョン確認 #
以下のコマンドを実行し、インストールされた Go のバージョンを確認してください。
$ go version
正しくインストールされている場合は、次のようにバージョン情報が表示されます。
go version go1.26.0 linux/amd64
まとめ #
以上で、AlmaLinux への Go 言語の導入は完了となります。
パッケージマネージャを使えば手軽に導入でき、公式バイナリを使えばより柔軟な環境構築が可能になります。
ご自身の利用目的に合わせて、最適な方法を選択してみてください。
Go は単一バイナリで動作するシンプルさが魅力の言語です。
まずは簡単なプログラムを書いて実行してみることで、Go の軽快さを体感してみてはいかがでしょうか。
最後までご覧いただきありがとうございました。