LoginSignup
8
7

More than 5 years have passed since last update.

StableモードのLinuxで開発はキツかった話

Last updated at Posted at 2018-11-17

普通はdeveloper modeでやる開発環境の構築をstable modeでやって失敗した話です。

まえがき

本記事は失敗事例を取り扱った記事です。
こうしたら間違いなく失敗する、というものなので反面教師にしてください。
真似をしたら詰むものが多いです(ローカルが汚染される)。
詰んだ時はLinuxを再インストールしましょう!

今回の開発環境構築に取り組むにあたって分かったのですが、Chromebook内のLinuxはコンテナになっているらしいため、ポカしてローカル環境を汚染してもすぐにやり直すことができます。
所要時間は10分くらいです。

あと、StableモードでLinuxを動作させる場合は、ガンガンsudoコマンド付けても大丈夫です。
できることが非常に限定的な上にChromebookのセキュリティ機構が有効だからです。
パーミッションや権限云々を考えるのも面倒なので全コマンドにsudo付けちゃえばいいと思います。

本記事に至るきっかけ

2018年5月、ChromebookはLinuxアプリに対応しました。
これを知ったのは同年9月頃のことです。

その頃、私は学生としてプログラミングをしておりました。
その中で、Pythonでの開発をChromebookでいつでも・どこでも・時間を気にせずに開発したいと思ったことがきっかけとなり、Chromebookで開発環境を構築しようと決意しました。

参考:
Chromebook are ready for your next coding project

目標

Chromebookに次のソフトをインストールし、仮想開発環境を構築する。

  • virtualbox
  • vagrant
  • docker
  • sublime text
  • python3.7.1

私のやったこと

いくつかあるのでリストアップします。

1. 自分のマシンスペックを調べる
2. Chromebook内のLinux環境を調べる
3. よく使われるコマンドをインストールする
4. vagrant を入れようと試みる
5. VirtualBox を入れようと試みる
6. VMware を入れようと試みる
7. docker を入れようと試みる
8. sublime-text を入れようと試みる
9. atom を入れようと試みる
10. python 最新版をインストールする
11. Anaconda を入れようと試みる

自分のマシンスペックを調べる

購入先の店やサイト、価格comなどから色々調べましょう。
コマンド打たないので、当然ですが上手くいきます。

表題 内容
製品名 Chromebook Flip C213NA-N3350
CPU Celeron Dual-Core N3350(Apollo Lake)
プロセッサ 1.1GHz
メモリ 4GB
ストレージ eMMC 32GB
OS Chrome OS

※ストレージはChrome OS によって8GBほど使われています。
※Chrome OSのバージョンは69でした。

参考:
価格.com

Chromebook内のLinux環境を調べる

ディストリビューションを調べる

$ sudo cat /etc/issue
-> Debian GNU/Linux 9 \n \l

カーネルを調べる

$ uname -a
-> Linux penguin 4.14.67-07156-gc116f2c8c400 #1 SMP PREEMPT Sun Sep 9 14:28:13 PDT 2018 x86_64 GNU/Linux

カーネルがChromeOS独自のものっぽいです。
もう嫌な予感がする。
とりあえず上手くいきました。

参考:
Linuxの各種スペック確認
Linux bit数確認

よく使われるコマンドをインストールする

curlだけじゃ厳しかったので。

$ sudo apt update
$ sudo apt install software-properties-common wget make

makeコマンドは何かと入り用になるので入れました。
上手くいきました。

参考:
Ubuntu Linuxで、add-apt-repositoryしようとして「コマンドがない」って言われたら
wgetのインストール

vagrantを入れようと試みる

失敗しました(VirtualBoxやVMwareが動作しなかったため)。
この記事を見てやってみよう、という気持ちになったのですが、使うマシンが悪かったようです。
後述のVirtualBoxやVMwareがなければvagrantは動作しません。
両方とも動作しなかったのでvagrantの導入は断念いたしました。

VirtualBoxを入れようと試みる

ほぼ失敗しました。
アプリの起動まではできましたが、仮想環境は一切立ち上がりませんでした。
プロセッサの力不足+stable modeであったことが原因と考えられます。

VirtualBoxをインストールするためにはVirtualBox公式サイトを参考に、ファイルを編集する必要があります。
今回はVirtualBox 5.2をインストールします

$ cd /etc/apt
$ sudo vim sources.list

sources.listはsudo apt updateのときに参照されます。
次のようにソースを追記してください。

sources.list
# 最初から記述されています
deb http://deb.debian.org/debian stretch main
deb http://security.debian.org/debian-security stretch/updates main
# 以下のソースを追記
deb https://download.virtualbox.org/virtualbox/debian stretch contrib

この直後にsudo apt updateやsudo apt-key(以下略)をしようとするとエラーが出ることがあります。
原因はgnupg,gnupg1,gnupg2がないこと、対象リポジトリの公開鍵を信用していないことです。
そのため、次のように入力することで解決できます。

$ sudo apt install gnupg gnupg1 gnupg2
$ sudo apt update
$ wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
$ wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
$ sudo apt update
$ sudo apt install virtualbox-5.2

これでインストールは成功しますし、起動もします。
ただし、コマンドから動作を確認すると…

$ sudo VBoxManage --version
-> libkmod: ERROR ../libkmod/libkmod-module.c:1655 kmod_module_new_from_loaded: could not open /proc/modules: No such file or directory Error: could not get list of modules: No such file or directory WARNING: The vboxdrv kernel module is not loaded. Either there is no module available for the current kernel (4.14.67-07156-gc116f2c8c400) or it failed to load. Please recompile the kernel module and install it by sudo /sbin/vboxconfig You will not be able to start VMs until this problem is fixed. 5.2.20r125813

The vboxdrv kernel module is not loadedとあるので、Linuxカーネルが対応していない的なことを言われています。
詰んだかもしれない。

諦めて代替案を探すと、どうやらVirtualBoxよりもVMwareの方がChromebookと相性が良さそうです。
次はVMwareにTRY!!

参考:
Linux: apt-get時のGPG error(NO_PUBKEY)の解決例
vagrant up エラー
VMwareとGoogleがパートナーとしてChrome OSの管理をWorkspace Oneに導入…アプリケーション環境の完全統一化を目指す
VMwareニュースリリース

VMwareを入れようと試みる

VMware公式サイトからVMwareをダウンロードしましょう。
Chromebookの設定→詳細設定→ダウンロード→保存先の横にある変更ボタン→

結論

  • Chromebookを使ってローカル環境上で開発するならPixelbookを買おう!もしくはクラウド上で開発する。
  • そもそもプログラミングは開発者モードですべきです!StableモードはLinux上のDaemonが封じられたり色々と不便です。
  • 今後のChrome OSアップデートに期待。
  • ChromebookやChromeOSに関する文献は日本ではまだ少ないです。Google翻訳使って海外の文献を読みましょう。

参考:
TECH::NOTE(おすすめLinuxアプリまとめ)

更新履歴

2018/12/07
「よく使われるコマンドをインストールする」を追記しました。
2018/12/05
「Chromebook内のLinux環境を調べる」を追記しました。結論直しました。
2018/12/04
本文にsudoコマンド云々の話を追記しました。全文の表現を直しました。
2018/11/25
自分のマシンスペックについて記述しました。全文の表現を少し直しました。
2018/11/17
書き始めました。

8
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
7