AWS クラウドにAlmaLinux のEC2 を構築
前回の記事で AWS の EC2 インスタンスで AlmaLinux 8.7 の環境構築手順を書きました。
続いて、MATLAB 環境を作る手順をご紹介します。
MATLAB がサポートしている Linux は MathWorks のシステム要求のページにありますが、Ubuntu、 RedHat、Debian、SUSE Linux をサポートしていますが CentOS や AlmaLinux のサポートはありません。動作保証していないのであくまでも自己責任での利用となりますが、意外と問題なく動作します。
MATLAB を MLM コマンドでインストールする手順
AlmaLinux がある前提で続いて最小ステップでの MATLAB インストール手順をご紹介します。
wget と unzip のインストール
まずは Web からパッケージをダウンロードするのに必要な wget と、Zip ファイルを解凍するための unzip コマンドを使えるようにします。
sudo dnf install wget
sudo dnf install unzip
Code language: Bash (bash)
MPM のインストール
続いて MPM コマンドのインストール。こちらは MATLAB Package Manager のことで、Linux や Docker 環境にコマンドラインで MATLAB や Toolbox のインストールができます。詳細は GitHub の情報をご覧ください。
MPM をダウンロードするには wget を使い、ダウンロード後に実行権限を付与します。
wget https://www.mathworks.com/mpm/glnxa64/mpm
chmod +x mpm
Code language: Bash (bash)
MATLAB と Toolbox のインストール
いよいよ MATLAB のインストールです。先ほどの MPM コマンドを使って、バージョン、インストールディレクトリ、製品を記載します。
例えば MATLAB の R2022a だけ /app/matlab ディレクトリにインストールする場合は
mpm install --release=R2022a --destination=/app/matlab --products MATLAB
Code language: Bash (bash)
と実行します。バージョンは R2022b で、MATLAB 本体に加えて、Deep Learning Toolbox と Parallel Computing Toolbox をインストールする場合は、
mpm install --release=R2022b --destination=/app/matlab --products MATLAB Deep_Learning_Toolbox Parallel_Computing_Toolbox
Code language: Bash (bash)
のように、products の後に Toolbox をスペース区切りで羅列します。
ここではライセンス情報は不要で、 MATLAB のインストールが実行されます。
X11 の設定
デフォルトでは MATLAB 実行時に サインインの GUI 画面が起動するようになっているため、SSH に X11 で画面転送をする設定を追加します。
sudo dnf install xauth
Code language: Bash (bash)
で xauth をインストールし、次に SSH のコンフィグを変更します。
sudo vi /etc/ssh/sshd_config
Code language: Bash (bash)
「X11Forwarding yes 」と「UseLocalhost yes」に変更します。
変更後に以下のコマンドで SSH デーモンを再起動します。
sudo systemctl restart sshd
Code language: Bash (bash)
そしてクライアントPCから SSH の再接続をおこなうと X11 の転送が反映されます。
ライブラリの追加インストール
上記だけでは MATLAB を起動しようとすると libgtk-x11-2.0.so.0 ファイルが足りないなどのエラーが多発するので必要なライブラリをインストールします。
そのときに便利なのは「dnf provides」のコマンド。ファイルが見つからないときにどのライブラリを入れれば良いのかが分かります。例えば「libgtk-x11-2.0.so.0」を探すには
sudo dnf provides '*/libgdk-x11-2.0.so.0'
Code language: Bash (bash)
と実行すると、
Last metadata expiration check: 0:14:56 ago on Fri 27 Jan 2023 04:51:34 AM UTC.
gtk2-2.24.32-5.el8.i686 : GTK+ graphical user interface library
Repo : appstream
Matched from:
Filename : /usr/lib/libgdk-x11-2.0.so.0
gtk2-2.24.32-5.el8.x86_64 : GTK+ graphical user interface library
Repo : appstream
Matched from:
Filename : /usr/lib64/libgdk-x11-2.0.so.0
Code language: Bash (bash)
というリターンが返ってくるので、64 ビットのマシンなので「gtk2-2.24.32-5.el8.x86_64」をインストールすれば良いんだなというのが分かります。
とりあえず MATLAB が起動できるまでに必要なライブラリは以下のとおりです。
sudo dnf install gtk2-2.24.32-5.el8.x86_64 nss-3.79.0-10.el8_6.x86_64 at-spi2-atk-2.26.2-1.el8.x86_64 libdrm-2.4.111-1.el8.x86_64 mesa-libgbm-22.1.5-2.el8.x86_64 alsa-lib-1.2.7.2-1.el8.x86_64 libglvnd-glx-1:1.3.4-1.el8.x86_64 libXdmcp-1.1.3-1.el8.x86_64
Code language: Bash (bash)
MATLAB の起動
それでは MATLAB を起動してみます。MPM でのインストール時に「/app/matlab/」をインストールディレクトリにしたので、
/app/matlab/bin/matlab
を実行します。すると、サインインの画面が出てきますので、MathWorks アカウントのメールアドレスとパスワードを入力します。
ライセンス認証が通れば、MATLAB デスクトップが起動されます。AlmaLinux でまだ日本語パックを入れていないので英語の GUI になっています。
以上、AWS クラウドの AlmaLinux のEC2 インスタンスに MATLAB 環境を構築する手順をご紹介しました。コツさえ分かってしまえばそこまで難しくないはずです。
関連記事
No responses yet