再現環境
Version 89.0.4389.82 (Official Build) (64-bit)
でも、Linux コンテナに大きめの更新があった場合には、今後も再発しそうな気がする…。
症状
ChromeOS の更新に伴い、Terminal アプリ起動時に Linux コンテナのアップグレードが走る。
[=======/ ]
おなじみのプログレスバーが動いたあと
[=======/ ] Starting the Linux container Error starting penguin container: 58
Launching vmshell failed: Error starting crostini for terminal: 58
などいうエラーで失敗する。
解決手順
まず、alt
+ ctrl
+ t
で Crosh を開く。
続いて、termina に入る。
crosh> vmc start termina
(termina) chronos@localhost ~ $
(termina) chronos@localhost ~ $ lxc list
+------------------------+---------+------+------+------------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+------------------------+---------+------+------+------------+-----------+
| penguin | STOPPED | | | PERSISTENT | 0 |
+------------------------+---------+------+------+------------+-----------+
| penguin-crostini-remap | STOPPED | | | PERSISTENT | 0 |
+------------------------+---------+------+------+------------+-----------+
通常は存在しない remap というコンテナが存在している。筆者もよく解っていないのだが、コンテナを移行する際に古いコンテナからファイルシステムの同期を取るための措置らしい。
ここで、penguin コンテナを起動する。
(termina) chronos@localhost ~ $ lxc start penguin
lxc からは「remap やってるよー」的なメッセージが出るので、ひたすら待つ。
Remapping container filesystem
途中不安になって ctrl-c
を押すと
This operation can't be cancelled (interrupt two more times to force)
など「これは止めてはいけないやつだ」と強く不安を煽るメッセージが出るので、押さないほうが良い。
手元環境では1時間以上かかったが、なんの追加のメッセージもなく、コマンドプロンプトへ帰ってくる。
コンテナの状況を見る。
(termina) chronos@localhost ~ $ lxc list
+---------+---------+-----------------------+----------------------------------------------+------------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+---------+---------+-----------------------+----------------------------------------------+------------+-----------+
| penguin | RUNNING | 172.17.0.1 (docker0) | 2001:268:c105:412a:216:3eff:fe10:39a2 (eth0) | PERSISTENT | 0 |
| | | 100.115.92.206 (eth0) | | | |
+---------+---------+-----------------------+----------------------------------------------+------------+-----------+
RUNNING
となったので、remap 処理は終わったのだろう。
Crosh での作業は、ここまで。
Terminal を立ち上げる。
無事にコマンドプロンプトが表示されるのを確認して ls
なりなんなり叩く。
推察
たぶん remap をしようとしてタイムアウトした結果が 58 エラーなのだろうという気がする。手元環境は Docker イメージがゴロゴロしていたり、超弩級サイズの Git リポジトリがあったりするので。