jippiniusの自然科学研究

ジッピニウスの自然科学や技術関連についての備忘録です。

VAIOをUbuntu boxにする:USB起動ファイルからの起動

 

VAIOのBIOSをいじり、USBからの起動を可能にした。どうも、最近の世の中ではUbuntuを使う人が多いらしいので、今回はUbuntuを選ぶことにした。いままでFedoraばかりを使ってきたので、このdistributionは初めての経験である。

ubuntuのisoファイルのダウンロード

まずはUbuntuのサイトからinstall用のイメージファイルのダウンロードである。日本のボランティアが運営するサイトがあるので、まずはそこに行ってみた。ダウンロードのリンクをクリックし、jp.ubuntu.comを選ぶ。そこで、Ubuntu Desktop 20.04.1 LTSをダウンロードする。こちらの方が「安定版」(long-term support =LTS)であり、右の”Desktop 20.10"ほうが「最新版」である。(エラーを恐れず、最新の機能を試したい人は右だろうが、我輩はとにかくVAIOLinux boxにするのが最大の目的であり、、エラーはできるだけ出て欲しくないので安定版を選ぶことにした。)

ファイルの大きさは2.5GBほどである。WiFiだと「24時間かかる」と出たので、久しぶりにEthercableを用意してルーターに直接接続する。途中何度も断線したが、2時間ほどでダウンロードが終わる。

ファイルの名前が"ubuntu-20.04.1-desktop-amd64.iso"となっていたので、一瞬ドキッとしたのだが、このファイルでよかったようである。(書き込んでブートしたらちゃんと作動した。)

Universal USB Installerのダウンロードと起動

次に、このイメージファイルをUSBメディアに書き込む必要がある。Windows10から行う場合は、フリーウェアのUniversal-USB-Installerというのが有名らしい。我輩も、それに習う。こちらのインストールはWiFiで5秒ほどである。Powershellをわざわざ立ち上げてそこから起動する。確認メッセージがいくつか出てくるが、はい、と答えると、設定モードのウィンドウが現れた。

f:id:jippinius:20201121214144p:plain

Universal-USB-Installer

まずは「Ubuntu」(一番上の選択肢)を選ぶ。次に、書き込むイメージファイル(今さっきダウンロードしたばかりの)のファイル名"ubuntu-20.04.1-desktop-amd64.iso"を書く。最後にUSBメモリがマウントしてあるドライブ名を指定する。[ 実は、Ubuntuのお試しインストールのためには2つのUSBメモリが必要だというので、事前にDOSでフォーマットしておく(quick formatのFAT32でよい)。]  VAIOの場合、差し込むとd:ドライブに設定されるから、最後のセクションのドライブ名では「d:」と指定する。これらを全て指定したら"create"である。(これ以外の余計なオプションには触らないのが安全である、と多くの指南書に書いてある。)

USB上のGrubの起動とubuntuの起動

数分で書き込みが終わったら、リブートする。USBを読み込みに行き、GRUB(Linuxのブートセレクター)が立ち上がる。一番上の「Ubuntu」を選択すると、Ubuntuカーネルからマシンが起動する!

f:id:jippinius:20201121214721j:plain

Ubuntu on VAIOの起動画面

VAIOの起動画面に"ubuntu"が加わった!しばらく待つと、install画面が現れる。この段階で喜んで"Try Ubuntu"を押してしまうと後で困ることになる。Ubuntuはちゃんと立ち上がるのだが、キーボードからの入力がまったくできない状態となる。幸いにもマウスは利用できるので、操作自体はできる。しかし、terminalを開いても、コマンドが打ち込めない、Firefoxを立ち上げても検索ができない、viを起動しても何も書き込めない...という状況になる。

f:id:jippinius:20201121222303j:plain

ubuntu起動

そうならないようにするには、この起動画面で「日本語」を選ぶ必要がある。左の言語リストの一番下に「日本語」があるので、それを選択するのである。日本語を選択すると、全体のロケールが日本に変わり、表示が日本語になる。それだけでなく、この後「Ubuntuを試す」を選んで、Linuxを起動した後もちゃんとキーボード入力を受け付けてくれるのである。したがって、ここはとても重要なプロセスである。

f:id:jippinius:20201121222726j:plain

日本語を選択した後のinstall画面

日本語を選択し、「ubuntuを試す」を選択すると、USB上に収められたubuntuシステムが起動する!

f:id:jippinius:20201121223024j:plain

Ubuntuの起動画面

Postscriptのお手本だった「虎」の画像を彷彿させる背景である。

このubuntuはあくまで「お試し版」であるが、Linuxとして最低限の仕事はすでにできそうである。$HOMEは/home/ubuntuに設定され、ファイルを作成することは可能であるし、新しいソフトウェアをインストールすることもできる!

したがって、USBメモリの寿命の範囲内で、このシステムは実に見事に作動するのである。

