グローバルナビゲーションへ

本文へ

フッターへ

お役立ち情報Blog



Windowsで至高のターミナル生活を求めて(MSYS2編)

当社では普段の開発環境にLinuxを用いており主にWindows PCからSSHで接続して作業をすることが多いですが、vagrantやdocker、npmなどの普及によりローカルでの作業も増えてきました。WindowsにはTeraTermやPuttyなどの有名なSSHクライアントがありますが、ローカルで作業するニーズには合いません。

そこで今回はWindowsでUnixライクな環境を使えるMSYS2をご紹介したいと思います。

MSYS2とは

MSYS2 is a software distro and building platform for Windows

At its core, it is an independent rewrite of MSYS, based on modern Cygwin (POSIX compatibility layer) and MinGW-w64 with the aim of better interoperability with native Windows software. It provides a bash shell, Autotools, revision control systems and the like for building native Windows applications using MinGW-w64 toolchains.

It features a package management system, Pacman, to provide easy installation of packages. It brings many powerful features such as dependency resolution and simple complete system upgrades, as well as straight-forward package building.MSYS2 installer

MSYS2は、Windows用のソフトウェアディストリビューションおよび構築プラットフォームです。

コアは、最新のCygwin(POSIX互換性レイヤー)およびMinGW-w64に基づいたMSYSの独立した書き換えであり、ネイティブWindowsソフトウェアとの相互運用性を向上させることを目的としています。MinGW-w64ツールチェーンを使用してネイティブWindowsアプリケーションを構築するためのbashシェル、Autotools、リビジョン管理システムなどを提供します。

パッケージの簡単なインストールを提供するパッケージ管理システム、Pacmanを備えています。依存関係の解決や簡単な完全なシステムアップグレードなどの多くの強力な機能、および簡単なパッケージビルドを提供します。google翻訳結果

Windows上で動くUnixライクな環境、コマンドラインインターフェース(CLI)、及びソフトウェアリポジトリを提供してくれます。

デフォルトではシェル(bash)でターミナルウィンドウ(Mintty)を開く設定になっています。

MSYS2のインストール

MSYS2のホームページからダウンロード可能ですが、インストーラー形式のファイルしか配布されていません。 今回はGitHubのWikiで紹介されているリンクから、tar形式のファイルをダウンロードしてインストールします。

使用しているオペレーティングシステムに合わせて32bitか64bitから選択してください。

2020-02-27時点では64bitのアーカイブ一覧は以下の通りです。

1. MSYS2配布ファイルのダウンロード

執筆時点(2020-02-27)で最新のmsys2-base-x86_64-20190524.tar.xzをダウンロードします。

2. .tar.xz形式ファイルの展開

tarコマンドの場合

$ tar Jxf msys2-base-x86_64-20190524.tar.xz

or

$ xz -dv  msys2-base-x86_64-20190524.tar.xz
$ tar xvf msys2-base-x86_64-20190524.tar

windowsの場合

xz形式のファイルを展開できるソフトを使用して展開してください。

3. MSYS2の起動

ダウンロードしたファイルを展開するとmsys64ディレクトリが作成されます。 ※適宜お好みの場所にフォルダを移動してください。

msys64_shell.cmdファイルを実行します。

インストーラーを使用しない場合は最小のパッケージやツールしか含まれていません。 初回起動時は必ずmsys2_shell.cmd経由で起動するようにしましょう。

After installing or extracting MSYS2 you should start MSYS2 by executing msys2_shell.cmd. (if you did not use an installer and this is first time running of MSYS2 after unpacking, then at this point it will create the files and settings necessary for it to function properly. After this initial run you MUST restart MSYS2 so that the settings are correct)MSYS2 installation

各種インストールが自動で行われた後に下図のように再起動を促されますので再起動します。

以降はmsys64_shell.cmdを実行すればターミナルを起動できます。

pacman

MSYS2の各種パッケージはパッケージ管理システムpacmanを使用します。

pacmanとはArch Linuxの1コンポーネントとして開発されたソフトウェアパッケージ管理システムです。

コマンド
pacman -h ヘルプ表示
pacman -<オプション> -h 指定したオプションのヘルプ表示
pacman -Sy サーバーから最新のパッケージデータベースをダウンロード
pacman -Su インストールしたパッケージのアップグレード
pacman -Syu パッケージのアップグレード  $ pacman -Sy && pacman -Su  を一括で行う
pacman -S 特定のパッケージのインストール
pacman -R あるパッケージを、そのパッケージが必要としていたものを残したまま削除
pacman -Rs 削除したいパッケージと、そのパッケージだけが必要としている他のパッケージを一緒に削除

まずはパッケージを最新の状態にしておきましょう。

$ pacman -Syu

各種コマンドの実行例

opensshパッケージをインストールすることでSSHクライアントとしても使用できます。

$ pacman -S openssh

$ ssh -V
OpenSSH_8.1p1, OpenSSL 1.1.1b  26 Feb 2019

vimを使う事も

$ pacman -S vim

$ vim --help
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Jan 16 2020 08:26:10)
...

gitを使う事も

$ pacman -S git

$ git --version
git version 2.25.1

さらにはtmuxを使うこともできます。

$ pacman -S tmux

$ tmux -V
tmux 3.0a

さいごに

簡単な内容ではありますが、MSYS2のインストールとpacmanコマンドをご紹介しました。

Unixライクな環境がWindowsでも使用できることでリポジトリからdotfilesを使用した環境構築も可能になります。

※画像はイメージです

ターミナルなどの環境構築は一度手を出すと中々戻ってこれない沼な印象がありますね。

既存のSSHクライアントやターミナルに物足りなさを感じている方は一度試してみてはいかがでしょうか?

この記事を書いた人

美髭公
美髭公事業開発部 web application engineer
2013年にアーティスに入社。システムエンジニアとしてアーティスCMSを使用したWebサイトや受託システムの構築・保守に携わる。環境構築が好き。
この記事のカテゴリ

FOLLOW US

最新の情報をお届けします