先日購入したARM版のChromebookでは、Crostiniという名のLinux環境 (LXCでの提供) が使えるようになっていた。Googleでは単に「Linux(ベータ版)」と言っている。これが予想を超えて面白く、かつ有用な機能だと気づいた。
Chromebookは比較的安価なパソコンだが、これを購入することで、数年先までの自動更新が保証された盤石のブラウザ環境+クラウド環境に加えて、Crostiniが使える機種ならば、ハードウェアとの相性を気にしなくて良いLinux環境も手に入る。そのLinux環境は、標準機能で簡単に、まるごとGoogle Driveなどへバックアップしてレストアもできる。
個人的にはこの気軽さは、「モバイルLinux」として最高だと思った。想像するに、Chromebookを用いる学校などでのICT教育で、Linux環境としてこのCrostiniを用いることが想定されているのかもしれない。
Chromebook Acer 11.6型 ノートパソコン Spin 311 MediaTek M8183C 4GBメモリ 32GB eMMC 360°ヒンジ 英語キーボード タッチパネル搭載 CP311-3H-A14N/E
日本エイサー
【Amazon.co.jp 限定】 Chromebook Acer 11.6型 ノートパソコン Spin 311 MediaTek M8183C 4GBメモリ 64GB eMMC 360°ヒンジ 日本語キーボード タッチパネル搭載 CP311-3H-A14P
日本エイサー
私はCrostiniでの環境構築を徐々に進めていて、エディタのVisual Studio Code、日本語入力のfcitx-mozcなどをまず導入した。次に、静的サイトジェネレータであるHugoを導入しようと試みたら、aptで導入されるHugoはバージョンがえらく古かった。ならばここはbrew
、すなわち、macOSでも使っているパッケージ管理システムのHomebrewに登場願おう。
次のようなChromebookのCrostini環境にて、
項目 | 内容 |
---|---|
機種 | Acer Chromebook Spin 311 (CP311-3H-A14N/E) |
CPU | MediaTek M8183C (aarch64) |
Chrome OS | 86.0.4240.77 (Official Build) (32ビット) |
Homebrew公式サイトの「Install Homebrew」手順を実行したところ、2020-10-17時点だと、次のような「aarch64用のRuby 2.6.3_2が見つからない」エラーで失敗してしまう。あくまで勘だがこの原因は、releases/tag/2.6.3_2に、aarch64用のアーカイブが置かれていないからかもしれない。
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
(中略)
Error: No Homebrew ruby 2.6.3_2 available for aarch64 processors!
Error: Failed to install Homebrew Portable Ruby and cannot find another Ruby 2.6.3!
If there's no Homebrew Portable Ruby available for your processor:
- install Ruby 2.6.3 with your system package manager (or rbenv/ruby-build)
- make it first in your PATH
- try again
Failed during: /home/linuxbrew/.linuxbrew/bin/brew update --force
そこで、手順を次のようにひと工夫してみたところ、ARM版 (aarch64) のChromebookのCrostini環境に、Homebrewが無事導入できたのでご紹介です。
$ mkdir -p ~/.cache/Homebrew
$ cd ~/.cache/Homebrew
$ wget https://github.com/Homebrew/homebrew-portable-ruby/releases/download/2.6.3/portable-ruby-2.6.3.aarch64_linux.bottle.tar.gz
$ sudo mkdir -p /home/linuxbrew/.linuxbrew/Library/Homebrew/vendor
$ cd /home/linuxbrew/.linuxbrew/Library/Homebrew/vendor
$ sudo tar -zxvf ~/.cache/Homebrew/portable-ruby-2.6.3.aarch64_linux.bottle.tar.gz
$ cd portable-ruby
$ sudo ln -sf 2.6.3 current
$ ls -al
$ export PATH=/home/linuxbrew/.linuxbrew/Library/Homebrew/vendor/portable-ruby/current/bin:$PATH
$ which ruby && ruby -v
/home/linuxbrew/.linuxbrew/Library/Homebrew/vendor/portable-ruby/current/bin/ruby
ruby 2.6.3p62 (2019-04-16 revision 67580) [aarch64-linux]
ここでは、公式手順にあるPATH「~/.linuxbrew
」を「/home/linuxbrew/.linuxbrew
」に置き換えている。
$ cd /home/linuxbrew/.linuxbrew/
$ sudo git clone https://github.com/Homebrew/brew /home/linuxbrew/.linuxbrew/Homebrew
$ sudo mkdir /home/linuxbrew/.linuxbrew/bin
$ sudo ln -s /home/linuxbrew/.linuxbrew/Homebrew/bin/brew /home/linuxbrew/.linuxbrew/bin
$ eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
$ cd
$ which brew && brew -v
/home/linuxbrew/.linuxbrew/bin/brew
Homebrew 2.5.6-67-gaa97179
Homebrew/linuxbrew-core N/A
$ sudo chown -R $(whoami) /home/linuxbrew/.linuxbrew/
$ brew update --force
(中略)
Already up-to-date.
$ brew doctor
(※必要な対応を行う)
$ brew doctor
(特になにも言われなくなる)
brew doctor
実行時に、You should create these directories and change their ownership to your account.
など言われたらその対応を実施Homebrewの導入は以上です。
さて。やっとここまで来たので念願のbrew install hugo
をしてみたところ、今度は、Hugoの動作に必要なGoの導入時に、Error: Your CPU architecture (arm64) is not supported.
というエラーが出ている。頭を抱える状態です……。【完】