最初の設定

ただし、最初にやっておく設定がある。ネットワークの設定である。設定画面は、画面左下のマトリクス状のアイコンをクリックする。macOSのLaunchpad風の管理画面が現れる。二ページ目にsettingsというのがあるので、それをクリックする。

f:id:jippinius:20201121223549j:plain

設定画面を呼び出す

WiFiあるいはNetworkのセクションで設定を行い、ネットワークに接続する。これで種々の設定が可能となる。

キーボード/日本語の設定

キーバインドが「EN(US)」になっているので、これをjaに変える作業をしよう。べつにやらなくてもいいやと思ったのだが、このままだと日本語文書の作成ができない。言語の設定をするとiBusというIMEが立ち上がり、そこでmozcというIMEを選択することができるようになる。

まずは、settingsのRegion& Languageのセクションに入る。ここでInput sourcesにおいて「+」を押す。”Japanese”と”日本語(Mozc)”を加える。前者は日本語キーボードの基本設定ファイルのようである。後者は「完全な日本語キーボード」の基本設定ファイルのようである。後者を選ぶと、日本語キーボードの日本語選択キーの全てが使えるようになり、日本語入力が可能になる。一方で"Japanese"の方は、日本語キーボード配列のまま、英語を入力するモードに相当する。プログラミングや英語の論文を書くときは、こちらのモードにするとよい。

くわえて、「Manage  Installed Languages」をクリックし、日本語関連のファイルをインストールしておこう。「言語サポート」という名前である。「言語のインストールと削除」を選び、一番下に日本語をチェックすると、自動的にダウンロードし、インストールしてくれる。

これで随分快適になったはずだ。

firefoxを立ち上げ、日本語で検索してみよう。macOSでいうところの「メニューバー」の右側部分に”en"というアイコンが出ていたら、それを"ja"に変えると、日本語キーボードの配列を読み取ってくれる。さらに、日本語(Mozc)にすると、漢字まで打てるようになる。Mozcを選び、ローマ字キーを押すか、「メニューバー」の入力モードを使って日本語を選択すると、日本語による検索が可能であることを確認できるだろう。

emacs, gcc, gfortran, ruby, jdkのインストール

Linux editorの定番emacsをインストールしてみた。このページを参考にしてemacs27をインストールした。

sudo add-apt-repository ppa:kelleyk/emacs
sudo apt update
sudo apt install emacs27
 
漢字は、mozcでも入力できるが、ctrl+\でも日本語入力モードになる。ただ、この辞書は「バカ」。spellチェックがうまくいかないので、現在調査中。
 
gccとgfortranは簡単にインストールできる。
sudo apt install gcc
sudo apt install gfortran
 
perlはインストールされているが、rubyはインストールされてない。 「ruby」と打つと、「みつからない」というエラーメッセージとともに、aptの候補を教えてくれる。"sudo apt install ruby"でやってみて、という感じである。言われた通りにするとあっという間にインストールが終わった。
同様にjavaと打つと、
sudo apt install openjdk-11-jre-headless or sudo apt install default-jre
とやってみろ、と出る。上の方で試してみると、javaはインストールされた。こんどは、javacとやると「ありません」と出たので下の方を試してみると、うまくいった。
 

ブラウザ(firefoxGoogle Chrome)のインストール

firefoxはデフォルトで入っているが、最新版にするには sudo apt install firefox とやる。

一方で、Google Chromeは、Chromeのホームページにいって、Linux用のファイルをダウンロードする。Ubuntuの場合にはdebファイル(google-chrome-stalbe_current_amd64.deb)をダウンロードする。ローカルに落としてから、

sudo apt install -y ./google-chrome-stable......deb

とやるとインストールできる。起動コマンドはgoogle-chromeである。

 

gnuplotのインストール

gnuplotのインストールは手間取った。まずaptでやってみたが、対応しているリポジトリが存在していないというエラーメッセージが出るばかりである。

ではChromeのようにdebファイルをダウンロードし、ローカルファイルからインストールしてみようと思ったのだが、debファイルも存在していなかった。

しらべてみると、sourceforgegnuplotの開発サイトがあり、そこでtar.gzをダウンロードし、昔ながらのconfigure, make, make installをやることにした(githubじゃなく、sourceforgeであるあたりが、郷愁を誘う)。

単純なconfigureは失敗するので、エラーメッセージを解読して、configure --disable-dependency-trackingとするとうまくいく。makeは問題なく進み、sudo make installで、/usr/local/bin/gnuplotにインストールされた。x11がデフォルトのターミナルだ。

qtにするにはもう一工夫必要なのだろうが、x11でまずは十分である。

