msys2, bash, minGW, pacmanって何だろう
目標
msys2, bash, minGW, pacmanが何か知る。
動機
『Linux Likeな環境にしたいなー(格好良いし)』というただの憧れから始り、調べたところmsys2やpacmanなどわからない単語が次々と押し寄せ呑まれそうになったため。
一つ一つ調べていけば怖くないということは知っている。
課題
msys2, bash, minGW, pacmanが何なのか知り、それらの関係をまとめる。
実施
- Windows 7 Home Premium 64bit
作業
参考にしたサイトは以下。大変勉強になりました。
- Windowsで使えるターミナルとシェルのまとめ - Qiita
- MSYS2で快適なターミナル生活 - Qiita
- ツールチェーン - Wikipedia
- インタプリタ - Wikipedia
- pacman - ArchWiki
- Linuxキーワード - パッケージ:ITpro
一つ目のQiita記事がとてもやさしく書かれているため、私でも逃げずにすみました。
msys2, bash, minGW
上記記事での説明を参考にさせていただくと、msys2が外側(見た目)でbashが内側(処理)、minGWがプログラミングツール群(コンパイラとかデバッガとか。これをツールチェーンというみたい)とのこと。
イメージではmsys2がテレビ画面、bashがリモコン、minGWがオレオレリモコン作成ツール。
minGWはツールチェインなんだけど、GNUが作成したツールチェイン*1なのでGNUツールチェインというようだ。
pacman
『パッケージ管理システム』というものでその名のとおり"パッケージ"というものを管理するシステム。そもそもはarch Linuxのシステムとのこと。
パッケージとは"アプリケーションを動作させるために必要なファイル群(プログラムやライブラリ、設定ファイルなどなど)をまとめた形式のファイル"のことをいう。 ざっくり大雑把にイメージ化すると便利アプリだろうか。
そして、パッケージ管理システムpacmanが具体的にどんな管理をしてくれるかというと、パッケージのインストール・アップグレード・削除などをしてくれるようだ。ほかにもたくさんのことをしてくれるようだけれど、今はまだわかっていない。
ちなみにpacman自体もパッケージだった。archLinuxのパッケージ検索すると出てくる(Arch Linux JP Project - パッケージ検索)。
pacmanについてはいくつかコマンドについても調べたので後ほど記録したい。
感想
「msys2とかいうのがあればLinuxライクになるんでしょ? え、bash? たしかコマンド群だよね? うん? minGW?? え、え、minGWってなに? msys2っていうのだけじゃだめなの??? msys2とbashとminGWって何が何なの・・・・・・?」っていう状態から脱出できたのは少し自信がついた。
pacmanも便利機能を使えるようにするアプリケーションを一元管理してくれるもののようで、便利そうだ。
Rのパッケージも管理してもらえて常に最新に保てたなら便利そうだものね(なんだかありそう:CRAN - Package pacman)。