Ubuntuに入れたgnuplotはversion 5.4にもかかわらず、随分性能が違う。まずjpeg, png, qtなどが選べない(追記:下のImageMagickのインストールの分析で判明したのだが、お試し版では画像関連のライブラリが組み込まれてないので、jpegpngの処理ができないのだ; ubuntu完全版をインストールすると使えるはずである)。svgを選んでなんとか切り抜けたが、svgをconvertしようとしたら、今度はImagemagickのインストールでつまづいた。

Imagemagickのインストール

Imagemagickは、RedHat系なので、rpmパッケージしか公開していない...magickというバイナリーファイルを利用してみたが、フォントの変換のところでエラーが出て先に進めない。諦めかけたところに、githubを利用したインストール方法を紹介しているページ を見つけた。

まず、

sudo apt install git

でgitをインストールする。次に、

git clone https://github.com/ImageMagick/ImageMagick

cd ImageMagick

とする。このディレクトリでconfigure, make, make installするのだ!

うまくいかないときは、configure --without-perlとやると良いらしい。

このやり方で見事にインストール成功!...と思ったら、実際にこのコマンドを利用する際にエラーが出てしまうことが判明。

最初は、"convert: error while loading shared libraries: libMagickCore-7.Q16HDRI.so.8: cannot open shared object file: No such file or directory"というメッセージが出て止まる症状である。makeしてできたファイルの中に、この共有ライブラリがないか確認すると、MagicCoreの中に生成されている。make installでちゃんとシステムに組み込まれているはずだから、どこにこのファイルが移された確認する。すると、/usr/local/libに入っていることがわかった。このエラーは, このlibディレクトリがLinuxに登録されていないのが原因であるとわかった。昔よく遭遇したエラーだ。ld....なんとかというコマンドで解決することはわかっているのだが、そのコマンド名が出てこない。色々試して、sudo ldconfigであることが判明。これを実行するとのこのエラーは消えた。

さあ、これで使えるぞ!と再度挑戦すると、今度は"convert: no images defined 'sample.jpg' @ error/convert.c/ConvertImageCommand/3285."と出て止まる。これはエラーメッセージではない。jpgが定義されてない、という感じの意味である。

少し調べると、原因が判明した。画像を扱うライブラリが組み込まれてないのである。これを確認するには、convert --versionとやったときに表示される「Delegates (built-in)」の項目を見ればよいのだ。確認すると":x"となっている。つまりx86関連の画像以外は何も定義されてない、という意味である。

macOSでこの間インストールに成功したImageMagickで同じコマンドを打ってみると、"Delegates (built-in): bzlib freetype jng jpeg ltdl lzma png tiff xml zlib"とたくさんの画像が定義されていることがわかる。

色々原因を調べて到達したのが、このubuntuはお試し版なので、画像処理をするための様々なライブラリがシステムにまだ組み込まれていないから、という結論である。つまり、もともとubuntuはセキュリティー重視のdistributionなので、危なっかしいライブラリはシステムに組み込まれていないのだ。どうしてもやりたいときは、自分でインストールする必要があるのだが、dependencyをチェックしてくれるレポジトリがrpm形式のみしかないので、(昔のように)それをマニュアルでやらねばならない。

必要なファイルは、configureのときに吐き出されたファイルを確認するとわかる。例えば、libjpegがnoとなっているし、bzlibもない。(このチェックをするときは、convert -list configureというコマンドも役立つ。)

bzlibはbzip関連のライブラリで、圧縮解凍を扱うコマンド群だ。ImageMagickのconfigureをみると、bzlib.hがない、というメッセージが出ていたので、調べると/usr/include/bzlib.hが確かにない。そこで、apt install libbz2-devを走らせ、bzlib.hなどをインストールする。この上で、ImageMagickのconfigureを再度走らせると、今度はBZLIB関係がすべて"yes"に変わった!make;make  installして、convert --versionとすると「Delegates (built-in): bzlib x」に変わった。bzipとX関係の画像はこれでいじれるということだ。

やはり予想通りである。jpg,pngなどを処理するためには、このように一つ一つライブラリを組み込んでいく必要があるのだ. 今回は「お試し版」だから、これ以上一生懸命やる必要はあるまい。やり方がわかれば、いつでも対処できる。”I know Kang-Fu”である。

お試し版Ubuntuはこのくらいにして、次のステップに入ってみたいと思う。USBに完全なubuntu distributionをインストールするのだ。gimppLaTeXなども、これでインストールできるはずである。

 やっぱりLinuxLinux

ubuntuGUImacOSに影響されているのはよくわかる。デザインもなかなかだし、使い勝手も良い。が、やはり細かいところをいじりだすと、Linuxの顔が少しずつ見えてくる。面倒だが、自由である。足りなければ、入れてしまえば良い。わからないことは、調べればわかる。これがLinuxの原点である!ふたたび、自由の世界に帰ってきた気分である。とても満足である。次は、USBにフルインストールしてみよう。

画面左上の「Ubuntu 20.04.1 LTSのインストール」というアイコンをクリックすれば、「向こう側の世界」へいけるのである。